@moxxy/sdk 0.1.2 → 0.1.3
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/README.md +73 -73
- package/dist/compactor-helpers.d.ts +4 -1
- package/dist/compactor-helpers.d.ts.map +1 -1
- package/dist/compactor-helpers.js +50 -21
- package/dist/compactor-helpers.js.map +1 -1
- package/dist/define.d.ts +4 -0
- package/dist/define.d.ts.map +1 -1
- package/dist/define.js +6 -0
- package/dist/define.js.map +1 -1
- package/dist/embedding.d.ts +17 -0
- package/dist/embedding.d.ts.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/fs-utils.d.ts +27 -0
- package/dist/fs-utils.d.ts.map +1 -0
- package/dist/fs-utils.js +44 -0
- package/dist/fs-utils.js.map +1 -0
- package/dist/http-utils.d.ts +16 -0
- package/dist/http-utils.d.ts.map +1 -0
- package/dist/http-utils.js +40 -0
- package/dist/http-utils.js.map +1 -0
- package/dist/index.d.ts +12 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -4
- package/dist/index.js.map +1 -1
- package/dist/mode-helpers.d.ts +58 -0
- package/dist/mode-helpers.d.ts.map +1 -1
- package/dist/mode-helpers.js +119 -0
- package/dist/mode-helpers.js.map +1 -1
- package/dist/mode.d.ts +8 -0
- package/dist/mode.d.ts.map +1 -1
- package/dist/mutex.d.ts +15 -0
- package/dist/mutex.d.ts.map +1 -0
- package/dist/mutex.js +15 -0
- package/dist/mutex.js.map +1 -0
- package/dist/plugin.d.ts +27 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/provider-utils.d.ts +6 -0
- package/dist/provider-utils.d.ts.map +1 -1
- package/dist/provider-utils.js +8 -0
- package/dist/provider-utils.js.map +1 -1
- package/dist/resolvers.d.ts +52 -0
- package/dist/resolvers.d.ts.map +1 -0
- package/dist/resolvers.js +123 -0
- package/dist/resolvers.js.map +1 -0
- package/dist/schemas.d.ts +24 -24
- package/dist/session-like.d.ts +85 -1
- package/dist/session-like.d.ts.map +1 -1
- package/dist/voice.d.ts +36 -0
- package/dist/voice.d.ts.map +1 -0
- package/dist/voice.js +82 -0
- package/dist/voice.js.map +1 -0
- package/dist/workflow.d.ts +144 -0
- package/dist/workflow.d.ts.map +1 -0
- package/dist/workflow.js +14 -0
- package/dist/workflow.js.map +1 -0
- package/package.json +14 -14
- package/src/compactor-helpers.test.ts +41 -0
- package/src/compactor-helpers.ts +53 -19
- package/src/define.ts +10 -0
- package/src/embedding.ts +18 -0
- package/src/errors.ts +3 -0
- package/src/fs-utils.test.ts +61 -0
- package/src/fs-utils.ts +55 -0
- package/src/http-utils.test.ts +36 -0
- package/src/http-utils.ts +40 -0
- package/src/index.ts +58 -3
- package/src/mode-helpers.ts +169 -0
- package/src/mode.ts +8 -0
- package/src/mutex.test.ts +36 -0
- package/src/mutex.ts +31 -0
- package/src/plugin.ts +27 -1
- package/src/provider-utils.ts +9 -0
- package/src/resolvers.test.ts +45 -0
- package/src/resolvers.ts +164 -0
- package/src/session-like.ts +87 -1
- package/src/stuck-loop.test.ts +42 -0
- package/src/voice.ts +103 -0
- package/src/workflow.ts +165 -0
- package/dist/command-sync.d.ts +0 -23
- package/dist/command-sync.d.ts.map +0 -1
- package/dist/command-sync.js +0 -36
- package/dist/command-sync.js.map +0 -1
- package/dist/loop-helpers.d.ts +0 -68
- package/dist/loop-helpers.d.ts.map +0 -1
- package/dist/loop-helpers.js +0 -283
- package/dist/loop-helpers.js.map +0 -1
- package/dist/loop.d.ts +0 -106
- package/dist/loop.d.ts.map +0 -1
- package/dist/loop.js +0 -2
- package/dist/loop.js.map +0 -1
- package/dist/plugin-kind.d.ts +0 -10
- package/dist/plugin-kind.d.ts.map +0 -1
- package/dist/plugin-kind.js +0 -31
- package/dist/plugin-kind.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<p align="center">
|
|
2
2
|
<a href="https://moxxy.ai">
|
|
3
|
-
<img src="https://moxxy.ai/
|
|
3
|
+
<img src="https://moxxy.ai/moxxy-head-256.png" alt="moxxy" width="128" />
|
|
4
4
|
</a>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
7
|
<h1 align="center">@moxxy/sdk</h1>
|
|
8
8
|
|
|
9
9
|
<p align="center">
|
|
10
|
-
|
|
11
|
-
Zero runtime
|
|
10
|
+
The typed public surface for the moxxy framework.<br/>
|
|
11
|
+
Zero runtime dependencies. The contract every plugin, channel, and provider speaks.
|
|
12
12
|
</p>
|
|
13
13
|
|
|
14
14
|
<p align="center">
|
|
@@ -27,42 +27,42 @@
|
|
|
27
27
|
</p>
|
|
28
28
|
|
|
29
29
|
<p align="center">
|
|
30
|
-
<a href="
|
|
30
|
+
<a href="#installation">Install</a>
|
|
31
31
|
·
|
|
32
|
-
<a href="
|
|
32
|
+
<a href="#quickstart">Quickstart</a>
|
|
33
33
|
·
|
|
34
34
|
<a href="https://moxxy.ai">Docs</a>
|
|
35
35
|
·
|
|
36
|
-
<a href="
|
|
36
|
+
<a href="#what-the-sdk-gives-you">Surface</a>
|
|
37
37
|
·
|
|
38
|
-
<a href="
|
|
38
|
+
<a href="#authoring-a-plugin">Plugin guide</a>
|
|
39
39
|
</p>
|
|
40
40
|
|
|
41
41
|
---
|
|
42
42
|
|
|
43
|
-
##
|
|
43
|
+
## What this package is
|
|
44
44
|
|
|
45
|
-
`@moxxy/sdk` is the
|
|
45
|
+
`@moxxy/sdk` is the typed contract between the moxxy runtime and everything that plugs into it. Providers, modes, tools, channels, compactors, cache strategies, isolators, transcribers, view renderers, tunnel providers, agents, commands, and skills all use it as their interface to the runtime.
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
The package exports:
|
|
48
48
|
|
|
49
|
-
- `define
|
|
50
|
-
- The `MoxxyEvent` union
|
|
51
|
-
- `ClientSession
|
|
52
|
-
- Lifecycle hook signatures (`onTurnStart`, `onAssistantMessage`,
|
|
53
|
-
-
|
|
49
|
+
- `define*` factories, the only blessed way to author each kind of block.
|
|
50
|
+
- The `MoxxyEvent` discriminated union, covering every event the runtime can emit or replay.
|
|
51
|
+
- `ClientSession` and `SessionLike`, the views channels and modes see.
|
|
52
|
+
- Lifecycle hook signatures (`onTurnStart`, `onAssistantMessage`, and so on).
|
|
53
|
+
- Small helper utilities that do not pull the runtime along: token accounting, compactor helpers, zod-to-JSON-Schema, tool gating, embedding caching, retryable-error classification.
|
|
54
54
|
|
|
55
|
-
It is the
|
|
55
|
+
It is the only moxxy package safe to depend on from a published plugin. `@moxxy/core` is the runtime, and plugins never import it.
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
57
|
+
## Why depend on the SDK
|
|
58
|
+
|
|
59
|
+
- **Zero runtime dependencies.** The package builds without pulling anything into your bundle. `zod` is declared as a peer dependency so your plugin and the host agree on one copy.
|
|
60
|
+
- **One contract, every block.** The shape is consistent across tools, channels, providers, compactors, and the rest. Once you have written one plugin you know how to write the next.
|
|
61
|
+
- **Strict TypeScript.** `defineTool` is generic on its zod schema so handler arguments are fully inferred. Types double as documentation.
|
|
62
|
+
- **Type-only views into the runtime.** `SessionLike` exposes only what a channel needs and keeps the rest of the registry private.
|
|
63
|
+
- **Event-log first.** Every block is reactive over a single typed event stream. No hidden globals, easy to record and replay.
|
|
64
64
|
|
|
65
|
-
##
|
|
65
|
+
## Installation
|
|
66
66
|
|
|
67
67
|
```sh
|
|
68
68
|
npm install @moxxy/sdk zod
|
|
@@ -70,11 +70,11 @@ npm install @moxxy/sdk zod
|
|
|
70
70
|
# or: yarn add @moxxy/sdk zod
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
-
`zod` is
|
|
73
|
+
`zod` is a peer dependency. The SDK does not ship it.
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
Requirements: Node.js 20.10 or later. Strict TypeScript is recommended.
|
|
76
76
|
|
|
77
|
-
##
|
|
77
|
+
## Quickstart
|
|
78
78
|
|
|
79
79
|
A tool plugin in nine lines:
|
|
80
80
|
|
|
@@ -94,7 +94,7 @@ export default definePlugin({
|
|
|
94
94
|
});
|
|
95
95
|
```
|
|
96
96
|
|
|
97
|
-
Add a `"moxxy"` block to your `package.json` and moxxy auto-discovers it:
|
|
97
|
+
Add a `"moxxy"` block to your `package.json` and moxxy auto-discovers it on the next launch:
|
|
98
98
|
|
|
99
99
|
```json
|
|
100
100
|
{
|
|
@@ -102,38 +102,38 @@ Add a `"moxxy"` block to your `package.json` and moxxy auto-discovers it:
|
|
|
102
102
|
}
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
That
|
|
105
|
+
That is the whole setup. `moxxy plugins list` will show your tool on the next session start.
|
|
106
106
|
|
|
107
|
-
##
|
|
107
|
+
## What the SDK gives you
|
|
108
108
|
|
|
109
109
|
### `define*` factories
|
|
110
110
|
|
|
111
111
|
| Factory | Defines |
|
|
112
112
|
|---|---|
|
|
113
|
-
| `definePlugin` | A bundle of any of the below
|
|
114
|
-
| `defineTool` | A callable tool
|
|
115
|
-
| `defineProvider` | An LLM backend
|
|
116
|
-
| `defineMode` | A loop strategy (`tool-use`, `plan-execute`, `bmad`,
|
|
117
|
-
| `defineCompactor` |
|
|
118
|
-
| `defineCacheStrategy` | Where to place provider cache breakpoints |
|
|
119
|
-
| `defineChannel` | A user-facing surface (TUI
|
|
120
|
-
| `defineCommand` | A `/slash` command surfaced in every channel that hosts commands |
|
|
121
|
-
| `defineSkill` | A prompt-only Markdown skill (frontmatter + body) |
|
|
122
|
-
| `defineAgent` | A subagent kind dispatchable from the parent loop |
|
|
123
|
-
| `defineTranscriber` | A speech-to-text backend wired into every audio-capable channel |
|
|
124
|
-
| `definePermission` | A permission rule contributed to the resolver chain |
|
|
125
|
-
| `defineViewRenderer` | A target for the agent-authored UI primitives |
|
|
126
|
-
| `defineTunnelProvider` | A public-URL tunnel (cloudflared
|
|
127
|
-
| `defineIsolator`
|
|
128
|
-
|
|
129
|
-
### Types
|
|
113
|
+
| `definePlugin` | A bundle of any of the below. The discoverable unit. |
|
|
114
|
+
| `defineTool` | A callable tool with a zod-typed input, optional `permission`, `isolation`, and `compact` display config. |
|
|
115
|
+
| `defineProvider` | An LLM backend such as Anthropic, OpenAI, or a custom service. |
|
|
116
|
+
| `defineMode` | A loop strategy. The agent's iteration topology (`tool-use`, `plan-execute`, `bmad`, and so on). |
|
|
117
|
+
| `defineCompactor` | A context-window compaction strategy (summarise, drop, hybrid). |
|
|
118
|
+
| `defineCacheStrategy` | Where to place provider cache breakpoints. |
|
|
119
|
+
| `defineChannel` | A user-facing surface (TUI, HTTP, Telegram, web). |
|
|
120
|
+
| `defineCommand` | A `/slash` command surfaced in every channel that hosts commands. |
|
|
121
|
+
| `defineSkill` | A prompt-only Markdown skill (frontmatter + body). |
|
|
122
|
+
| `defineAgent` | A subagent kind dispatchable from the parent loop. |
|
|
123
|
+
| `defineTranscriber` | A speech-to-text backend wired into every audio-capable channel. |
|
|
124
|
+
| `definePermission` | A permission rule contributed to the resolver chain. |
|
|
125
|
+
| `defineViewRenderer` | A target for the agent-authored UI primitives. |
|
|
126
|
+
| `defineTunnelProvider` | A public-URL tunnel for HTTP channels (cloudflared, ngrok). |
|
|
127
|
+
| `defineIsolator` (via `@moxxy/plugin-security`) | A capability sandbox. The SDK exports the `Isolator` interface and the `ISOLATION_RANK` ordering. |
|
|
128
|
+
|
|
129
|
+
### Types and events
|
|
130
130
|
|
|
131
131
|
```ts
|
|
132
132
|
import type {
|
|
133
|
-
MoxxyEvent,
|
|
134
|
-
EventLogReader,
|
|
135
|
-
ClientSession,
|
|
136
|
-
SessionLike,
|
|
133
|
+
MoxxyEvent, // the discriminated union of every event in the log
|
|
134
|
+
EventLogReader, // a stable view over the session's event log
|
|
135
|
+
ClientSession, // what channels and slash-commands see
|
|
136
|
+
SessionLike, // what modes, providers, and tools see
|
|
137
137
|
PendingToolCall,
|
|
138
138
|
PermissionDecision,
|
|
139
139
|
ApprovalRequest, ApprovalDecision,
|
|
@@ -145,20 +145,20 @@ import type {
|
|
|
145
145
|
|
|
146
146
|
### Helpers
|
|
147
147
|
|
|
148
|
-
-
|
|
149
|
-
-
|
|
150
|
-
-
|
|
151
|
-
-
|
|
152
|
-
-
|
|
153
|
-
-
|
|
148
|
+
- `zodToJsonSchema` converts a zod schema to JSON Schema for provider tool calls.
|
|
149
|
+
- `isRetryableError` and `toFriendlyError` classify provider errors uniformly.
|
|
150
|
+
- `estimateContextTokens` and `runCompactionIfNeeded` are scaffolding for custom compactors.
|
|
151
|
+
- `CachedEmbeddingProvider` wraps any `EmbeddingProvider` with on-disk caching.
|
|
152
|
+
- `dispatchToolCall` invokes a tool through the full gating, permission, and isolation pipeline.
|
|
153
|
+
- `summarizeSessionTokensFromEvents` and `summarizeTokensByModel` give pure token accounting over the event log.
|
|
154
154
|
|
|
155
155
|
### Lifecycle hooks
|
|
156
156
|
|
|
157
|
-
A plugin can declare optional hooks: `onSessionStart`, `onTurnStart`, `onAssistantMessage`, `onToolResult`, `onError`, `onCompact`, `onSessionEnd`. All are strongly typed and fire in plugin-registration order. The SDK exposes the hook context types
|
|
157
|
+
A plugin can declare optional hooks: `onSessionStart`, `onTurnStart`, `onAssistantMessage`, `onToolResult`, `onError`, `onCompact`, and `onSessionEnd`. All are strongly typed and fire in plugin-registration order. The SDK exposes the hook context types. `@moxxy/core` invokes them at the right point in the loop.
|
|
158
158
|
|
|
159
|
-
##
|
|
159
|
+
## Authoring a plugin
|
|
160
160
|
|
|
161
|
-
A tool plugin
|
|
161
|
+
A tool plugin with the minimum surface:
|
|
162
162
|
|
|
163
163
|
```ts
|
|
164
164
|
import { definePlugin, defineTool, z } from '@moxxy/sdk';
|
|
@@ -171,11 +171,11 @@ export default definePlugin({
|
|
|
171
171
|
description: 'Fetch current weather for a city.',
|
|
172
172
|
inputSchema: z.object({ city: z.string() }),
|
|
173
173
|
// Handler args are inferred from the zod schema.
|
|
174
|
-
handler: async ({ city }
|
|
174
|
+
handler: async ({ city }) => {
|
|
175
175
|
const res = await fetch(`https://wttr.in/${encodeURIComponent(city)}?format=j1`);
|
|
176
176
|
return res.json();
|
|
177
177
|
},
|
|
178
|
-
// Optional: gate the call, declare capabilities, customise compact display.
|
|
178
|
+
// Optional: gate the call, declare capabilities, customise the compact display.
|
|
179
179
|
permission: { action: 'prompt' },
|
|
180
180
|
isolation: { capabilities: { net: { allow: ['wttr.in'] } } },
|
|
181
181
|
compact: { verb: 'Reading weather', subject: ({ city }) => city },
|
|
@@ -207,7 +207,7 @@ A mode (loop strategy):
|
|
|
207
207
|
import { definePlugin, defineMode, type ModeContext, type MoxxyEvent } from '@moxxy/sdk';
|
|
208
208
|
|
|
209
209
|
async function* runMyMode(ctx: ModeContext): AsyncIterable<MoxxyEvent> {
|
|
210
|
-
// emit events, call providers, dispatch tools
|
|
210
|
+
// emit events, call providers, dispatch tools, return when the turn ends.
|
|
211
211
|
}
|
|
212
212
|
|
|
213
213
|
export default definePlugin({
|
|
@@ -220,20 +220,20 @@ export default definePlugin({
|
|
|
220
220
|
});
|
|
221
221
|
```
|
|
222
222
|
|
|
223
|
-
Per-block author guides
|
|
223
|
+
Per-block author guides for skill, plugin, tool, channel, provider, loop strategy, compactor, and cache strategy live in the monorepo at [`.claude/agents/`](https://github.com/moxxy-ai/new_moxxy/tree/main/.claude/agents).
|
|
224
224
|
|
|
225
|
-
##
|
|
225
|
+
## Architectural rules
|
|
226
226
|
|
|
227
|
-
|
|
228
|
-
- **`@moxxy/core` doesn't import any plugin.** Plugins flow into core through the SDK only.
|
|
229
|
-
- **Plugins never import `@moxxy/core`.** If you find yourself wanting to, the missing piece belongs in the SDK.
|
|
227
|
+
Three invariants keep the framework swappable:
|
|
230
228
|
|
|
231
|
-
|
|
229
|
+
1. `@moxxy/sdk` has zero internal dependencies. Enforced in CI via `pnpm check:deps`.
|
|
230
|
+
2. `@moxxy/core` does not import any plugin. Plugins flow into core through the SDK only.
|
|
231
|
+
3. Plugins never import `@moxxy/core`. If you find yourself wanting to, the missing piece belongs in the SDK.
|
|
232
232
|
|
|
233
|
-
##
|
|
233
|
+
## Docs
|
|
234
234
|
|
|
235
|
-
Full
|
|
235
|
+
Full documentation lives at [docs.moxxy.ai](https://docs.moxxy.ai): concepts, plugin author guides, channel guides, and recipes.
|
|
236
236
|
|
|
237
|
-
##
|
|
237
|
+
## License
|
|
238
238
|
|
|
239
|
-
|
|
239
|
+
MIT. See the repository root for the full text.
|
|
@@ -30,5 +30,8 @@ export declare function estimateContextTokens(log: EventLogReader): number;
|
|
|
30
30
|
* compactor bug can't kill the turn. Failures emit a non-fatal
|
|
31
31
|
* `error` event for observability.
|
|
32
32
|
*/
|
|
33
|
-
export declare function runCompactionIfNeeded(ctx: ModeContext
|
|
33
|
+
export declare function runCompactionIfNeeded(ctx: ModeContext, opts?: {
|
|
34
|
+
readonly force?: boolean;
|
|
35
|
+
}): Promise<boolean>;
|
|
36
|
+
export declare function isContextOverflowError(message: string): boolean;
|
|
34
37
|
//# sourceMappingURL=compactor-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compactor-helpers.d.ts","sourceRoot":"","sources":["../src/compactor-helpers.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CA8BjE;AA2BD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"compactor-helpers.d.ts","sourceRoot":"","sources":["../src/compactor-helpers.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CA8BjE;AA2BD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,WAAW,EAChB,IAAI,GAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GACtC,OAAO,CAAC,OAAO,CAAC,CAwElB;AAqBD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE/D"}
|
|
@@ -86,42 +86,48 @@ function safeJsonLen(v) {
|
|
|
86
86
|
* compactor bug can't kill the turn. Failures emit a non-fatal
|
|
87
87
|
* `error` event for observability.
|
|
88
88
|
*/
|
|
89
|
-
export async function runCompactionIfNeeded(ctx) {
|
|
89
|
+
export async function runCompactionIfNeeded(ctx, opts = {}) {
|
|
90
90
|
const compactor = ctx.compactor;
|
|
91
91
|
if (!compactor)
|
|
92
|
-
return;
|
|
92
|
+
return false;
|
|
93
93
|
// Resolve the active model's descriptor so we use the *real* context
|
|
94
94
|
// window. `Number.MAX_SAFE_INTEGER` (the old /compact behavior) made
|
|
95
95
|
// threshold-based compactors always look comfortable, even at 99%.
|
|
96
96
|
const descriptor = ctx.provider.models.find((m) => m.id === ctx.model);
|
|
97
97
|
const contextWindow = descriptor?.contextWindow;
|
|
98
98
|
if (!contextWindow || contextWindow <= 0)
|
|
99
|
-
return;
|
|
99
|
+
return false;
|
|
100
100
|
const events = ctx.log.slice();
|
|
101
101
|
if (events.length === 0)
|
|
102
|
-
return;
|
|
102
|
+
return false;
|
|
103
103
|
const budget = {
|
|
104
104
|
contextWindow,
|
|
105
105
|
estimatedTokens: estimateContextTokens(ctx.log),
|
|
106
106
|
reserveForOutput: descriptor?.maxOutputTokens ?? 0,
|
|
107
107
|
};
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
108
|
+
// `force` skips the threshold gate — used reactively after the provider
|
|
109
|
+
// rejects a request for being over the context window (our estimate can
|
|
110
|
+
// lag the provider's real tokenizer), so we compact and retry rather than
|
|
111
|
+
// failing the turn.
|
|
112
|
+
if (!opts.force) {
|
|
113
|
+
let shouldRun = false;
|
|
114
|
+
try {
|
|
115
|
+
shouldRun = compactor.shouldCompact(ctx.log, budget);
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
await ctx.emit({
|
|
119
|
+
type: 'error',
|
|
120
|
+
sessionId: ctx.sessionId,
|
|
121
|
+
turnId: ctx.turnId,
|
|
122
|
+
source: 'system',
|
|
123
|
+
kind: 'retryable',
|
|
124
|
+
message: `compactor.shouldCompact threw: ${err instanceof Error ? err.message : String(err)}`,
|
|
125
|
+
});
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
if (!shouldRun)
|
|
129
|
+
return false;
|
|
122
130
|
}
|
|
123
|
-
if (!shouldRun)
|
|
124
|
-
return;
|
|
125
131
|
try {
|
|
126
132
|
const result = await compactor.compact(events, {
|
|
127
133
|
log: ctx.log,
|
|
@@ -129,7 +135,7 @@ export async function runCompactionIfNeeded(ctx) {
|
|
|
129
135
|
signal: ctx.signal,
|
|
130
136
|
});
|
|
131
137
|
if (result.tokensSaved <= 0 || result.summary.trim().length === 0)
|
|
132
|
-
return;
|
|
138
|
+
return false;
|
|
133
139
|
// `compactor.compact` declares `Omit<CompactionEvent, keyof EventBase>`,
|
|
134
140
|
// but every shipped compactor (and the SDK examples) fills sessionId /
|
|
135
141
|
// turnId / source. Defensive-fill from ctx so a compactor that obeyed
|
|
@@ -141,6 +147,7 @@ export async function runCompactionIfNeeded(ctx) {
|
|
|
141
147
|
...result,
|
|
142
148
|
};
|
|
143
149
|
await ctx.emit(emittable);
|
|
150
|
+
return true;
|
|
144
151
|
}
|
|
145
152
|
catch (err) {
|
|
146
153
|
await ctx.emit({
|
|
@@ -151,6 +158,28 @@ export async function runCompactionIfNeeded(ctx) {
|
|
|
151
158
|
kind: 'retryable',
|
|
152
159
|
message: `compactor.compact threw: ${err instanceof Error ? err.message : String(err)}`,
|
|
153
160
|
});
|
|
161
|
+
return false;
|
|
154
162
|
}
|
|
155
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* Heuristic: does this provider error mean "the request was too big for the
|
|
166
|
+
* model's context window"? Providers phrase it many ways (OpenAI "maximum
|
|
167
|
+
* context length is N tokens", Anthropic "prompt is too long", the runner's
|
|
168
|
+
* own "input exceeds context window"), and it usually arrives as a
|
|
169
|
+
* non-retryable 400 — so the turn loop matches on it to compact + retry
|
|
170
|
+
* instead of dying.
|
|
171
|
+
*/
|
|
172
|
+
const CONTEXT_OVERFLOW_PATTERNS = [
|
|
173
|
+
/context[\s_-]{0,2}(window|length)/i,
|
|
174
|
+
/maximum context/i,
|
|
175
|
+
/context_length_exceeded/i,
|
|
176
|
+
/exceeds?\b[^.]{0,24}context/i,
|
|
177
|
+
/input[^.]{0,24}(exceeds|too long|too large|too many)/i,
|
|
178
|
+
/too many (input )?tokens/i,
|
|
179
|
+
/prompt is too long/i,
|
|
180
|
+
/reduce the length/i,
|
|
181
|
+
];
|
|
182
|
+
export function isContextOverflowError(message) {
|
|
183
|
+
return CONTEXT_OVERFLOW_PATTERNS.some((re) => re.test(message));
|
|
184
|
+
}
|
|
156
185
|
//# sourceMappingURL=compactor-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compactor-helpers.js","sourceRoot":"","sources":["../src/compactor-helpers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"compactor-helpers.js","sourceRoot":"","sources":["../src/compactor-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAK5B;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAmB;IACvD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;IAC3B,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC5B,KAAK,IAAI,GAAG,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;gBACpE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;YACD,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAAE,SAAS;QACvC,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACzD,MAAM,QAAQ,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAChF,KAAK,IAAI,cAAc,CAAC,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC;YAC9E,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,IAAI,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACjG,KAAK,IAAI,kBAAkB,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YAC3F,SAAS;QACX,CAAC;QACD,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,UAAU,CAAC,CAAa;IAC/B,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,aAAa;YAChB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QACvB,KAAK,mBAAmB;YACtB,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1B,KAAK,qBAAqB;YACxB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9C,KAAK,aAAa;YAChB,IAAI,CAAC,CAAC,KAAK;gBAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;YACxD,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YACzD,OAAO,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC/B;YACE,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,CAAU;IAC7B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAgB,EAChB,OAAqC,EAAE;IAEvC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;IAChC,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAE7B,qEAAqE;IACrE,qEAAqE;IACrE,mEAAmE;IACnE,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,aAAa,GAAG,UAAU,EAAE,aAAa,CAAC;IAChD,IAAI,CAAC,aAAa,IAAI,aAAa,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvD,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEtC,MAAM,MAAM,GAAG;QACb,aAAa;QACb,eAAe,EAAE,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC;QAC/C,gBAAgB,EAAE,UAAU,EAAE,eAAe,IAAI,CAAC;KAC1C,CAAC;IAEX,wEAAwE;IACxE,wEAAwE;IACxE,0EAA0E;IAC1E,oBAAoB;IACpB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC;YACH,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,kCAAkC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;aAC9F,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;YAC7C,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,MAAM;YACN,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAChF,yEAAyE;QACzE,uEAAuE;QACvE,sEAAsE;QACtE,yDAAyD;QACzD,MAAM,SAAS,GAAiB;YAC9B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,MAAM,EAAE,WAAW;YACnB,GAAG,MAAM;SACM,CAAC;QAClB,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,4BAA4B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACxF,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,yBAAyB,GAA0B;IACvD,oCAAoC;IACpC,kBAAkB;IAClB,0BAA0B;IAC1B,8BAA8B;IAC9B,uDAAuD;IACvD,2BAA2B;IAC3B,qBAAqB;IACrB,oBAAoB;CACrB,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAClE,CAAC"}
|
package/dist/define.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { CacheStrategyDef } from './cache-strategy.js';
|
|
|
3
3
|
import type { ChannelDef } from './channel.js';
|
|
4
4
|
import type { CommandDef } from './command.js';
|
|
5
5
|
import type { CompactorDef } from './compactor.js';
|
|
6
|
+
import type { EmbedderDef } from './embedding.js';
|
|
6
7
|
import type { ModeDef } from './mode.js';
|
|
7
8
|
import type { PermissionRule } from './permission.js';
|
|
8
9
|
import type { Plugin, PluginSpec } from './plugin.js';
|
|
@@ -13,6 +14,7 @@ import type { ToolIsolationSpec } from './isolation.js';
|
|
|
13
14
|
import type { TranscriberDef } from './transcriber.js';
|
|
14
15
|
import type { ViewRendererDef } from './view-renderer.js';
|
|
15
16
|
import type { TunnelProviderDef } from './tunnel.js';
|
|
17
|
+
import type { WorkflowExecutorDef } from './workflow.js';
|
|
16
18
|
import type { z } from 'zod';
|
|
17
19
|
export declare function definePlugin(spec: PluginSpec): Plugin;
|
|
18
20
|
/**
|
|
@@ -46,6 +48,8 @@ export declare function defineSkill(spec: {
|
|
|
46
48
|
body: string;
|
|
47
49
|
}): SkillDef;
|
|
48
50
|
export declare function defineTranscriber(spec: TranscriberDef): TranscriberDef;
|
|
51
|
+
export declare function defineEmbedder(spec: EmbedderDef): EmbedderDef;
|
|
49
52
|
export declare function defineCommand(spec: CommandDef): CommandDef;
|
|
50
53
|
export declare function defineAgent(spec: AgentDef): AgentDef;
|
|
54
|
+
export declare function defineWorkflowExecutor(spec: WorkflowExecutorDef): WorkflowExecutorDef;
|
|
51
55
|
//# sourceMappingURL=define.d.ts.map
|
package/dist/define.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CASrD;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClE,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC/B,GAAG,OAAO,CAYV;AAOD,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAE7D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAEjD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAEhE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB,CAE5E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAEzE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,CAE/E;AAED,wBAAgB,aAAa,CAAC,UAAU,GAAG,OAAO,EAChD,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,GAC3B,UAAU,CAAC,UAAU,CAAC,CAExB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,CAErE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,WAAW,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,CAE3F;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,CAEtE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,CAE7D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAE1D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAEpD;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,GAAG,mBAAmB,CAErF"}
|
package/dist/define.js
CHANGED
|
@@ -62,10 +62,16 @@ export function defineSkill(spec) {
|
|
|
62
62
|
export function defineTranscriber(spec) {
|
|
63
63
|
return Object.freeze(spec);
|
|
64
64
|
}
|
|
65
|
+
export function defineEmbedder(spec) {
|
|
66
|
+
return Object.freeze(spec);
|
|
67
|
+
}
|
|
65
68
|
export function defineCommand(spec) {
|
|
66
69
|
return Object.freeze(spec);
|
|
67
70
|
}
|
|
68
71
|
export function defineAgent(spec) {
|
|
69
72
|
return Object.freeze(spec);
|
|
70
73
|
}
|
|
74
|
+
export function defineWorkflowExecutor(spec) {
|
|
75
|
+
return Object.freeze(spec);
|
|
76
|
+
}
|
|
71
77
|
//# sourceMappingURL=define.js.map
|
package/dist/define.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,YAAY,CAAC,IAAgB;IAC3C,mEAAmE;IACnE,2EAA2E;IAC3E,sBAAsB;IACtB,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,IAAI;QACP,OAAO,EAAE,QAAiB;QAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO;KACjC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAsC,IAU/D;IACC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,OAA2E;QACzF,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,wEAAwE;AACxE,sEAAsE;AACtE,6DAA6D;AAC7D,+DAA+D;AAE/D,MAAM,UAAU,cAAc,CAAC,IAAiB;IAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAkB;IAChD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAsB;IACxD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAqB;IACtD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAuB;IAC1D,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,IAA4B;IAE5B,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAoB;IACnD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAqD;IAC/E,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAoB;IACpD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAiB;IAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAgB;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAc;IACxC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAyB;IAC9D,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
|
package/dist/embedding.d.ts
CHANGED
|
@@ -18,4 +18,21 @@ export interface EmbeddingProvider {
|
|
|
18
18
|
/** Embed a batch of strings. Returns vectors in input order. */
|
|
19
19
|
embed(texts: ReadonlyArray<string>): Promise<ReadonlyArray<ReadonlyArray<number>>>;
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Plugin-side definition of an embedder. Mirrors `TranscriberDef` / `ProviderDef`:
|
|
23
|
+
* a `createClient(config)` factory the `EmbedderRegistry` calls when the user
|
|
24
|
+
* activates this embedder by name. Plugins contribute these via
|
|
25
|
+
* `PluginSpec.embedders`, so a user can install a new embedder package and
|
|
26
|
+
* select it by config without forking the host.
|
|
27
|
+
*
|
|
28
|
+
* `createClient` MUST be cheap — defer heavy model loading (onnx, transformers,
|
|
29
|
+
* network clients) into the returned provider's `embed()` so that merely
|
|
30
|
+
* registering a discovered embedder plugin never pulls its runtime in.
|
|
31
|
+
*/
|
|
32
|
+
export interface EmbedderDef {
|
|
33
|
+
readonly name: string;
|
|
34
|
+
/** Optional human-readable label for UI surfaces. */
|
|
35
|
+
readonly displayName?: string;
|
|
36
|
+
createClient(config: Record<string, unknown>): EmbeddingProvider;
|
|
37
|
+
}
|
|
21
38
|
//# sourceMappingURL=embedding.d.ts.map
|
package/dist/embedding.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../src/embedding.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjC,gEAAgE;IAChE,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CACpF"}
|
|
1
|
+
{"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../src/embedding.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjC,gEAAgE;IAChE,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CACpF;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,iBAAiB,CAAC;CAClE"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* earn their place by mapping to a different recovery action than any
|
|
19
19
|
* existing one.
|
|
20
20
|
*/
|
|
21
|
-
export type MoxxyErrorCode = 'NETWORK_UNREACHABLE' | 'NETWORK_TIMEOUT' | 'NETWORK_TLS_FAILURE' | 'NETWORK_ABORTED' | 'AUTH_NO_CREDENTIALS' | 'AUTH_EXPIRED' | 'AUTH_INVALID' | 'AUTH_DENIED' | 'OAUTH_FLOW_TIMEOUT' | 'OAUTH_FLOW_DENIED' | 'OAUTH_FLOW_STATE_MISMATCH' | 'OAUTH_FLOW_PORT_BUSY' | 'OAUTH_FLOW_NOT_SUPPORTED' | 'PROVIDER_NOT_CONFIGURED' | 'PROVIDER_RATE_LIMITED' | 'PROVIDER_SERVER_ERROR' | 'PROVIDER_BAD_REQUEST' | 'PROVIDER_UNKNOWN_RESPONSE' | 'VAULT_PASSPHRASE' | 'VAULT_CORRUPT' | 'CONFIG_INVALID' | 'PLUGIN_LOAD_FAILED' | 'UNKNOWN_COMMAND' | 'INTERNAL';
|
|
21
|
+
export type MoxxyErrorCode = 'NETWORK_UNREACHABLE' | 'NETWORK_TIMEOUT' | 'NETWORK_TLS_FAILURE' | 'NETWORK_ABORTED' | 'AUTH_NO_CREDENTIALS' | 'AUTH_EXPIRED' | 'AUTH_INVALID' | 'AUTH_DENIED' | 'OAUTH_FLOW_TIMEOUT' | 'OAUTH_FLOW_DENIED' | 'OAUTH_FLOW_STATE_MISMATCH' | 'OAUTH_FLOW_PORT_BUSY' | 'OAUTH_FLOW_NOT_SUPPORTED' | 'PROVIDER_NOT_CONFIGURED' | 'PROVIDER_RATE_LIMITED' | 'PROVIDER_SERVER_ERROR' | 'PROVIDER_BAD_REQUEST' | 'PROVIDER_UNKNOWN_RESPONSE' | 'VAULT_PASSPHRASE' | 'VAULT_CORRUPT' | 'CONFIG_INVALID' | 'PLUGIN_LOAD_FAILED' | 'UNKNOWN_COMMAND' | 'TOOL_ERROR' | 'ABORTED' | 'INTERNAL';
|
|
22
22
|
export interface MoxxyErrorInit {
|
|
23
23
|
readonly code: MoxxyErrorCode;
|
|
24
24
|
readonly message: string;
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAEtB,qBAAqB,GACrB,iBAAiB,GACjB,qBAAqB,GACrB,iBAAiB,GAEjB,qBAAqB,GACrB,cAAc,GACd,cAAc,GACd,aAAa,GAEb,oBAAoB,GACpB,mBAAmB,GACnB,2BAA2B,GAC3B,sBAAsB,GACtB,0BAA0B,GAE1B,yBAAyB,GACzB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,2BAA2B,GAE3B,kBAAkB,GAClB,eAAe,GAEf,gBAAgB,GAChB,oBAAoB,GACpB,iBAAiB,GAEjB,UAAU,CAAC;AAEf,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;IAC7D,wDAAwD;IACxD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;gBAEjD,IAAI,EAAE,cAAc;IAQhC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU;IAOpD;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,UAAU;CAI3E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,OAAO,EACZ,GAAG,GAAE;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9D,UAAU,GAAG,IAAI,CA6GnB;AAgBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,GAAG,GAAE;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACtF,UAAU,GAAG,IAAI,CAgDnB"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAEtB,qBAAqB,GACrB,iBAAiB,GACjB,qBAAqB,GACrB,iBAAiB,GAEjB,qBAAqB,GACrB,cAAc,GACd,cAAc,GACd,aAAa,GAEb,oBAAoB,GACpB,mBAAmB,GACnB,2BAA2B,GAC3B,sBAAsB,GACtB,0BAA0B,GAE1B,yBAAyB,GACzB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,2BAA2B,GAE3B,kBAAkB,GAClB,eAAe,GAEf,gBAAgB,GAChB,oBAAoB,GACpB,iBAAiB,GAEjB,YAAY,GACZ,SAAS,GAET,UAAU,CAAC;AAEf,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;IAC7D,wDAAwD;IACxD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;gBAEjD,IAAI,EAAE,cAAc;IAQhC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU;IAOpD;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,UAAU;CAI3E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,OAAO,EACZ,GAAG,GAAE;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9D,UAAU,GAAG,IAAI,CA6GnB;AAgBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,GAAG,GAAE;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACtF,UAAU,GAAG,IAAI,CAgDnB"}
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface WriteFileAtomicOptions {
|
|
2
|
+
/** Mode for the final file, e.g. `0o600` for secrets. Enforced past umask. */
|
|
3
|
+
readonly mode?: number;
|
|
4
|
+
/** Encoding when `data` is a string. Defaults to `'utf8'`. Ignored for bytes. */
|
|
5
|
+
readonly encoding?: BufferEncoding;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Crash-atomic file write: write a unique sibling temp file, then `rename` it
|
|
9
|
+
* over the target. POSIX `rename` is atomic on the same filesystem, so a crash
|
|
10
|
+
* (or full disk) mid-write leaves the previous file intact rather than a
|
|
11
|
+
* truncated one. The temp name carries pid + a random UUID so concurrent
|
|
12
|
+
* writers to the same target never collide on the temp path.
|
|
13
|
+
*
|
|
14
|
+
* This is the single home for the framework's "persist atomically" invariant —
|
|
15
|
+
* every file-state writer (vault, memory, permissions, sessions, the Write/Edit
|
|
16
|
+
* tools) should call this instead of hand-rolling tmp+rename or writing in place.
|
|
17
|
+
*/
|
|
18
|
+
export declare function writeFileAtomic(target: string, data: string | Uint8Array, opts?: WriteFileAtomicOptions): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* The moxxy home directory: `$MOXXY_HOME` when set, else `~/.moxxy`. Single
|
|
21
|
+
* source of truth so the env override is honored uniformly — previously half
|
|
22
|
+
* the plugins inlined `~/.moxxy` and ignored `MOXXY_HOME`.
|
|
23
|
+
*/
|
|
24
|
+
export declare function moxxyHome(): string;
|
|
25
|
+
/** Join path segments under {@link moxxyHome}. */
|
|
26
|
+
export declare function moxxyPath(...segments: string[]): string;
|
|
27
|
+
//# sourceMappingURL=fs-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs-utils.d.ts","sourceRoot":"","sources":["../src/fs-utils.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,sBAAsB;IACrC,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;CACpC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GAAG,UAAU,EACzB,IAAI,GAAE,sBAA2B,GAChC,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,kDAAkD;AAClD,wBAAgB,SAAS,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAEvD"}
|