@moxxy/sdk 0.44.0 → 0.45.0
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/agent-account-limit.d.ts +41 -0
- package/dist/agent-account-limit.d.ts.map +1 -0
- package/dist/agent-account-limit.js +64 -0
- package/dist/agent-account-limit.js.map +1 -0
- package/dist/agent-computer-use.d.ts +10 -0
- package/dist/agent-computer-use.d.ts.map +1 -0
- package/dist/agent-computer-use.js +24 -0
- package/dist/agent-computer-use.js.map +1 -0
- package/dist/agent-context-window.d.ts +22 -0
- package/dist/agent-context-window.d.ts.map +1 -0
- package/dist/agent-context-window.js +40 -0
- package/dist/agent-context-window.js.map +1 -0
- package/dist/agent-no-reply.d.ts +11 -0
- package/dist/agent-no-reply.d.ts.map +1 -0
- package/dist/agent-no-reply.js +13 -0
- package/dist/agent-no-reply.js.map +1 -0
- package/dist/agent-step.d.ts +14 -0
- package/dist/agent-step.d.ts.map +1 -0
- package/dist/agent-step.js +26 -0
- package/dist/agent-step.js.map +1 -0
- package/dist/agent-work.d.ts +34 -0
- package/dist/agent-work.d.ts.map +1 -0
- package/dist/agent-work.js +80 -0
- package/dist/agent-work.js.map +1 -0
- package/dist/attachment-payload.d.ts +1 -1
- package/dist/attachment-payload.js +1 -1
- package/dist/auto-approve.d.ts +9 -0
- package/dist/auto-approve.d.ts.map +1 -1
- package/dist/auto-approve.js +18 -0
- package/dist/auto-approve.js.map +1 -1
- package/dist/channel-auth.d.ts +3 -3
- package/dist/channel-auth.d.ts.map +1 -1
- package/dist/channel-auth.js +1 -1
- package/dist/channel.d.ts +1 -1
- package/dist/client-session.d.ts +9 -5
- package/dist/client-session.d.ts.map +1 -1
- package/dist/computer-control.d.ts +11 -11
- package/dist/computer-control.d.ts.map +1 -1
- package/dist/computer-control.js +1 -1
- package/dist/computer-control.js.map +1 -1
- package/dist/conversation-history.d.ts +50 -0
- package/dist/conversation-history.d.ts.map +1 -0
- package/dist/conversation-history.js +227 -0
- package/dist/conversation-history.js.map +1 -0
- package/dist/cron.d.ts +58 -0
- package/dist/cron.d.ts.map +1 -0
- package/dist/cron.js +320 -0
- package/dist/cron.js.map +1 -0
- package/dist/define.d.ts +2 -1
- package/dist/define.d.ts.map +1 -1
- package/dist/define.js +1 -0
- package/dist/define.js.map +1 -1
- package/dist/event-store.d.ts +1 -1
- package/dist/event-store.d.ts.map +1 -1
- package/dist/event-store.js +1 -0
- package/dist/event-store.js.map +1 -1
- package/dist/events.d.ts +17 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/file-diff.d.ts +31 -0
- package/dist/file-diff.d.ts.map +1 -0
- package/dist/file-diff.js +196 -0
- package/dist/file-diff.js.map +1 -0
- package/dist/index.d.ts +22 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -4
- package/dist/index.js.map +1 -1
- package/dist/mode/agent-step-loop.d.ts +13 -0
- package/dist/mode/agent-step-loop.d.ts.map +1 -0
- package/dist/mode/agent-step-loop.js +578 -0
- package/dist/mode/agent-step-loop.js.map +1 -0
- package/dist/mode/checkpoint-gate.d.ts +25 -0
- package/dist/mode/checkpoint-gate.d.ts.map +1 -0
- package/dist/mode/checkpoint-gate.js +150 -0
- package/dist/mode/checkpoint-gate.js.map +1 -0
- package/dist/mode/checkpoint.d.ts +6 -0
- package/dist/mode/checkpoint.d.ts.map +1 -1
- package/dist/mode/collect-stream.d.ts +2 -0
- package/dist/mode/collect-stream.d.ts.map +1 -1
- package/dist/mode/collect-stream.js +1 -1
- package/dist/mode/collect-stream.js.map +1 -1
- package/dist/mode/project-messages.d.ts.map +1 -1
- package/dist/mode/project-messages.js +9 -67
- package/dist/mode/project-messages.js.map +1 -1
- package/dist/mode/react-loop-options.d.ts +113 -0
- package/dist/mode/react-loop-options.d.ts.map +1 -0
- package/dist/mode/react-loop-options.js +2 -0
- package/dist/mode/react-loop-options.js.map +1 -0
- package/dist/mode/react-loop.d.ts +2 -99
- package/dist/mode/react-loop.d.ts.map +1 -1
- package/dist/mode/react-loop.js +7 -145
- package/dist/mode/react-loop.js.map +1 -1
- package/dist/mode.d.ts +19 -7
- package/dist/mode.d.ts.map +1 -1
- package/dist/mode.js +1 -1
- package/dist/mode.js.map +1 -1
- package/dist/npm-registry.d.ts +22 -0
- package/dist/npm-registry.d.ts.map +1 -0
- package/dist/npm-registry.js +54 -0
- package/dist/npm-registry.js.map +1 -0
- package/dist/permission.d.ts +31 -0
- package/dist/permission.d.ts.map +1 -1
- package/dist/process-invocation.d.ts +2 -0
- package/dist/process-invocation.d.ts.map +1 -1
- package/dist/process-invocation.js +2 -2
- package/dist/process-invocation.js.map +1 -1
- package/dist/process-tree.d.ts +9 -0
- package/dist/process-tree.d.ts.map +1 -0
- package/dist/process-tree.js +40 -0
- package/dist/process-tree.js.map +1 -0
- package/dist/provider-login-bridge.js +1 -1
- package/dist/provider-login-bridge.js.map +1 -1
- package/dist/provider.d.ts +408 -0
- package/dist/provider.d.ts.map +1 -1
- package/dist/question-draft.d.ts +19 -0
- package/dist/question-draft.d.ts.map +1 -0
- package/dist/question-draft.js +30 -0
- package/dist/question-draft.js.map +1 -0
- package/dist/question.d.ts +204 -0
- package/dist/question.d.ts.map +1 -0
- package/dist/question.js +141 -0
- package/dist/question.js.map +1 -0
- package/dist/questions.d.ts +7 -0
- package/dist/questions.d.ts.map +1 -0
- package/dist/questions.js +7 -0
- package/dist/questions.js.map +1 -0
- package/dist/resolvers.d.ts +14 -1
- package/dist/resolvers.d.ts.map +1 -1
- package/dist/resolvers.js +33 -21
- package/dist/resolvers.js.map +1 -1
- package/dist/schemas.d.ts +53 -53
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +3 -2
- package/dist/schemas.js.map +1 -1
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +3 -0
- package/dist/server.js.map +1 -1
- package/dist/session-like.d.ts +19 -1
- package/dist/session-like.d.ts.map +1 -1
- package/dist/starting-model.d.ts +12 -0
- package/dist/starting-model.d.ts.map +1 -0
- package/dist/starting-model.js +9 -0
- package/dist/starting-model.js.map +1 -0
- package/dist/tool-dispatch.d.ts.map +1 -1
- package/dist/tool-dispatch.js +10 -4
- package/dist/tool-dispatch.js.map +1 -1
- package/dist/tool-display.d.ts +79 -3
- package/dist/tool-display.d.ts.map +1 -1
- package/dist/tool-display.js +117 -3
- package/dist/tool-display.js.map +1 -1
- package/dist/tool-modes.d.ts +1 -1
- package/dist/tool-modes.d.ts.map +1 -1
- package/dist/tool-modes.js +8 -2
- package/dist/tool-modes.js.map +1 -1
- package/dist/tool-output.d.ts +15 -0
- package/dist/tool-output.d.ts.map +1 -0
- package/dist/tool-output.js +39 -0
- package/dist/tool-output.js.map +1 -0
- package/dist/tool.d.ts +14 -1
- package/dist/tool.d.ts.map +1 -1
- package/dist/tunnel.d.ts +3 -3
- package/dist/tunnel.d.ts.map +1 -1
- package/dist/tunnel.js +2 -2
- package/dist/workflow-approval.d.ts +9 -9
- package/dist/workflow-approval.d.ts.map +1 -1
- package/dist/workflow-approval.js +1 -1
- package/dist/workflow-approval.js.map +1 -1
- package/package.json +33 -5
- package/src/agent-account-limit.test.ts +87 -0
- package/src/agent-account-limit.ts +89 -0
- package/src/agent-computer-use.test.ts +26 -0
- package/src/agent-computer-use.ts +29 -0
- package/src/agent-context-window.ts +51 -0
- package/src/agent-no-reply.ts +16 -0
- package/src/agent-step.ts +26 -0
- package/src/agent-work.ts +102 -0
- package/src/attachment-payload.ts +1 -1
- package/src/auto-approve.test.ts +13 -1
- package/src/auto-approve.ts +19 -0
- package/src/channel-auth.ts +3 -3
- package/src/channel.ts +1 -1
- package/src/client-session.ts +9 -2
- package/src/computer-control.ts +1 -1
- package/src/conversation-history.test.ts +184 -0
- package/src/conversation-history.ts +272 -0
- package/src/cron.test.ts +280 -0
- package/src/cron.ts +355 -0
- package/src/define.test.ts +1 -1
- package/src/define.ts +3 -1
- package/src/event-store.ts +2 -1
- package/src/events.ts +17 -1
- package/src/file-diff.test.ts +103 -0
- package/src/file-diff.ts +208 -0
- package/src/index.ts +121 -1
- package/src/json-file-store.test.ts +1 -1
- package/src/loop-helpers.test.ts +15 -0
- package/src/mode/agent-step-loop.ts +645 -0
- package/src/mode/checkpoint-gate.ts +198 -0
- package/src/mode/checkpoint.ts +6 -0
- package/src/mode/collect-stream.ts +1 -1
- package/src/mode/project-messages.test.ts +11 -0
- package/src/mode/project-messages.ts +8 -61
- package/src/mode/react-loop-options.ts +124 -0
- package/src/mode/react-loop.ts +10 -296
- package/src/mode.ts +19 -7
- package/src/npm-registry.test.ts +95 -0
- package/src/npm-registry.ts +57 -0
- package/src/permission.ts +30 -0
- package/src/process-invocation.test.ts +25 -0
- package/src/process-invocation.ts +8 -3
- package/src/process-tree.ts +37 -0
- package/src/provider-login-bridge.ts +1 -1
- package/src/provider-schema-constraints.test.ts +1 -1
- package/src/provider-utils.test.ts +1 -1
- package/src/provider.ts +346 -0
- package/src/question-draft.test.ts +57 -0
- package/src/question-draft.ts +47 -0
- package/src/question.test.ts +130 -0
- package/src/question.ts +229 -0
- package/src/questions.ts +6 -0
- package/src/resolvers.test.ts +84 -1
- package/src/resolvers.ts +40 -27
- package/src/schemas.test.ts +5 -0
- package/src/schemas.ts +3 -2
- package/src/server.ts +3 -0
- package/src/session-like.ts +19 -1
- package/src/skill-mentions.test.ts +1 -1
- package/src/starting-model.test.ts +19 -0
- package/src/starting-model.ts +11 -0
- package/src/token-efficiency.test.ts +1 -1
- package/src/tool-dispatch.ts +10 -4
- package/src/tool-display.test.ts +119 -0
- package/src/tool-display.ts +162 -4
- package/src/tool-gating.test.ts +1 -1
- package/src/tool-icon.test.ts +1 -1
- package/src/tool-modes.test.ts +18 -1
- package/src/tool-modes.ts +6 -2
- package/src/tool-output.test.ts +46 -0
- package/src/tool-output.ts +46 -0
- package/src/tool.ts +14 -1
- package/src/tunnel.ts +3 -3
- package/src/workflow-approval.ts +1 -1
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import type { MoxxyEvent } from '../events.js';
|
|
2
2
|
import type { ModeContext } from '../mode.js';
|
|
3
|
-
import type { TokenUsage } from '../provider.js';
|
|
4
|
-
import type { StopReason } from '../provider-utils.js';
|
|
5
|
-
import { type StuckLoopReport, type StuckTripInfo } from '../tool-dispatch.js';
|
|
6
|
-
import type { TurnCheckpoint } from './checkpoint.js';
|
|
7
|
-
import { type CollectedToolUse } from './collect-stream.js';
|
|
8
3
|
/**
|
|
9
4
|
* The shared ReAct loop core every tool-calling mode runs on. One hardened
|
|
10
5
|
* copy of the plumbing that used to be duplicated per mode (default / goal /
|
|
@@ -31,99 +26,7 @@ export declare const MAX_CONSECUTIVE_RETRIES = 6;
|
|
|
31
26
|
* fan-out, multiple Sessions in one host). Test-only; never call from prod.
|
|
32
27
|
*/
|
|
33
28
|
export declare function __setRetrySleepForTests(fn: (ms: number, signal: AbortSignal) => Promise<void>): () => void;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
readonly text: string;
|
|
37
|
-
readonly stopReason: StopReason;
|
|
38
|
-
readonly toolUses: ReadonlyArray<CollectedToolUse>;
|
|
39
|
-
readonly usage?: TokenUsage;
|
|
40
|
-
readonly iteration: number;
|
|
41
|
-
}
|
|
42
|
-
/** A completed tool batch — input to {@link ReactLoopOptions.onToolBatchEnd}. */
|
|
43
|
-
export interface ToolBatchInfo {
|
|
44
|
-
readonly toolUses: ReadonlyArray<CollectedToolUse>;
|
|
45
|
-
readonly iteration: number;
|
|
46
|
-
}
|
|
47
|
-
/** Hooks return this to end the turn; the hook emits its own wrap-up events first. */
|
|
48
|
-
export interface StopDirective {
|
|
49
|
-
readonly action: 'stop';
|
|
50
|
-
}
|
|
51
|
-
export interface ReactLoopOptions {
|
|
52
|
-
/** Name stamped on `mode_iteration` events (e.g. `'default'`, `'goal'`). */
|
|
53
|
-
readonly strategyName: string;
|
|
54
|
-
/**
|
|
55
|
-
* Iteration cap when the context doesn't supply one. Default 500. May be
|
|
56
|
-
* `Number.POSITIVE_INFINITY` for an uncapped loop (goal mode): the run then
|
|
57
|
-
* ends only via a terminal signal (checkpoint/hook stop, abort, fatal
|
|
58
|
-
* error) — an explicit `ctx.maxIterations` still takes precedence.
|
|
59
|
-
*/
|
|
60
|
-
readonly defaultMaxIterations?: number;
|
|
61
|
-
/** Prefix for provider-error messages (goal mode uses `'goal: '`). */
|
|
62
|
-
readonly errorPrefix?: string;
|
|
63
|
-
/**
|
|
64
|
-
* When set, an already-aborted signal is reported (with this reason) BEFORE
|
|
65
|
-
* the first iteration — goal/collab preflight. When omitted the first
|
|
66
|
-
* iteration's own abort check covers it with the generic reason.
|
|
67
|
-
*/
|
|
68
|
-
readonly preflightAbortReason?: string;
|
|
69
|
-
/** Turn-end gates, run in declared order. Omit/empty → plain ReAct loop. */
|
|
70
|
-
readonly checkpoints?: ReadonlyArray<TurnCheckpoint>;
|
|
71
|
-
/**
|
|
72
|
-
* Hard cap on checkpoint `inject`/`retry` rounds per idle EPISODE — i.e.
|
|
73
|
-
* consecutive gate rounds with no tool work between them; the count resets
|
|
74
|
-
* whenever a tool batch executes (default 3). When exhausted the turn ends
|
|
75
|
-
* with the model's answer as-is plus a visible warning — a
|
|
76
|
-
* permanently-failing gate degrades loudly instead of looping forever.
|
|
77
|
-
*/
|
|
78
|
-
readonly maxInjections?: number;
|
|
79
|
-
/** Clamp on injected feedback length in characters (default 16_384). */
|
|
80
|
-
readonly maxInjectChars?: number;
|
|
81
|
-
/**
|
|
82
|
-
* Stuck-loop policy + wording overrides; sensible defaults from
|
|
83
|
-
* `strategyName`. `action` picks what a detector trip does:
|
|
84
|
-
*
|
|
85
|
-
* - `'abort'` (default): fail the batch and end the turn with a fatal
|
|
86
|
-
* error — the historical behavior, right for attended modes where the
|
|
87
|
-
* user is present to redirect.
|
|
88
|
-
* - `'nudge'`: never stop. The batch still executes (repeated calls are
|
|
89
|
-
* usually legitimate work — re-running a failing build between edits),
|
|
90
|
-
* a visible warning + `extraOnStuck` events are emitted, the detector
|
|
91
|
-
* resets, and `nudgeText` (or a default) rides the next provider call
|
|
92
|
-
* as a volatile steer. For unattended modes (goal) where a heuristic
|
|
93
|
-
* must never kill the run.
|
|
94
|
-
*/
|
|
95
|
-
readonly stuck?: Partial<StuckLoopReport> & {
|
|
96
|
-
readonly action?: 'abort' | 'nudge';
|
|
97
|
-
/** Volatile steer for `'nudge'` trips; default wording when omitted. */
|
|
98
|
-
readonly nudgeText?: (info: StuckTripInfo) => string;
|
|
99
|
-
};
|
|
100
|
-
/**
|
|
101
|
-
* Runs after compaction/elision, before the provider call. May return a
|
|
102
|
-
* volatile user message to ride ONLY the next call (collab's inbox/pause
|
|
103
|
-
* awareness) — never appended to the log; the cache strategy is told via
|
|
104
|
-
* `volatileTailCount` so its tail breakpoint stays ahead of it.
|
|
105
|
-
*/
|
|
106
|
-
readonly onIterationStart?: (ctx: ModeContext, iteration: number) => Promise<{
|
|
107
|
-
readonly volatileUserText?: string;
|
|
108
|
-
} | undefined>;
|
|
109
|
-
/**
|
|
110
|
-
* Runs after every clean provider call (reasoning already logged, tools not
|
|
111
|
-
* yet executed). Return `{action: 'stop'}` to end the turn — the hook emits
|
|
112
|
-
* its own wrap-up events first (goal mode's token-budget backstop).
|
|
113
|
-
*/
|
|
114
|
-
readonly onProviderSuccess?: (ctx: ModeContext, info: ProviderSuccessInfo) => Promise<StopDirective | undefined>;
|
|
115
|
-
/**
|
|
116
|
-
* Runs after a tool batch executes cleanly. Return `{action: 'stop'}` to
|
|
117
|
-
* end the turn (goal/collab terminal-tool detection: `goal_complete`,
|
|
118
|
-
* `collab_done`); the hook emits its own completion events first.
|
|
119
|
-
*/
|
|
120
|
-
readonly onToolBatchEnd?: (ctx: ModeContext, info: ToolBatchInfo) => Promise<StopDirective | undefined>;
|
|
121
|
-
/**
|
|
122
|
-
* Replaces the default "exceeded maxIterations" fatal error — the hook
|
|
123
|
-
* emits its own cap-reached events (goal mode adds a plugin event and its
|
|
124
|
-
* own wording). The loop returns right after.
|
|
125
|
-
*/
|
|
126
|
-
readonly onMaxIterations?: (ctx: ModeContext, maxIterations: number) => Promise<void>;
|
|
127
|
-
}
|
|
29
|
+
export type { ProviderSuccessInfo, ReactLoopOptions, StopDirective, ToolBatchInfo } from './react-loop-options.js';
|
|
30
|
+
import type { ReactLoopOptions } from './react-loop-options.js';
|
|
128
31
|
export declare function runReactLoop(ctx: ModeContext, opts: ReactLoopOptions): AsyncIterable<MoxxyEvent>;
|
|
129
32
|
//# sourceMappingURL=react-loop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-loop.d.ts","sourceRoot":"","sources":["../../src/mode/react-loop.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"react-loop.d.ts","sourceRoot":"","sources":["../../src/mode/react-loop.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAgB9C;;;;;;;;;;;;;;;GAeG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAczC;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GACrD,MAAM,IAAI,CAMZ;AAED,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,wBAAuB,YAAY,CACjC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,gBAAgB,GACrB,aAAa,CAAC,UAAU,CAAC,CAoU3B"}
|
package/dist/mode/react-loop.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { isContextOverflowError, runCompactionIfNeeded } from '../compactor-helpers.js';
|
|
2
2
|
import { runElisionIfNeeded } from '../elision-helpers.js';
|
|
3
|
-
import { asPluginId } from '../ids.js';
|
|
4
3
|
import { usageEventFields } from '../token-accounting.js';
|
|
5
4
|
import { emitRequestsAndDetectStuck, emitRequestsAndNudgeOnStuck, executeToolUses, } from '../tool-dispatch.js';
|
|
6
5
|
import { nextBackoffMs, sleepWithAbort } from './abort-backoff.js';
|
|
6
|
+
import { emitAbort, emitError, runCheckpointGate } from './checkpoint-gate.js';
|
|
7
|
+
import { runAgentStepLoop } from './agent-step-loop.js';
|
|
7
8
|
import { collectProviderStream } from './collect-stream.js';
|
|
8
9
|
import { buildSystemPromptWithSkills, projectMessages, skillsWithinReach } from './project-messages.js';
|
|
9
10
|
import { createStuckLoopDetector } from './stuck-loop.js';
|
|
@@ -31,8 +32,6 @@ const DEFAULT_MAX_ITERATIONS = 500;
|
|
|
31
32
|
const MAX_REACTIVE_COMPACTIONS = 2;
|
|
32
33
|
const DEFAULT_MAX_INJECTIONS = 3;
|
|
33
34
|
const DEFAULT_MAX_INJECT_CHARS = 16_384;
|
|
34
|
-
const DEFAULT_CHECKPOINT_TIMEOUT_MS = 120_000;
|
|
35
|
-
const CHECKPOINT_EVENT_PLUGIN_ID = asPluginId('react-loop');
|
|
36
35
|
// Abort-aware sleep, injectable for tests so back-off paths run instantly and
|
|
37
36
|
// deterministically. Production delegates to sleepWithAbort: a real timer that
|
|
38
37
|
// clears (and drops its abort listener) when the signal fires, so a pending
|
|
@@ -53,6 +52,11 @@ export function __setRetrySleepForTests(fn) {
|
|
|
53
52
|
};
|
|
54
53
|
}
|
|
55
54
|
export async function* runReactLoop(ctx, opts) {
|
|
55
|
+
// An agent connection: the vendor's agent does each round, not this loop.
|
|
56
|
+
if (ctx.provider.agentStep) {
|
|
57
|
+
yield* runAgentStepLoop(ctx, opts);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
56
60
|
if (opts.preflightAbortReason && ctx.signal.aborted) {
|
|
57
61
|
yield await emitAbort(ctx, opts.preflightAbortReason);
|
|
58
62
|
return;
|
|
@@ -333,113 +337,6 @@ export async function* runReactLoop(ctx, opts) {
|
|
|
333
337
|
}
|
|
334
338
|
yield await emitError(ctx, 'fatal', `${opts.strategyName} mode loop exceeded maxIterations (${maxIterations})`);
|
|
335
339
|
}
|
|
336
|
-
async function* runCheckpointGate(ctx, checkpoints, round) {
|
|
337
|
-
// Natural completions face every checkpoint; truncated/errored candidates
|
|
338
|
-
// only face the idle-tolerant ones — reviewing a half-sentence as if it
|
|
339
|
-
// were a completion claim wastes a checker run and confuses the model.
|
|
340
|
-
const eligible = checkpoints.filter((cp) => (round.stopReason === 'end_turn' || (cp.gateOn ?? 'end_turn') === 'idle') && (cp.applies?.(ctx) ?? true));
|
|
341
|
-
if (eligible.length === 0)
|
|
342
|
-
return { kind: 'end' };
|
|
343
|
-
// Budget exhausted → the answer ships as-is, but LOUDLY: silent
|
|
344
|
-
// degradation would let the user believe a gated answer passed its gates.
|
|
345
|
-
if (round.injectionsUsed >= round.injectionBudget) {
|
|
346
|
-
yield await emitError(ctx, 'retryable', `checkpoint budget exhausted (${round.injectionBudget} rounds) — ` +
|
|
347
|
-
`ending the turn with unresolved checkpoint feedback; verify the result manually.`);
|
|
348
|
-
return { kind: 'end' };
|
|
349
|
-
}
|
|
350
|
-
for (const cp of eligible) {
|
|
351
|
-
// User cancelled mid-gate: end the turn WITHOUT retracting the
|
|
352
|
-
// already-logged answer — an abort must never un-say what was said.
|
|
353
|
-
if (ctx.signal.aborted)
|
|
354
|
-
return { kind: 'end' };
|
|
355
|
-
yield await emitCheckpointEvent(ctx, 'checkpoint_started', {
|
|
356
|
-
name: cp.name,
|
|
357
|
-
iteration: round.iteration,
|
|
358
|
-
});
|
|
359
|
-
const timeoutMs = Math.max(1_000, cp.timeoutMs ?? DEFAULT_CHECKPOINT_TIMEOUT_MS);
|
|
360
|
-
const timeoutCtl = new AbortController();
|
|
361
|
-
const timer = setTimeout(() => timeoutCtl.abort(), timeoutMs);
|
|
362
|
-
timer.unref?.();
|
|
363
|
-
let result;
|
|
364
|
-
try {
|
|
365
|
-
result = await cp.run({
|
|
366
|
-
candidateText: round.candidateText,
|
|
367
|
-
stopReason: round.stopReason,
|
|
368
|
-
iteration: round.iteration,
|
|
369
|
-
consecutiveIdle: round.consecutiveIdle,
|
|
370
|
-
injectionsUsed: round.injectionsUsed,
|
|
371
|
-
injectionBudget: round.injectionBudget,
|
|
372
|
-
signal: AbortSignal.any([ctx.signal, timeoutCtl.signal]),
|
|
373
|
-
}, ctx);
|
|
374
|
-
}
|
|
375
|
-
catch (err) {
|
|
376
|
-
if (ctx.signal.aborted)
|
|
377
|
-
return { kind: 'end' };
|
|
378
|
-
// Fail OPEN, visibly. A crashed or timed-out checker downgrades the
|
|
379
|
-
// gate to a warning — it must never wedge the turn (fail-closed is a
|
|
380
|
-
// turn that can never end) and never crash it (the answer is already
|
|
381
|
-
// logged).
|
|
382
|
-
const why = timeoutCtl.signal.aborted
|
|
383
|
-
? `timed out after ${timeoutMs}ms`
|
|
384
|
-
: `failed: ${err instanceof Error ? err.message : String(err)}`;
|
|
385
|
-
yield await emitError(ctx, 'retryable', `checkpoint "${cp.name}" ${why} — proceeding unchecked`);
|
|
386
|
-
continue;
|
|
387
|
-
}
|
|
388
|
-
finally {
|
|
389
|
-
clearTimeout(timer);
|
|
390
|
-
}
|
|
391
|
-
switch (result.action) {
|
|
392
|
-
case 'pass': {
|
|
393
|
-
yield await emitCheckpointEvent(ctx, 'checkpoint_passed', { name: cp.name });
|
|
394
|
-
continue;
|
|
395
|
-
}
|
|
396
|
-
case 'stop': {
|
|
397
|
-
// The checkpoint already emitted its own wrap-up events.
|
|
398
|
-
yield await emitCheckpointEvent(ctx, 'checkpoint_stopped', { name: cp.name });
|
|
399
|
-
return { kind: 'end' };
|
|
400
|
-
}
|
|
401
|
-
case 'retry': {
|
|
402
|
-
yield await emitCheckpointEvent(ctx, 'checkpoint_retry', { name: cp.name });
|
|
403
|
-
return { kind: 'loop' };
|
|
404
|
-
}
|
|
405
|
-
case 'inject': {
|
|
406
|
-
// Guard the guard: an inject with blank text would loop the turn
|
|
407
|
-
// with no new signal for the model — a checker bug; fail open.
|
|
408
|
-
const feedback = result.text?.trim();
|
|
409
|
-
if (!feedback) {
|
|
410
|
-
yield await emitError(ctx, 'retryable', `checkpoint "${cp.name}" injected empty feedback — ignored`);
|
|
411
|
-
continue;
|
|
412
|
-
}
|
|
413
|
-
const clamped = clampChars(feedback, round.maxInjectChars);
|
|
414
|
-
if (result.volatile) {
|
|
415
|
-
yield await emitCheckpointEvent(ctx, 'checkpoint_injected', {
|
|
416
|
-
name: cp.name,
|
|
417
|
-
volatile: true,
|
|
418
|
-
});
|
|
419
|
-
return { kind: 'loop', volatileText: clamped };
|
|
420
|
-
}
|
|
421
|
-
// Persistent: a checkpoint-origin user prompt. Projected as a
|
|
422
|
-
// user-role message by the existing projection case, marked via the
|
|
423
|
-
// same `origin` machinery trigger prompts use, cache-safe because it
|
|
424
|
-
// is an ordinary append at the log tail.
|
|
425
|
-
yield await ctx.emit({
|
|
426
|
-
type: 'user_prompt',
|
|
427
|
-
sessionId: ctx.sessionId,
|
|
428
|
-
turnId: ctx.turnId,
|
|
429
|
-
source: 'system',
|
|
430
|
-
text: clamped,
|
|
431
|
-
origin: { kind: 'checkpoint', name: cp.name },
|
|
432
|
-
});
|
|
433
|
-
yield await emitCheckpointEvent(ctx, 'checkpoint_injected', {
|
|
434
|
-
name: cp.name,
|
|
435
|
-
volatile: false,
|
|
436
|
-
});
|
|
437
|
-
return { kind: 'loop' };
|
|
438
|
-
}
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
return { kind: 'end' };
|
|
442
|
-
}
|
|
443
340
|
function defaultStuckNudge(trip) {
|
|
444
341
|
return (`You have called the tool \`${trip.toolName}\` ${trip.count} times ${trip.how}. ` +
|
|
445
342
|
`Repeating the same call will not produce a different result. Step back, reassess what ` +
|
|
@@ -458,39 +355,4 @@ function buildStuckReport(opts) {
|
|
|
458
355
|
...(opts.stuck?.extraOnStuck ? { extraOnStuck: opts.stuck.extraOnStuck } : {}),
|
|
459
356
|
};
|
|
460
357
|
}
|
|
461
|
-
function clampChars(text, max) {
|
|
462
|
-
if (text.length <= max)
|
|
463
|
-
return text;
|
|
464
|
-
return `${text.slice(0, max)}\n…[checkpoint feedback truncated: ${text.length - max} chars dropped]`;
|
|
465
|
-
}
|
|
466
|
-
async function emitAbort(ctx, reason) {
|
|
467
|
-
return ctx.emit({
|
|
468
|
-
type: 'abort',
|
|
469
|
-
sessionId: ctx.sessionId,
|
|
470
|
-
turnId: ctx.turnId,
|
|
471
|
-
source: 'system',
|
|
472
|
-
reason,
|
|
473
|
-
});
|
|
474
|
-
}
|
|
475
|
-
async function emitError(ctx, kind, message) {
|
|
476
|
-
return ctx.emit({
|
|
477
|
-
type: 'error',
|
|
478
|
-
sessionId: ctx.sessionId,
|
|
479
|
-
turnId: ctx.turnId,
|
|
480
|
-
source: 'system',
|
|
481
|
-
kind,
|
|
482
|
-
message,
|
|
483
|
-
});
|
|
484
|
-
}
|
|
485
|
-
async function emitCheckpointEvent(ctx, subtype, payload) {
|
|
486
|
-
return ctx.emit({
|
|
487
|
-
type: 'plugin_event',
|
|
488
|
-
sessionId: ctx.sessionId,
|
|
489
|
-
turnId: ctx.turnId,
|
|
490
|
-
source: 'system',
|
|
491
|
-
pluginId: CHECKPOINT_EVENT_PLUGIN_ID,
|
|
492
|
-
subtype,
|
|
493
|
-
payload,
|
|
494
|
-
});
|
|
495
|
-
}
|
|
496
358
|
//# sourceMappingURL=react-loop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-loop.js","sourceRoot":"","sources":["../../src/mode/react-loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-loop.js","sourceRoot":"","sources":["../../src/mode/react-loop.ts"],"names":[],"mappings":"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"}
|
package/dist/mode.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import type { EventLogReader } from './log.js';
|
|
|
8
8
|
import type { PermissionResolver } from './permission.js';
|
|
9
9
|
import type { LLMProvider, ReasoningEffort } from './provider.js';
|
|
10
10
|
import type { LoopGuardSettings } from './mode/stuck-loop.js';
|
|
11
|
+
import type { QuestionAskOptions, QuestionItem, QuestionOutcome } from './question.js';
|
|
11
12
|
import type { Skill } from './skill.js';
|
|
12
13
|
import type { SubagentSpawner } from './subagent.js';
|
|
13
14
|
import type { ToolDef } from './tool.js';
|
|
@@ -83,6 +84,13 @@ export interface ModeContext {
|
|
|
83
84
|
readonly systemPrompt?: string;
|
|
84
85
|
readonly provider: LLMProvider;
|
|
85
86
|
readonly tools: ToolRegistry;
|
|
87
|
+
/**
|
|
88
|
+
* Every tool of the session, in any mode (`tools` is this turn's mode's,
|
|
89
|
+
* plus any it adds for itself). An agent connection lists these to the
|
|
90
|
+
* vendor agent, which reads its tool list once, and refuses a call to one
|
|
91
|
+
* this mode does not offer.
|
|
92
|
+
*/
|
|
93
|
+
readonly allTools?: ToolRegistry;
|
|
86
94
|
readonly skills: SkillRegistry;
|
|
87
95
|
readonly log: EventLogReader;
|
|
88
96
|
readonly compactor: CompactorDef | null;
|
|
@@ -121,6 +129,11 @@ export interface ModeContext {
|
|
|
121
129
|
* picked the default option, or fail closed depending on the strategy.
|
|
122
130
|
*/
|
|
123
131
|
readonly approval?: ApprovalResolver;
|
|
132
|
+
/**
|
|
133
|
+
* Ask the person a Question in this turn (the conversation's Questions).
|
|
134
|
+
* Absent where nobody can be asked (subagents, synthetic test contexts).
|
|
135
|
+
*/
|
|
136
|
+
readonly ask?: (questions: ReadonlyArray<QuestionItem>, opts?: QuestionAskOptions) => Promise<QuestionOutcome>;
|
|
124
137
|
readonly hooks: HookDispatcher;
|
|
125
138
|
readonly pluginHost: PluginHostHandle;
|
|
126
139
|
/** Inter-plugin service registry (mirrors {@link AppContext.services}). */
|
|
@@ -238,14 +251,13 @@ export interface ModeDef {
|
|
|
238
251
|
readonly badge?: ModeBadge;
|
|
239
252
|
/**
|
|
240
253
|
* Marks a "special" mode — one the user does NOT pick from `/mode`. Set this
|
|
241
|
-
* and the mode is, uniformly across every surface (TUI,
|
|
254
|
+
* and the mode is, uniformly across every surface (TUI, desktop):
|
|
242
255
|
* - **hidden** from every mode list / picker (presence), and
|
|
243
256
|
* - **refused** by the normal mode-switch by name (execution) — it can only
|
|
244
257
|
* be entered through its own invocation (a slash command, a spawned
|
|
245
258
|
* agent's `MOXXY_MODE`, …) via the raw registry `setActive`.
|
|
246
259
|
* The mode stays registered + runnable; it's just never *offered* or
|
|
247
|
-
* name-switched. Extensible: any number of special modes
|
|
248
|
-
* more later) opt in the same way. See {@link isSelectableMode}.
|
|
260
|
+
* name-switched. Extensible: any number of special modes opt in the same way. See {@link isSelectableMode}.
|
|
249
261
|
*/
|
|
250
262
|
readonly special?: ModeSpecial;
|
|
251
263
|
/**
|
|
@@ -268,15 +280,15 @@ export interface ModeDef {
|
|
|
268
280
|
/** Descriptor for a {@link ModeDef.special} mode — see that field. */
|
|
269
281
|
export interface ModeSpecial {
|
|
270
282
|
/**
|
|
271
|
-
* Human-facing entry point that enters this mode, e.g. `'
|
|
272
|
-
* `/
|
|
273
|
-
* via /
|
|
283
|
+
* Human-facing entry point that enters this mode, e.g. `'goal'` (the
|
|
284
|
+
* `/goal` command). Surfaced when the user tries to pick/switch it ("entered
|
|
285
|
+
* via /goal") so the UI can point at the right action.
|
|
274
286
|
*/
|
|
275
287
|
readonly invokedBy?: string;
|
|
276
288
|
}
|
|
277
289
|
/**
|
|
278
290
|
* Whether a mode is user-selectable — i.e. NOT a {@link ModeDef.special} mode.
|
|
279
|
-
* The single predicate every surface (TUI/
|
|
291
|
+
* The single predicate every surface (TUI/desktop mode lists + the
|
|
280
292
|
* by-name mode-switch) uses to filter/refuse special modes uniformly. The
|
|
281
293
|
* parameter is intentionally loose (`{ special? }`) so it also applies to the
|
|
282
294
|
* minimal `{ name }` rows the swap-UI registries expose — non-mode defs simply
|
package/dist/mode.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mode.d.ts","sourceRoot":"","sources":["../src/mode.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mode.d.ts","sourceRoot":"","sources":["../src/mode.ts"],"names":[],"mappings":"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"}
|
package/dist/mode.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Whether a mode is user-selectable — i.e. NOT a {@link ModeDef.special} mode.
|
|
3
|
-
* The single predicate every surface (TUI/
|
|
3
|
+
* The single predicate every surface (TUI/desktop mode lists + the
|
|
4
4
|
* by-name mode-switch) uses to filter/refuse special modes uniformly. The
|
|
5
5
|
* parameter is intentionally loose (`{ special? }`) so it also applies to the
|
|
6
6
|
* minimal `{ name }` rows the swap-UI registries expose — non-mode defs simply
|
package/dist/mode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mode.js","sourceRoot":"","sources":["../src/mode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mode.js","sourceRoot":"","sources":["../src/mode.ts"],"names":[],"mappings":"AA0SA;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAoC;IACnE,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC;AACpC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAqC;IAC1D,UAAU,EAAE,SAAS;IACrB,eAAe,EAAE,UAAU;IAC3B,cAAc,EAAE,SAAS;IACzB,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,SAAS;CACrB,CAAC;AAEF,iFAAiF;AACjF,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,2EAA2E;IAC3E,+EAA+E;IAC/E,6EAA6E;IAC7E,+EAA+E;IAC/E,yEAAyE;IACzE,iCAAiC;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClF,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ask the npm registry what version a package's `latest` dist-tag points at.
|
|
3
|
+
* Pure transport over global `fetch` — no `npm` dependency, no child process —
|
|
4
|
+
* so `moxxy update`, the TUI's "new version" banner and the agent CLI checks
|
|
5
|
+
* share one cheap call.
|
|
6
|
+
*
|
|
7
|
+
* Fail-soft by contract: every error (offline, timeout, 404, malformed body)
|
|
8
|
+
* resolves to `null`, never throws. A version check must never break a caller.
|
|
9
|
+
*/
|
|
10
|
+
export interface FetchNpmLatestOptions {
|
|
11
|
+
/** Override the fetch implementation (tests inject a stub). */
|
|
12
|
+
fetchImpl?: typeof fetch;
|
|
13
|
+
/** Abort the request after this many ms (default 4000). */
|
|
14
|
+
timeoutMs?: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The version under the `latest` dist-tag for `pkg`, or `null` if it can't be
|
|
18
|
+
* resolved. Uses the per-tag manifest endpoint
|
|
19
|
+
* (`/<pkg>/latest`) so we transfer a tiny document, not the full packument.
|
|
20
|
+
*/
|
|
21
|
+
export declare function fetchNpmLatest(pkg: string, opts?: FetchNpmLatestOptions): Promise<string | null>;
|
|
22
|
+
//# sourceMappingURL=npm-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm-registry.d.ts","sourceRoot":"","sources":["../src/npm-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAeH,MAAM,WAAW,qBAAqB;IACpC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,qBAA0B,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqB1G"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ask the npm registry what version a package's `latest` dist-tag points at.
|
|
3
|
+
* Pure transport over global `fetch` — no `npm` dependency, no child process —
|
|
4
|
+
* so `moxxy update`, the TUI's "new version" banner and the agent CLI checks
|
|
5
|
+
* share one cheap call.
|
|
6
|
+
*
|
|
7
|
+
* Fail-soft by contract: every error (offline, timeout, 404, malformed body)
|
|
8
|
+
* resolves to `null`, never throws. A version check must never break a caller.
|
|
9
|
+
*/
|
|
10
|
+
const REGISTRY = 'https://registry.npmjs.org';
|
|
11
|
+
const DEFAULT_TIMEOUT_MS = 4000;
|
|
12
|
+
const STABLE_SEMVER_RE = /^(0|[1-9]\d{0,8})\.(0|[1-9]\d{0,8})\.(0|[1-9]\d{0,8})$/;
|
|
13
|
+
function normalizeStableSemver(value) {
|
|
14
|
+
if (typeof value !== 'string')
|
|
15
|
+
return null;
|
|
16
|
+
const match = STABLE_SEMVER_RE.exec(value);
|
|
17
|
+
if (!match)
|
|
18
|
+
return null;
|
|
19
|
+
const [, major, minor, patch] = match;
|
|
20
|
+
if (major === undefined || minor === undefined || patch === undefined)
|
|
21
|
+
return null;
|
|
22
|
+
return `${Number(major)}.${Number(minor)}.${Number(patch)}`;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The version under the `latest` dist-tag for `pkg`, or `null` if it can't be
|
|
26
|
+
* resolved. Uses the per-tag manifest endpoint
|
|
27
|
+
* (`/<pkg>/latest`) so we transfer a tiny document, not the full packument.
|
|
28
|
+
*/
|
|
29
|
+
export async function fetchNpmLatest(pkg, opts = {}) {
|
|
30
|
+
const fetchImpl = opts.fetchImpl ?? fetch;
|
|
31
|
+
// Encode the whole package name (incl. the scope slash) so an arbitrary or
|
|
32
|
+
// attacker-influenced `pkg` can't inject path traversal / a query string /
|
|
33
|
+
// another host segment into the registry URL. npm accepts `@scope%2Fname`.
|
|
34
|
+
const url = `${REGISTRY}/${encodeURIComponent(pkg)}/latest`;
|
|
35
|
+
const controller = new AbortController();
|
|
36
|
+
const timer = setTimeout(() => controller.abort(), opts.timeoutMs ?? DEFAULT_TIMEOUT_MS);
|
|
37
|
+
try {
|
|
38
|
+
const res = await fetchImpl(url, {
|
|
39
|
+
signal: controller.signal,
|
|
40
|
+
headers: { accept: 'application/json' },
|
|
41
|
+
});
|
|
42
|
+
if (!res.ok)
|
|
43
|
+
return null;
|
|
44
|
+
const json = (await res.json());
|
|
45
|
+
return normalizeStableSemver(json.version);
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
finally {
|
|
51
|
+
clearTimeout(timer);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=npm-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm-registry.js","sourceRoot":"","sources":["../src/npm-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,QAAQ,GAAG,4BAA4B,CAAC;AAC9C,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,gBAAgB,GAAG,wDAAwD,CAAC;AAElF,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACnF,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAC9D,CAAC;AASD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,OAA8B,EAAE;IAChF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;IAC1C,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC,CAAC;IACzF,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;YAC/B,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;SACxC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA0B,CAAC;QACzD,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC"}
|
package/dist/permission.d.ts
CHANGED
|
@@ -32,6 +32,15 @@ export interface PermissionRule {
|
|
|
32
32
|
}>;
|
|
33
33
|
};
|
|
34
34
|
readonly reason?: string;
|
|
35
|
+
/**
|
|
36
|
+
* How far an "allow for this session" answer reaches for this tool: only
|
|
37
|
+
* later calls with the same values under these input keys. For a tool whose
|
|
38
|
+
* approval grants something by itself (access to an app), where a grant of
|
|
39
|
+
* the whole tool would let every later, wider request through unasked.
|
|
40
|
+
*/
|
|
41
|
+
readonly sessionScope?: {
|
|
42
|
+
readonly inputKeys: ReadonlyArray<string>;
|
|
43
|
+
};
|
|
35
44
|
}
|
|
36
45
|
export interface PendingToolCall {
|
|
37
46
|
readonly callId: ToolCallRequestedEvent['callId'];
|
|
@@ -44,9 +53,31 @@ export interface PendingToolCall {
|
|
|
44
53
|
*/
|
|
45
54
|
readonly requestedAtSeq?: number;
|
|
46
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* A standing "allow" rule a channel saves to the person's permissions.json:
|
|
58
|
+
* the whole tool, or with `inputEquals` only calls whose inputs have exactly
|
|
59
|
+
* these values (`null` for a left-out one).
|
|
60
|
+
*/
|
|
61
|
+
export interface StandingAllowRule {
|
|
62
|
+
readonly name: string;
|
|
63
|
+
readonly reason?: string;
|
|
64
|
+
readonly inputEquals?: Readonly<Record<string, unknown>>;
|
|
65
|
+
}
|
|
47
66
|
export interface PermissionContext {
|
|
48
67
|
readonly turnId?: string;
|
|
49
68
|
readonly toolDescription?: string;
|
|
69
|
+
/**
|
|
70
|
+
* The rule declared by the tool this turn offers under the call's name. A
|
|
71
|
+
* mode may offer tools the session registry does not hold (plan mode's
|
|
72
|
+
* `plan_complete`), so the resolver needs it from the call site.
|
|
73
|
+
*/
|
|
74
|
+
readonly toolPermission?: PermissionRule;
|
|
75
|
+
/**
|
|
76
|
+
* The person answers even while auto-approve is on (standing rules still
|
|
77
|
+
* decide first): the agent's own setting would have asked them, and they
|
|
78
|
+
* never chose auto-approve for it.
|
|
79
|
+
*/
|
|
80
|
+
readonly askPerson?: boolean;
|
|
50
81
|
readonly skillContext?: string;
|
|
51
82
|
readonly sessionId: string;
|
|
52
83
|
}
|
package/dist/permission.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../src/permission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,eAAe,GAAG,cAAc,GAAG,MAAM,CAAC;AAEjF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IACtE;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;KAAE,CAAC;IAC9F;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;YACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;YACrB,qDAAqD;YACrD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;SACvC,CAAC,CAAC;KACJ,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../src/permission.ts"],"names":[],"mappings":"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"}
|