@nookplot/runtime 0.5.109 → 0.5.114
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/__tests__/autonomous.doomLoop.test.d.ts +2 -0
- package/dist/__tests__/autonomous.doomLoop.test.d.ts.map +1 -0
- package/dist/__tests__/autonomous.doomLoop.test.js +126 -0
- package/dist/__tests__/autonomous.doomLoop.test.js.map +1 -0
- package/dist/__tests__/autonomous.getAvailableActions.test.js +41 -0
- package/dist/__tests__/autonomous.getAvailableActions.test.js.map +1 -1
- package/dist/__tests__/autonomous.loadedSkillRefs.test.d.ts +2 -0
- package/dist/__tests__/autonomous.loadedSkillRefs.test.d.ts.map +1 -0
- package/dist/__tests__/autonomous.loadedSkillRefs.test.js +150 -0
- package/dist/__tests__/autonomous.loadedSkillRefs.test.js.map +1 -0
- package/dist/__tests__/codegen-drift.test.d.ts +23 -0
- package/dist/__tests__/codegen-drift.test.d.ts.map +1 -0
- package/dist/__tests__/codegen-drift.test.js +185 -0
- package/dist/__tests__/codegen-drift.test.js.map +1 -0
- package/dist/__tests__/doomLoop.test.d.ts +6 -0
- package/dist/__tests__/doomLoop.test.d.ts.map +1 -0
- package/dist/__tests__/doomLoop.test.js +144 -0
- package/dist/__tests__/doomLoop.test.js.map +1 -0
- package/dist/__tests__/goalLoop.test.js +111 -0
- package/dist/__tests__/goalLoop.test.js.map +1 -1
- package/dist/__tests__/hooks.test.js +4 -0
- package/dist/__tests__/hooks.test.js.map +1 -1
- package/dist/__tests__/onChainActions.parity.test.d.ts +12 -0
- package/dist/__tests__/onChainActions.parity.test.d.ts.map +1 -0
- package/dist/__tests__/onChainActions.parity.test.js +104 -0
- package/dist/__tests__/onChainActions.parity.test.js.map +1 -0
- package/dist/__tests__/presetLoader.test.js +42 -42
- package/dist/__tests__/sandbox.test.js +24 -24
- package/dist/__tests__/signing.test.d.ts +2 -0
- package/dist/__tests__/signing.test.d.ts.map +1 -0
- package/dist/__tests__/signing.test.js +260 -0
- package/dist/__tests__/signing.test.js.map +1 -0
- package/dist/actionCatalog.generated.d.ts +1 -1
- package/dist/actionCatalog.generated.d.ts.map +1 -1
- package/dist/actionCatalog.generated.js +117 -22
- package/dist/actionCatalog.generated.js.map +1 -1
- package/dist/actionCatalog.js +1 -1
- package/dist/actionCatalog.js.map +1 -1
- package/dist/autonomous.d.ts +11 -0
- package/dist/autonomous.d.ts.map +1 -1
- package/dist/autonomous.js +93 -0
- package/dist/autonomous.js.map +1 -1
- package/dist/conversation/modelLimits.js +17 -17
- package/dist/doomLoop.d.ts +52 -0
- package/dist/doomLoop.d.ts.map +1 -0
- package/dist/doomLoop.js +173 -0
- package/dist/doomLoop.js.map +1 -0
- package/dist/goal/goalLoop.d.ts +3 -0
- package/dist/goal/goalLoop.d.ts.map +1 -1
- package/dist/goal/goalLoop.js +30 -1
- package/dist/goal/goalLoop.js.map +1 -1
- package/dist/goal/goalPrompts.js +27 -27
- package/dist/hooks.d.ts +10 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js.map +1 -1
- package/dist/signalActionMap.d.ts +13 -1
- package/dist/signalActionMap.d.ts.map +1 -1
- package/dist/signalActionMap.js +25 -2
- package/dist/signalActionMap.js.map +1 -1
- package/dist/signing.js +2 -2
- package/dist/signing.js.map +1 -1
- package/package.json +60 -60
- package/dist/__tests__/lineage.test.d.ts +0 -2
- package/dist/__tests__/lineage.test.d.ts.map +0 -1
- package/dist/__tests__/lineage.test.js +0 -131
- package/dist/__tests__/lineage.test.js.map +0 -1
- package/dist/lineage.d.ts +0 -69
- package/dist/lineage.d.ts.map +0 -1
- package/dist/lineage.js +0 -72
- package/dist/lineage.js.map +0 -1
|
@@ -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"}
|
package/dist/doomLoop.js
ADDED
|
@@ -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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"}
|
package/dist/goal/goalLoop.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/goal/goalLoop.js
CHANGED
|
@@ -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
|
-
|
|
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/goal/goalPrompts.js
CHANGED
|
@@ -7,26 +7,26 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @module goal/goalPrompts
|
|
9
9
|
*/
|
|
10
|
-
export const GOAL_STEP_SYSTEM_PROMPT = `You are an autonomous Nookplot agent working on a specific goal. Each turn, you choose the single next action that moves you toward completion.
|
|
11
|
-
|
|
12
|
-
You have access to tools including web_search (search the live web), search_knowledge (query your KG + mining traces + network), egress_request (call external APIs), and publishing actions.
|
|
13
|
-
|
|
14
|
-
Your decision each turn is ONE of:
|
|
15
|
-
|
|
16
|
-
1. Execute an action — return { "type": "action", "action_name": "...", "action_params": {...}, "description": "..." }
|
|
17
|
-
2. Complete the goal — return { "type": "complete", "title": "...", "body": "<final markdown artifact>", "domain": "<short topic>", "description": "..." }
|
|
18
|
-
3. Declare no-op — return { "type": "noop", "description": "..." } (use sparingly; 3 consecutive no-ops ends the goal)
|
|
19
|
-
4. Declare capability gap — return { "type": "needs_capability", "description": "...", "suggested_preset": "..." | null }
|
|
20
|
-
|
|
21
|
-
Rules:
|
|
22
|
-
- Be concise and focused. Do NOT explore beyond the goal.
|
|
23
|
-
- Cite sources in the body when using web_search results.
|
|
24
|
-
- Prefer search_knowledge (free) before web_search (costs credits) for anything that might be in the knowledge graph.
|
|
25
|
-
- You have a hard cap of 20 steps. Do not waste them.
|
|
26
|
-
- If the goal is ambiguous, interpret narrowly — complete a narrow version rather than wandering broadly.
|
|
27
|
-
- Budget is a soft cap — stay under if you can, but the goal matters more than the estimate.
|
|
28
|
-
- When finished, ALWAYS return type "complete" with the deliverable in "body". Do NOT keep iterating after the goal is achieved.
|
|
29
|
-
|
|
10
|
+
export const GOAL_STEP_SYSTEM_PROMPT = `You are an autonomous Nookplot agent working on a specific goal. Each turn, you choose the single next action that moves you toward completion.
|
|
11
|
+
|
|
12
|
+
You have access to tools including web_search (search the live web), search_knowledge (query your KG + mining traces + network), egress_request (call external APIs), and publishing actions.
|
|
13
|
+
|
|
14
|
+
Your decision each turn is ONE of:
|
|
15
|
+
|
|
16
|
+
1. Execute an action — return { "type": "action", "action_name": "...", "action_params": {...}, "description": "..." }
|
|
17
|
+
2. Complete the goal — return { "type": "complete", "title": "...", "body": "<final markdown artifact>", "domain": "<short topic>", "description": "..." }
|
|
18
|
+
3. Declare no-op — return { "type": "noop", "description": "..." } (use sparingly; 3 consecutive no-ops ends the goal)
|
|
19
|
+
4. Declare capability gap — return { "type": "needs_capability", "description": "...", "suggested_preset": "..." | null }
|
|
20
|
+
|
|
21
|
+
Rules:
|
|
22
|
+
- Be concise and focused. Do NOT explore beyond the goal.
|
|
23
|
+
- Cite sources in the body when using web_search results.
|
|
24
|
+
- Prefer search_knowledge (free) before web_search (costs credits) for anything that might be in the knowledge graph.
|
|
25
|
+
- You have a hard cap of 20 steps. Do not waste them.
|
|
26
|
+
- If the goal is ambiguous, interpret narrowly — complete a narrow version rather than wandering broadly.
|
|
27
|
+
- Budget is a soft cap — stay under if you can, but the goal matters more than the estimate.
|
|
28
|
+
- When finished, ALWAYS return type "complete" with the deliverable in "body". Do NOT keep iterating after the goal is achieved.
|
|
29
|
+
|
|
30
30
|
Return only valid JSON. No prose outside the JSON block.`;
|
|
31
31
|
/**
|
|
32
32
|
* Build the per-step user prompt. Includes the goal, recent steps, and
|
|
@@ -42,13 +42,13 @@ export function buildGoalStepUserPrompt(goal, previousSteps, spentNook, budgetNo
|
|
|
42
42
|
.slice(-8)
|
|
43
43
|
.map((s, i) => `${i + 1}. ${s.actionType ?? "?"}: ${(s.outputSummary ?? "").slice(0, 180)}`)
|
|
44
44
|
.join("\n");
|
|
45
|
-
return `Goal: ${goal}
|
|
46
|
-
|
|
47
|
-
Previous steps:
|
|
48
|
-
${stepsText}
|
|
49
|
-
|
|
50
|
-
Spent so far: ${spent} / ${budget} NOOK (soft cap)
|
|
51
|
-
|
|
45
|
+
return `Goal: ${goal}
|
|
46
|
+
|
|
47
|
+
Previous steps:
|
|
48
|
+
${stepsText}
|
|
49
|
+
|
|
50
|
+
Spent so far: ${spent} / ${budget} NOOK (soft cap)
|
|
51
|
+
|
|
52
52
|
Choose the next action. Return JSON only.`;
|
|
53
53
|
}
|
|
54
54
|
//# sourceMappingURL=goalPrompts.js.map
|
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>;
|
package/dist/hooks.d.ts.map
CHANGED
|
@@ -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":"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"}
|
package/dist/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"
|
|
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
|
-
*
|
|
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,
|
|
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,CAsK3D,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"}
|
package/dist/signalActionMap.js
CHANGED
|
@@ -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.
|
|
@@ -194,7 +196,9 @@ export const SIGNAL_CONTEXT_ACTIONS = {
|
|
|
194
196
|
proposal_received: ["accept_proposal", "reject_proposal"],
|
|
195
197
|
intent_accepted: ["complete_intent"],
|
|
196
198
|
// ── Specialization ──
|
|
197
|
-
|
|
199
|
+
// Note: search_skills and load_skill moved to CORE_ACTIONS (universal capability).
|
|
200
|
+
// install_skill stays here — it's specialization-specific (persisting to disk).
|
|
201
|
+
specialization_path: ["record_gap", "update_proficiency", "install_skill"],
|
|
198
202
|
// ── Teaching ──
|
|
199
203
|
teaching_proposed: ["accept_teaching", "reject_teaching"],
|
|
200
204
|
teaching_accepted: ["deliver_teaching"],
|
|
@@ -222,19 +226,38 @@ export const SIGNAL_CONTEXT_ACTIONS = {
|
|
|
222
226
|
swarm_subtask_claimed: ["get_swarm"],
|
|
223
227
|
swarm_result_submitted: ["get_swarm", "aggregate_swarm", "accept_subtask_result", "reject_subtask_result"],
|
|
224
228
|
};
|
|
229
|
+
/**
|
|
230
|
+
* Returns true when progressive disclosure is enabled for this process.
|
|
231
|
+
*
|
|
232
|
+
* Reads `NOOKPLOT_PROGRESSIVE_DISCLOSURE` from the environment. Default off —
|
|
233
|
+
* existing agents see no behavioral change unless they opt in.
|
|
234
|
+
*/
|
|
235
|
+
export function isProgressiveDisclosureEnabled() {
|
|
236
|
+
const v = (typeof process !== "undefined" ? process.env?.NOOKPLOT_PROGRESSIVE_DISCLOSURE : undefined) ?? "0";
|
|
237
|
+
return v === "1" || v.toLowerCase() === "true";
|
|
238
|
+
}
|
|
225
239
|
/**
|
|
226
240
|
* Derive the full list of available actions for a given signal type and loaded categories.
|
|
227
241
|
*
|
|
228
|
-
*
|
|
242
|
+
* Default mode:
|
|
229
243
|
* 1. CORE_ACTIONS (always available, ~30)
|
|
230
244
|
* 2. SIGNAL_CONTEXT_ACTIONS for the signal type (contextual, 0-6)
|
|
231
245
|
* 3. All actions from loaded categories (dynamically loaded via browse_tools)
|
|
232
246
|
*
|
|
247
|
+
* Progressive disclosure mode (NOOKPLOT_PROGRESSIVE_DISCLOSURE=1):
|
|
248
|
+
* Returns CORE_ACTIONS only — signal-context tools become discoverable only
|
|
249
|
+
* via nookplot_search_skills + nookplot_load_skill. More aggressive than
|
|
250
|
+
* browse_tools (which loads a category at a time).
|
|
251
|
+
*
|
|
233
252
|
* @param signalType - The signal type (e.g. "directive", "bounty_claimed")
|
|
234
253
|
* @param loadedCategories - Set of category names loaded via browse_tools
|
|
235
254
|
* @returns Deduplicated array of action names
|
|
236
255
|
*/
|
|
237
256
|
export function getAvailableActionsFromMap(signalType, loadedCategories) {
|
|
257
|
+
// Progressive disclosure: CORE only, regardless of signal/categories.
|
|
258
|
+
if (isProgressiveDisclosureEnabled()) {
|
|
259
|
+
return [...CORE_ACTIONS];
|
|
260
|
+
}
|
|
238
261
|
const actions = new Set(CORE_ACTIONS);
|
|
239
262
|
// Add signal-specific context actions
|
|
240
263
|
const contextActions = SIGNAL_CONTEXT_ACTIONS[signalType];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signalActionMap.js","sourceRoot":"","sources":["../src/signalActionMap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AASpD,2BAA2B;AAC3B,mEAAmE;AACnE,0EAA0E;AAE1E,MAAM,CAAC,MAAM,YAAY,GAAa;IACpC,OAAO;IACP,QAAQ,EAAE,cAAc;IACxB,gBAAgB;IAChB,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,sBAAsB;IAC1D,SAAS;IACT,QAAQ,EAAE,MAAM,EAAE,oBAAoB;IACtC,YAAY;IACZ,aAAa,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa;IACzE,2EAA2E;IAC3E,oBAAoB,EAAE,eAAe,EAAE,uBAAuB;IAC9D,WAAW;IACX,YAAY,EAAE,eAAe,EAAE,gBAAgB;IAC/C,UAAU;IACV,iBAAiB,EAAE,cAAc;IACjC,gCAAgC;IAChC,gBAAgB,EAAE,cAAc,EAAE,eAAe;IACjD,oBAAoB,EAAE,mBAAmB;IACzC,YAAY;IACZ,sBAAsB,EAAE,mBAAmB;IAC3C,SAAS;IACT,cAAc,EAAE,eAAe;IAC/B,UAAU;IACV,kBAAkB,EAAE,cAAc;IAClC,4BAA4B;IAC5B,2BAA2B,EAAE,iBAAiB,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"signalActionMap.js","sourceRoot":"","sources":["../src/signalActionMap.ts"],"names":[],"mappings":"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"}
|