@moxxy/core 0.5.0 → 0.5.2
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/events/log.d.ts.map +1 -1
- package/dist/events/log.js +38 -1
- package/dist/events/log.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/permissions/engine.d.ts.map +1 -1
- package/dist/permissions/engine.js +80 -17
- package/dist/permissions/engine.js.map +1 -1
- package/dist/plugins/discovery.d.ts.map +1 -1
- package/dist/plugins/discovery.js +48 -7
- package/dist/plugins/discovery.js.map +1 -1
- package/dist/plugins/host.d.ts.map +1 -1
- package/dist/plugins/host.js +54 -11
- package/dist/plugins/host.js.map +1 -1
- package/dist/plugins/lifecycle.d.ts.map +1 -1
- package/dist/plugins/lifecycle.js +7 -0
- package/dist/plugins/lifecycle.js.map +1 -1
- package/dist/plugins/loader.d.ts +9 -0
- package/dist/plugins/loader.d.ts.map +1 -1
- package/dist/plugins/loader.js +34 -8
- package/dist/plugins/loader.js.map +1 -1
- package/dist/plugins/registry-kinds.d.ts +21 -2
- package/dist/plugins/registry-kinds.d.ts.map +1 -1
- package/dist/plugins/registry-kinds.js +3 -1
- package/dist/plugins/registry-kinds.js.map +1 -1
- package/dist/plugins/toposort.d.ts.map +1 -1
- package/dist/plugins/toposort.js +43 -18
- package/dist/plugins/toposort.js.map +1 -1
- package/dist/preferences.d.ts.map +1 -1
- package/dist/preferences.js +5 -4
- package/dist/preferences.js.map +1 -1
- package/dist/registries/active-backend-registry.d.ts.map +1 -1
- package/dist/registries/active-backend-registry.js +10 -1
- package/dist/registries/active-backend-registry.js.map +1 -1
- package/dist/registries/channels.d.ts +2 -1
- package/dist/registries/channels.d.ts.map +1 -1
- package/dist/registries/channels.js +30 -20
- package/dist/registries/channels.js.map +1 -1
- package/dist/registries/commands.d.ts.map +1 -1
- package/dist/registries/commands.js +27 -8
- package/dist/registries/commands.js.map +1 -1
- package/dist/registries/isolators.d.ts +27 -1
- package/dist/registries/isolators.d.ts.map +1 -1
- package/dist/registries/isolators.js +35 -1
- package/dist/registries/isolators.js.map +1 -1
- package/dist/registries/modes.d.ts +4 -0
- package/dist/registries/modes.d.ts.map +1 -1
- package/dist/registries/modes.js +15 -4
- package/dist/registries/modes.js.map +1 -1
- package/dist/registries/providers.d.ts +8 -0
- package/dist/registries/providers.d.ts.map +1 -1
- package/dist/registries/providers.js +8 -0
- package/dist/registries/providers.js.map +1 -1
- package/dist/registries/skills.d.ts +9 -0
- package/dist/registries/skills.d.ts.map +1 -1
- package/dist/registries/skills.js +22 -0
- package/dist/registries/skills.js.map +1 -1
- package/dist/requirements.d.ts.map +1 -1
- package/dist/requirements.js +7 -1
- package/dist/requirements.js.map +1 -1
- package/dist/run-turn.d.ts.map +1 -1
- package/dist/run-turn.js +65 -17
- package/dist/run-turn.js.map +1 -1
- package/dist/session.d.ts +9 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +25 -3
- package/dist/session.js.map +1 -1
- package/dist/sessions/persistence.d.ts +15 -19
- package/dist/sessions/persistence.d.ts.map +1 -1
- package/dist/sessions/persistence.js +116 -49
- package/dist/sessions/persistence.js.map +1 -1
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +11 -2
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/synthesize.d.ts.map +1 -1
- package/dist/skills/synthesize.js +87 -36
- package/dist/skills/synthesize.js.map +1 -1
- package/dist/subagents/events.js +33 -2
- package/dist/subagents/events.js.map +1 -1
- package/dist/subagents/registry.d.ts +22 -1
- package/dist/subagents/registry.d.ts.map +1 -1
- package/dist/subagents/registry.js +72 -2
- package/dist/subagents/registry.js.map +1 -1
- package/dist/subagents/run-child.d.ts.map +1 -1
- package/dist/subagents/run-child.js +137 -46
- package/dist/subagents/run-child.js.map +1 -1
- package/dist/surfaces/host.d.ts +10 -0
- package/dist/surfaces/host.d.ts.map +1 -1
- package/dist/surfaces/host.js +41 -3
- package/dist/surfaces/host.js.map +1 -1
- package/dist/usage-stats.d.ts +7 -1
- package/dist/usage-stats.d.ts.map +1 -1
- package/dist/usage-stats.js +41 -15
- package/dist/usage-stats.js.map +1 -1
- package/dist/view/parse.d.ts.map +1 -1
- package/dist/view/parse.js +119 -19
- package/dist/view/parse.js.map +1 -1
- package/package.json +2 -2
- package/src/events/log.test.ts +45 -0
- package/src/events/log.ts +39 -1
- package/src/index.ts +0 -1
- package/src/permissions/engine.test.ts +60 -0
- package/src/permissions/engine.ts +81 -16
- package/src/plugins/discovery.test.ts +59 -1
- package/src/plugins/discovery.ts +57 -9
- package/src/plugins/host.test.ts +40 -0
- package/src/plugins/host.ts +48 -10
- package/src/plugins/lifecycle.test.ts +29 -0
- package/src/plugins/lifecycle.ts +7 -0
- package/src/plugins/loader.ts +45 -7
- package/src/plugins/registry-kinds.test.ts +53 -0
- package/src/plugins/registry-kinds.ts +25 -3
- package/src/plugins/toposort.ts +45 -17
- package/src/preferences.test.ts +52 -1
- package/src/preferences.ts +5 -4
- package/src/registries/active-backend-registry.ts +10 -1
- package/src/registries/channels.test.ts +79 -0
- package/src/registries/channels.ts +33 -18
- package/src/registries/commands.test.ts +65 -0
- package/src/registries/commands.ts +25 -8
- package/src/registries/isolators.test.ts +37 -0
- package/src/registries/isolators.ts +48 -1
- package/src/registries/modes.test.ts +21 -1
- package/src/registries/modes.ts +15 -2
- package/src/registries/providers.ts +8 -0
- package/src/registries/semantics.test.ts +33 -1
- package/src/registries/skills.ts +28 -0
- package/src/registries/transcribers.test.ts +13 -0
- package/src/requirements.test.ts +35 -0
- package/src/requirements.ts +7 -1
- package/src/run-turn.test.ts +219 -0
- package/src/run-turn.ts +68 -18
- package/src/session.test.ts +24 -0
- package/src/session.ts +24 -3
- package/src/sessions/page.test.ts +18 -39
- package/src/sessions/persistence.test.ts +93 -1
- package/src/sessions/persistence.ts +138 -68
- package/src/skills/loader.test.ts +18 -0
- package/src/skills/loader.ts +12 -1
- package/src/skills/synthesize.test.ts +59 -0
- package/src/skills/synthesize.ts +89 -36
- package/src/subagents/events.test.ts +56 -0
- package/src/subagents/events.ts +32 -2
- package/src/subagents/registry.test.ts +106 -0
- package/src/subagents/registry.ts +77 -3
- package/src/subagents/run-child.test.ts +163 -2
- package/src/subagents/run-child.ts +151 -47
- package/src/surfaces/host.test.ts +71 -1
- package/src/surfaces/host.ts +39 -2
- package/src/usage-stats.test.ts +99 -1
- package/src/usage-stats.ts +42 -17
- package/src/view/parse-extended.test.ts +80 -0
- package/src/view/parse.test.ts +14 -0
- package/src/view/parse.ts +113 -18
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import type { Isolator } from '@moxxy/sdk';
|
|
2
|
+
import type { Logger } from '../logger.js';
|
|
3
|
+
export interface IsolatorRegisterOptions {
|
|
4
|
+
/**
|
|
5
|
+
* True when the isolator comes from a statically-registered (trusted)
|
|
6
|
+
* builtin, false for a discovered (untrusted) plugin. A discovered isolator
|
|
7
|
+
* is never allowed to shadow a name already claimed by a trusted one.
|
|
8
|
+
*/
|
|
9
|
+
readonly trusted?: boolean;
|
|
10
|
+
readonly logger?: Logger;
|
|
11
|
+
}
|
|
2
12
|
/**
|
|
3
13
|
* Collection of capability isolators contributed by plugins via
|
|
4
14
|
* `PluginSpec.isolators`. Unlike the single-active registries, this is just the
|
|
@@ -9,10 +19,26 @@ import type { Isolator } from '@moxxy/sdk';
|
|
|
9
19
|
* A contributed isolator is therefore NEVER auto-activated: registration only
|
|
10
20
|
* makes it available; the user must opt in by name, so a rogue plugin can't
|
|
11
21
|
* silently weaken isolation just by being installed.
|
|
22
|
+
*
|
|
23
|
+
* This is the one registry where "last wins" crosses a trust boundary: a
|
|
24
|
+
* discovered plugin contributing an isolator whose name matches a trusted
|
|
25
|
+
* builtin would silently swap the implementation the security layer resolves by
|
|
26
|
+
* `security.isolator`. So a discovered registration may NEVER overwrite a name
|
|
27
|
+
* a trusted registration already claimed; it's refused with a warning.
|
|
12
28
|
*/
|
|
13
29
|
export declare class IsolatorRegistry {
|
|
14
30
|
private readonly impls;
|
|
15
|
-
|
|
31
|
+
/** Names registered by a trusted (static) source — these are never shadowed. */
|
|
32
|
+
private readonly trustedNames;
|
|
33
|
+
/**
|
|
34
|
+
* Register an isolator by name. Returns `true` when the impl was stored,
|
|
35
|
+
* `false` when the registration was REFUSED (a discovered plugin trying to
|
|
36
|
+
* shadow a trusted name). The boolean lets the PluginHost avoid tracking a
|
|
37
|
+
* refused registration for rollback — otherwise a later mid-`applyPlugin`
|
|
38
|
+
* failure would `unregister(name)` and delete the very trusted isolator the
|
|
39
|
+
* refusal protected.
|
|
40
|
+
*/
|
|
41
|
+
register(iso: Isolator, opts?: IsolatorRegisterOptions): boolean;
|
|
16
42
|
unregister(name: string): void;
|
|
17
43
|
get(name: string): Isolator | undefined;
|
|
18
44
|
has(name: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isolators.d.ts","sourceRoot":"","sources":["../../src/registries/isolators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"isolators.d.ts","sourceRoot":"","sources":["../../src/registries/isolators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+B;IACrD,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAElD;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAE,uBAA4B,GAAG,OAAO;IAyBpE,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK9B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIvC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC;CAGhC"}
|
|
@@ -8,16 +8,50 @@
|
|
|
8
8
|
* A contributed isolator is therefore NEVER auto-activated: registration only
|
|
9
9
|
* makes it available; the user must opt in by name, so a rogue plugin can't
|
|
10
10
|
* silently weaken isolation just by being installed.
|
|
11
|
+
*
|
|
12
|
+
* This is the one registry where "last wins" crosses a trust boundary: a
|
|
13
|
+
* discovered plugin contributing an isolator whose name matches a trusted
|
|
14
|
+
* builtin would silently swap the implementation the security layer resolves by
|
|
15
|
+
* `security.isolator`. So a discovered registration may NEVER overwrite a name
|
|
16
|
+
* a trusted registration already claimed; it's refused with a warning.
|
|
11
17
|
*/
|
|
12
18
|
export class IsolatorRegistry {
|
|
13
19
|
impls = new Map();
|
|
14
|
-
|
|
20
|
+
/** Names registered by a trusted (static) source — these are never shadowed. */
|
|
21
|
+
trustedNames = new Set();
|
|
22
|
+
/**
|
|
23
|
+
* Register an isolator by name. Returns `true` when the impl was stored,
|
|
24
|
+
* `false` when the registration was REFUSED (a discovered plugin trying to
|
|
25
|
+
* shadow a trusted name). The boolean lets the PluginHost avoid tracking a
|
|
26
|
+
* refused registration for rollback — otherwise a later mid-`applyPlugin`
|
|
27
|
+
* failure would `unregister(name)` and delete the very trusted isolator the
|
|
28
|
+
* refusal protected.
|
|
29
|
+
*/
|
|
30
|
+
register(iso, opts = {}) {
|
|
31
|
+
const trusted = opts.trusted ?? true;
|
|
32
|
+
if (!trusted && this.trustedNames.has(iso.name)) {
|
|
33
|
+
// A discovered plugin must not shadow a trusted isolator: that would let
|
|
34
|
+
// it silently weaken an isolation boundary the user already opted into.
|
|
35
|
+
opts.logger?.warn('IsolatorRegistry: refusing to let a discovered plugin shadow a trusted isolator', { name: iso.name });
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
if (this.impls.has(iso.name) && !trusted) {
|
|
39
|
+
// Replacing an existing (untrusted) entry from another discovered copy:
|
|
40
|
+
// allowed (same name → same role) but surfaced so it isn't silent.
|
|
41
|
+
opts.logger?.warn('IsolatorRegistry: a discovered isolator overwrote an existing name', {
|
|
42
|
+
name: iso.name,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
15
45
|
// Overwrite by name: an isolator may arrive via more than one path (a
|
|
16
46
|
// bundled built-in AND a discovered copy). Same name → same role; last wins.
|
|
17
47
|
this.impls.set(iso.name, iso);
|
|
48
|
+
if (trusted)
|
|
49
|
+
this.trustedNames.add(iso.name);
|
|
50
|
+
return true;
|
|
18
51
|
}
|
|
19
52
|
unregister(name) {
|
|
20
53
|
this.impls.delete(name);
|
|
54
|
+
this.trustedNames.delete(name);
|
|
21
55
|
}
|
|
22
56
|
get(name) {
|
|
23
57
|
return this.impls.get(name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isolators.js","sourceRoot":"","sources":["../../src/registries/isolators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"isolators.js","sourceRoot":"","sources":["../../src/registries/isolators.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,gBAAgB;IACV,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IACrD,gFAAgF;IAC/D,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAElD;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAa,EAAE,OAAgC,EAAE;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,yEAAyE;YACzE,wEAAwE;YACxE,IAAI,CAAC,MAAM,EAAE,IAAI,CACf,iFAAiF,EACjF,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CACnB,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,wEAAwE;YACxE,mEAAmE;YACnE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,oEAAoE,EAAE;gBACtF,IAAI,EAAE,GAAG,CAAC,IAAI;aACf,CAAC,CAAC;QACL,CAAC;QACD,sEAAsE;QACtE,6EAA6E;QAC7E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9B,IAAI,OAAO;YAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,CAAC;CACF"}
|
|
@@ -24,5 +24,9 @@ export declare class ModeRegistry {
|
|
|
24
24
|
setActive(name: string): void;
|
|
25
25
|
getActive(): ModeDef;
|
|
26
26
|
private activate;
|
|
27
|
+
/** Fan out to change listeners, isolating each fault so a single throwing
|
|
28
|
+
* observer (e.g. the runner's InfoChanged broadcast hitting a dead socket)
|
|
29
|
+
* can't abort the rest or unwind into register()/replace()/setActive(). */
|
|
30
|
+
private notifyChange;
|
|
27
31
|
}
|
|
28
32
|
//# sourceMappingURL=modes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../src/registries/modes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAE3D,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IACpD,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IAEzD;;8EAE0E;IAC1E,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAK1C;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAQ7B,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAe5B;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK9B,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC;IAI9B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAU7B,SAAS,IAAI,OAAO;IAOpB,OAAO,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../src/registries/modes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAE3D,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IACpD,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IAEzD;;8EAE0E;IAC1E,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAK1C;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAQ7B,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAe5B;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK9B,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC;IAI9B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAU7B,SAAS,IAAI,OAAO;IAOpB,OAAO,CAAC,QAAQ;IAMhB;;gFAE4E;IAC5E,OAAO,CAAC,YAAY;CASrB"}
|
package/dist/registries/modes.js
CHANGED
|
@@ -35,8 +35,7 @@ export class ModeRegistry {
|
|
|
35
35
|
// active behaviour changed under them, or remote clients keep driving the
|
|
36
36
|
// stale def. `activate()` would early-return on the name match, so notify
|
|
37
37
|
// directly.
|
|
38
|
-
|
|
39
|
-
fn();
|
|
38
|
+
this.notifyChange();
|
|
40
39
|
}
|
|
41
40
|
}
|
|
42
41
|
/**
|
|
@@ -74,8 +73,20 @@ export class ModeRegistry {
|
|
|
74
73
|
if (this.active === mode.name)
|
|
75
74
|
return;
|
|
76
75
|
this.active = mode.name;
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
this.notifyChange();
|
|
77
|
+
}
|
|
78
|
+
/** Fan out to change listeners, isolating each fault so a single throwing
|
|
79
|
+
* observer (e.g. the runner's InfoChanged broadcast hitting a dead socket)
|
|
80
|
+
* can't abort the rest or unwind into register()/replace()/setActive(). */
|
|
81
|
+
notifyChange() {
|
|
82
|
+
for (const fn of this.changeListeners) {
|
|
83
|
+
try {
|
|
84
|
+
fn();
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
// Swallow: an observer fault must not break mode activation.
|
|
88
|
+
}
|
|
89
|
+
}
|
|
79
90
|
}
|
|
80
91
|
}
|
|
81
92
|
//# sourceMappingURL=modes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modes.js","sourceRoot":"","sources":["../../src/registries/modes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAgB,MAAM,YAAY,CAAC;AAE3D,MAAM,OAAO,YAAY;IACN,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC5C,MAAM,GAAkB,IAAI,CAAC;IACpB,eAAe,GAAG,IAAI,GAAG,EAAc,CAAC;IAEzD;;8EAE0E;IAC1E,cAAc,CAAC,EAAc;QAC3B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,IAAa;QACpB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,IAAa;QACnB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACrC,uEAAuE;YACvE,uEAAuE;YACvE,0EAA0E;YAC1E,0EAA0E;YAC1E,0EAA0E;YAC1E,YAAY;YACZ,
|
|
1
|
+
{"version":3,"file":"modes.js","sourceRoot":"","sources":["../../src/registries/modes.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,14 @@ export declare class ProviderRegistry {
|
|
|
37
37
|
*/
|
|
38
38
|
setEnabled(name: string, enabled: boolean): void;
|
|
39
39
|
isEnabled(name: string): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Activate a provider, building its client on first activation. NOTE: once an
|
|
42
|
+
* instance is cached, a later `setActive(name, newConfig)` REUSES the cached
|
|
43
|
+
* instance and DROPS `newConfig` — re-config requires `replace()` first
|
|
44
|
+
* (which clears the cache), the flow the sole production caller follows.
|
|
45
|
+
* Reconfiguring by rebuilding here is intentionally avoided so callers don't
|
|
46
|
+
* silently lose instance identity / in-flight state on a redundant activate.
|
|
47
|
+
*/
|
|
40
48
|
setActive(name: string, config?: Record<string, unknown>): LLMProvider;
|
|
41
49
|
getActive(): LLMProvider;
|
|
42
50
|
getActiveName(): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/registries/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE3D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkC;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,MAAM,CAAuB;IACrC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAE9C;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI;IAQxD;;;;;;;;;OASG;IACH,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI;IAMvD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM9B,IAAI,IAAI,aAAa,CAAC,WAAW,CAAC;IAIlC;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAQhD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIhC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;IAetE,SAAS,IAAI,WAAW;IAOxB,aAAa,IAAI,MAAM,GAAG,IAAI;CAG/B"}
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/registries/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE3D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkC;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,MAAM,CAAuB;IACrC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAE9C;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI;IAQxD;;;;;;;;;OASG;IACH,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI;IAMvD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM9B,IAAI,IAAI,aAAa,CAAC,WAAW,CAAC;IAIlC;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAQhD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIhC;;;;;;;OAOG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW;IAetE,SAAS,IAAI,WAAW;IAOxB,aAAa,IAAI,MAAM,GAAG,IAAI;CAG/B"}
|
|
@@ -65,6 +65,14 @@ export class ProviderRegistry {
|
|
|
65
65
|
isEnabled(name) {
|
|
66
66
|
return !this.disabled.has(name);
|
|
67
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Activate a provider, building its client on first activation. NOTE: once an
|
|
70
|
+
* instance is cached, a later `setActive(name, newConfig)` REUSES the cached
|
|
71
|
+
* instance and DROPS `newConfig` — re-config requires `replace()` first
|
|
72
|
+
* (which clears the cache), the flow the sole production caller follows.
|
|
73
|
+
* Reconfiguring by rebuilding here is intentionally avoided so callers don't
|
|
74
|
+
* silently lose instance identity / in-flight state on a redundant activate.
|
|
75
|
+
*/
|
|
68
76
|
setActive(name, config) {
|
|
69
77
|
const def = this.defs.get(name);
|
|
70
78
|
if (!def)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/registries/providers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/registries/providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import type { Skill, SkillRegistry } from '@moxxy/sdk';
|
|
2
|
+
import type { Logger } from '../logger.js';
|
|
2
3
|
export declare class SkillRegistryImpl implements SkillRegistry {
|
|
3
4
|
private readonly byId;
|
|
4
5
|
private readonly byNameIdx;
|
|
6
|
+
private readonly logger?;
|
|
7
|
+
constructor(opts?: {
|
|
8
|
+
logger?: Logger;
|
|
9
|
+
});
|
|
10
|
+
/** Warn (don't silently last-wins) when two distinct skills fight over one
|
|
11
|
+
* frontmatter.name — otherwise byName() is non-deterministic by load order
|
|
12
|
+
* and the first skill becomes unreachable by name. */
|
|
13
|
+
private warnNameCollision;
|
|
5
14
|
list(): ReadonlyArray<Skill>;
|
|
6
15
|
get(id: string): Skill | undefined;
|
|
7
16
|
byName(name: string): Skill | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/registries/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/registries/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,qBAAa,iBAAkB,YAAW,aAAa;IACrD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4B;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;gBAErB,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO;IAI1C;;2DAEuD;IACvD,OAAO,CAAC,iBAAiB;IAWzB,IAAI,IAAI,aAAa,CAAC,KAAK,CAAC;IAI5B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAIlC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAIvC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;IAUtD;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAS5B,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAc3B,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAO5B,KAAK,IAAI,IAAI;IAKb;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,IAAI;CAsB/C"}
|
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
export class SkillRegistryImpl {
|
|
2
2
|
byId = new Map();
|
|
3
3
|
byNameIdx = new Map();
|
|
4
|
+
logger;
|
|
5
|
+
constructor(opts = {}) {
|
|
6
|
+
this.logger = opts.logger;
|
|
7
|
+
}
|
|
8
|
+
/** Warn (don't silently last-wins) when two distinct skills fight over one
|
|
9
|
+
* frontmatter.name — otherwise byName() is non-deterministic by load order
|
|
10
|
+
* and the first skill becomes unreachable by name. */
|
|
11
|
+
warnNameCollision(name, incomingId) {
|
|
12
|
+
const existing = this.byNameIdx.get(name);
|
|
13
|
+
if (existing && existing.id !== incomingId) {
|
|
14
|
+
this.logger?.warn('SkillRegistry: two skills share a frontmatter name; last one wins by name', {
|
|
15
|
+
name,
|
|
16
|
+
existingId: existing.id,
|
|
17
|
+
incomingId,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
4
21
|
list() {
|
|
5
22
|
return [...this.byId.values()];
|
|
6
23
|
}
|
|
@@ -28,6 +45,7 @@ export class SkillRegistryImpl {
|
|
|
28
45
|
if (this.byId.has(skill.id)) {
|
|
29
46
|
throw new Error(`Skill already registered: ${skill.id}`);
|
|
30
47
|
}
|
|
48
|
+
this.warnNameCollision(skill.frontmatter.name, skill.id);
|
|
31
49
|
this.byId.set(skill.id, skill);
|
|
32
50
|
this.byNameIdx.set(skill.frontmatter.name, skill);
|
|
33
51
|
}
|
|
@@ -65,6 +83,10 @@ export class SkillRegistryImpl {
|
|
|
65
83
|
const nextByName = new Map();
|
|
66
84
|
for (const s of skills) {
|
|
67
85
|
nextById.set(s.id, s);
|
|
86
|
+
const priorForName = nextByName.get(s.frontmatter.name);
|
|
87
|
+
if (priorForName && priorForName.id !== s.id) {
|
|
88
|
+
this.logger?.warn('SkillRegistry: two skills share a frontmatter name; last one wins by name', { name: s.frontmatter.name, existingId: priorForName.id, incomingId: s.id });
|
|
89
|
+
}
|
|
68
90
|
nextByName.set(s.frontmatter.name, s);
|
|
69
91
|
}
|
|
70
92
|
// Synchronous swap: callers between these lines still see the OLD
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/registries/skills.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/registries/skills.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,iBAAiB;IACX,IAAI,GAAG,IAAI,GAAG,EAAiB,CAAC;IAChC,SAAS,GAAG,IAAI,GAAG,EAAiB,CAAC;IACrC,MAAM,CAAU;IAEjC,YAAY,OAA4B,EAAE;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED;;2DAEuD;IAC/C,iBAAiB,CAAC,IAAY,EAAE,UAAkB;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,QAAQ,IAAI,QAAQ,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,2EAA2E,EAAE;gBAC7F,IAAI;gBACJ,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,UAAU;aACX,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,gBAAgB,CAAC,MAAc;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,OAAO,GAAY,EAAE,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC;YAClD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAY;QACnB,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,KAAY;QAClB,oEAAoE;QACpE,sEAAsE;QACtE,mEAAmE;QACnE,yEAAyE;QACzE,iBAAiB;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,MAA4B;QACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiB,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAiB,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACtB,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,YAAY,IAAI,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,EAAE,IAAI,CACf,2EAA2E,EAC3E,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAC5E,CAAC;YACJ,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,kEAAkE;QAClE,sEAAsE;QACtE,mEAAmE;QACnE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requirements.d.ts","sourceRoot":"","sources":["../src/requirements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAEhB,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,YAAY,EACZ,OAAO,EACP,WAAW,EACX,OAAO,EACP,cAAc,EACd,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,SAAS,GAAG,gBAAgB,CAAC;CACpF;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE;QACd,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;KACxC,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE;QAClB,IAAI,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;QACnC,aAAa,IAAI,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE;QACd,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/B,SAAS,IAAI,OAAO,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE;QACnB,IAAI,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;QACpC,SAAS,IAAI,YAAY,GAAG,IAAI,CAAC;KAClC,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE;QACjB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;KAC3C,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE;QACf,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;KACzC,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE;QACjB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;KAC3C,CAAC;IACF,QAAQ,CAAC,YAAY,EAAE;QACrB,IAAI,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;QACtC,aAAa,IAAI,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;IACF,QAAQ,CAAC,YAAY,EAAE;QACrB,IAAI,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;QACtC,aAAa,IAAI,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;CACH;AAwCD,qBAAa,mBAAmB;IAIlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;gBAElC,IAAI,EAAE,0BAA0B;IAE7D,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAInD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,gBAA0B,GAAG,IAAI;IAIjE,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,SAAS,GAAG,gBAAgB;IAUlF;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAI9D,OAAO,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"requirements.d.ts","sourceRoot":"","sources":["../src/requirements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAEhB,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,UAAU,EACV,YAAY,EACZ,OAAO,EACP,WAAW,EACX,OAAO,EACP,cAAc,EACd,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,SAAS,GAAG,gBAAgB,CAAC;CACpF;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE;QACd,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;KACxC,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE;QAClB,IAAI,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;QACnC,aAAa,IAAI,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE;QACd,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/B,SAAS,IAAI,OAAO,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE;QACnB,IAAI,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;QACpC,SAAS,IAAI,YAAY,GAAG,IAAI,CAAC;KAClC,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE;QACjB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;KAC3C,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE;QACf,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;KACzC,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE;QACjB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;KAC3C,CAAC;IACF,QAAQ,CAAC,YAAY,EAAE;QACrB,IAAI,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;QACtC,aAAa,IAAI,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;IACF,QAAQ,CAAC,YAAY,EAAE;QACrB,IAAI,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;QACtC,aAAa,IAAI,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;CACH;AAwCD,qBAAa,mBAAmB;IAIlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;gBAElC,IAAI,EAAE,0BAA0B;IAE7D,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAInD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,gBAA0B,GAAG,IAAI;IAIjE,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,SAAS,GAAG,gBAAgB;IAUlF;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAI9D,OAAO,CAAC,QAAQ;IA8BhB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,UAAU;CAmBnB"}
|
package/dist/requirements.js
CHANGED
|
@@ -44,7 +44,13 @@ export class RequirementRegistry {
|
|
|
44
44
|
if (!target) {
|
|
45
45
|
return issue(requirement, 'missing', `Required ${label(requirement.kind)} is not registered: ${requirement.name}`);
|
|
46
46
|
}
|
|
47
|
-
|
|
47
|
+
// `version` is only resolvable for the `plugin` kind (the sole kind whose
|
|
48
|
+
// `targetInfo` populates a version — see {@link targetInfo}). The SDK type
|
|
49
|
+
// permits `version` on every kind, so without this gate a `version` on any
|
|
50
|
+
// non-plugin kind would compare against an always-undefined `target.version`
|
|
51
|
+
// and report a permanent, spurious `version_mismatch` (target shown as
|
|
52
|
+
// `(unknown)`) even though the target is present and active.
|
|
53
|
+
if (requirement.kind === 'plugin' && requirement.version && target.version !== requirement.version) {
|
|
48
54
|
return issue(requirement, 'version_mismatch', `Required ${label(requirement.kind)} has version ${target.version ?? '(unknown)'}, expected ${requirement.version}: ${requirement.name}`);
|
|
49
55
|
}
|
|
50
56
|
const state = requirement.state ?? 'registered';
|
package/dist/requirements.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requirements.js","sourceRoot":"","sources":["../src/requirements.ts"],"names":[],"mappings":"AA2FA,yFAAyF;AACzF,MAAM,aAAa,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC;AAEvC,MAAM,OAAO,mBAAmB;IAID;IAHZ,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC9C,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IAE/D,YAA6B,IAAgC;QAAhC,SAAI,GAAJ,IAAI,CAA4B;IAAG,CAAC;IAEjE,cAAc,CAAC,IAAY,EAAE,OAAe;QAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,gBAAgB,CAAC,IAAY;QAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,UAAU,CAAC,IAAY,EAAE,QAA0B,OAAO;QACxD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,YAAyD;QAC7D,MAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,KAAK,MAAM,WAAW,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACzC,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACvE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,IAAqB,EAAE,IAAY;QACzC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAEO,QAAQ,CAAC,WAA6B;QAC5C,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAE1E,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,uBAAuB,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACrH,CAAC;QAED,IAAI,WAAW,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"requirements.js","sourceRoot":"","sources":["../src/requirements.ts"],"names":[],"mappings":"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"}
|
package/dist/run-turn.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-turn.d.ts","sourceRoot":"","sources":["../src/run-turn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"run-turn.d.ts","sourceRoot":"","sources":["../src/run-turn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0C,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACrG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM3D,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,wBAAuB,OAAO,CAC5B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,cAAmB,GACxB,aAAa,CAAC,UAAU,CAAC,CAsL3B;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAIpC"}
|
package/dist/run-turn.js
CHANGED
|
@@ -8,15 +8,10 @@ export async function* runTurn(session, prompt, opts = {}) {
|
|
|
8
8
|
// Use a caller-supplied turnId when present (the runner mints it up front so
|
|
9
9
|
// it can return the id before the turn runs); otherwise mint one here.
|
|
10
10
|
const turnId = opts.turnId ?? session.startTurn().turnId;
|
|
11
|
-
const provider = session.providers.getActive();
|
|
12
|
-
const model = opts.model ?? provider.models[0]?.id ?? 'default';
|
|
13
|
-
// Record the resolution so out-of-band spawns (workflow triggers) can
|
|
14
|
-
// inherit the conversation's current model. Last-writer-wins when turns
|
|
15
|
-
// run concurrently — see the field's doc in SessionRuntime.
|
|
16
|
-
session.lastResolvedModel = model;
|
|
17
11
|
const queue = [];
|
|
18
12
|
const waiters = [];
|
|
19
13
|
let done = false;
|
|
14
|
+
let completed = false;
|
|
20
15
|
let strategyError = null;
|
|
21
16
|
// A mode can ask (via ctx.requestModeSwitch) to hand off to another mode
|
|
22
17
|
// once this turn finishes — applied after the strategy drains, below.
|
|
@@ -28,6 +23,12 @@ export async function* runTurn(session, prompt, opts = {}) {
|
|
|
28
23
|
queue.push(event);
|
|
29
24
|
wake();
|
|
30
25
|
});
|
|
26
|
+
// Generator-scoped controller so an early consumer return/throw (HTTP client
|
|
27
|
+
// disconnect, channel teardown) can abort the in-flight strategy instead of
|
|
28
|
+
// leaving it to run the whole agentic loop to completion in the background
|
|
29
|
+
// (burning tokens, holding resources) while the abandoned `finally` blocks on
|
|
30
|
+
// `strategyPromise`.
|
|
31
|
+
const turnController = new AbortController();
|
|
31
32
|
let strategyPromise = null;
|
|
32
33
|
try {
|
|
33
34
|
await session.log.append({
|
|
@@ -40,12 +41,42 @@ export async function* runTurn(session, prompt, opts = {}) {
|
|
|
40
41
|
? { attachments: opts.attachments }
|
|
41
42
|
: {}),
|
|
42
43
|
});
|
|
44
|
+
// Resolve provider + model AFTER the prompt is recorded so a
|
|
45
|
+
// missing/misconfigured provider doesn't silently discard the user's
|
|
46
|
+
// prompt or orphan the turnId. On failure, append a structured error event
|
|
47
|
+
// (channels see a normal failed turn) and rethrow.
|
|
48
|
+
let provider;
|
|
49
|
+
let model;
|
|
50
|
+
try {
|
|
51
|
+
provider = session.providers.getActive();
|
|
52
|
+
const resolvedModel = opts.model ?? provider.models[0]?.id;
|
|
53
|
+
if (!resolvedModel) {
|
|
54
|
+
throw new Error(`Active provider '${provider.name}' has no models configured`);
|
|
55
|
+
}
|
|
56
|
+
model = resolvedModel;
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
60
|
+
await session.log.append({
|
|
61
|
+
type: 'error',
|
|
62
|
+
sessionId: session.id,
|
|
63
|
+
turnId,
|
|
64
|
+
source: 'system',
|
|
65
|
+
kind: 'fatal',
|
|
66
|
+
message,
|
|
67
|
+
});
|
|
68
|
+
throw err;
|
|
69
|
+
}
|
|
70
|
+
// Record the resolution so out-of-band spawns (workflow triggers) can
|
|
71
|
+
// inherit the conversation's current model. Last-writer-wins when turns
|
|
72
|
+
// run concurrently — see the field's doc in SessionRuntime.
|
|
73
|
+
session.lastResolvedModel = model;
|
|
43
74
|
const strategy = session.modes.getActive();
|
|
44
|
-
// Combine the session's signal
|
|
45
|
-
// so
|
|
46
|
-
const effectiveSignal = opts.signal
|
|
47
|
-
?
|
|
48
|
-
: session.signal;
|
|
75
|
+
// Combine the session's signal, the per-turn one (if provided), and the
|
|
76
|
+
// generator-scoped abandonment signal so any of them firing cancels the turn.
|
|
77
|
+
const effectiveSignal = AbortSignal.any(opts.signal
|
|
78
|
+
? [session.signal, opts.signal, turnController.signal]
|
|
79
|
+
: [session.signal, turnController.signal]);
|
|
49
80
|
// The session's working dir + environment, mirrored onto the ModeContext
|
|
50
81
|
// so the shared tool dispatcher can hand onToolCall hooks the real cwd/env
|
|
51
82
|
// (path-based policy hooks gate on these) instead of empty placeholders.
|
|
@@ -87,18 +118,24 @@ export async function* runTurn(session, prompt, opts = {}) {
|
|
|
87
118
|
};
|
|
88
119
|
const turnStartCtx = { ...appCtx, turnId, iteration: 0 };
|
|
89
120
|
strategyPromise = (async () => {
|
|
121
|
+
let started = false;
|
|
90
122
|
try {
|
|
91
123
|
await session.dispatcher.dispatchTurnStart(turnStartCtx);
|
|
124
|
+
started = true;
|
|
92
125
|
for await (const _ of strategy.run(ctx)) {
|
|
93
126
|
// Events are surfaced via the log subscription above.
|
|
94
127
|
void _;
|
|
95
128
|
}
|
|
96
|
-
await session.dispatcher.dispatchTurnEnd(turnStartCtx);
|
|
97
129
|
}
|
|
98
130
|
catch (err) {
|
|
99
131
|
strategyError = err;
|
|
100
132
|
}
|
|
101
133
|
finally {
|
|
134
|
+
// turnEnd must pair with turnStart even when the strategy throws/aborts,
|
|
135
|
+
// so plugins that allocate turn-scoped state in onTurnStart (spans,
|
|
136
|
+
// timers, token meters) always get the matching teardown.
|
|
137
|
+
if (started)
|
|
138
|
+
await session.dispatcher.dispatchTurnEnd(turnStartCtx);
|
|
102
139
|
done = true;
|
|
103
140
|
wake();
|
|
104
141
|
}
|
|
@@ -110,17 +147,28 @@ export async function* runTurn(session, prompt, opts = {}) {
|
|
|
110
147
|
break;
|
|
111
148
|
await new Promise((resolve) => waiters.push(resolve));
|
|
112
149
|
}
|
|
150
|
+
completed = true;
|
|
113
151
|
}
|
|
114
152
|
finally {
|
|
115
153
|
unsubscribe();
|
|
154
|
+
// If the consumer abandoned iteration early (broke out of the `for await`,
|
|
155
|
+
// an outer error), `completed` is still false: abort the strategy so it
|
|
156
|
+
// unwinds promptly instead of running the full loop in the background while
|
|
157
|
+
// this `finally` blocks on `strategyPromise`.
|
|
158
|
+
if (!completed)
|
|
159
|
+
turnController.abort('runTurn iteration abandoned');
|
|
116
160
|
if (strategyPromise)
|
|
117
161
|
await strategyPromise;
|
|
118
162
|
// Apply a mode hand-off the strategy requested, now that the turn has
|
|
119
|
-
// fully drained. Only on clean completion
|
|
120
|
-
//
|
|
121
|
-
//
|
|
122
|
-
//
|
|
123
|
-
|
|
163
|
+
// fully drained. Only on clean completion: a thrown turn (strategyError) OR
|
|
164
|
+
// an ABANDONED turn (consumer broke out early — `completed` is false, and a
|
|
165
|
+
// mode that returns cleanly on `signal.aborted` leaves strategyError null)
|
|
166
|
+
// keeps the current mode, so an unwatched/cancelled turn can't silently
|
|
167
|
+
// flip the session into a different mode behind the user's back. An unknown
|
|
168
|
+
// target is ignored so a bad name can't wedge the session. The registry's
|
|
169
|
+
// setActive triggers the runner's InfoChanged broadcast, so channels see the
|
|
170
|
+
// new mode.
|
|
171
|
+
if (requestedModeSwitch && completed && !strategyError) {
|
|
124
172
|
try {
|
|
125
173
|
session.modes.setActive(requestedModeSwitch);
|
|
126
174
|
}
|
package/dist/run-turn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-turn.js","sourceRoot":"","sources":["../src/run-turn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAOvD,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,OAAO,CAC5B,OAAuB,EACvB,MAAc,EACd,OAAuB,EAAE;IAEzB,0EAA0E;IAC1E,wEAAwE;IACxE,yEAAyE;IACzE,yEAAyE;IACzE,oCAAoC;IACpC,6EAA6E;IAC7E,uEAAuE;IACvE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"run-turn.js","sourceRoot":"","sources":["../src/run-turn.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts
CHANGED
|
@@ -182,6 +182,15 @@ export declare class Session implements ClientSession, SessionRuntime {
|
|
|
182
182
|
*/
|
|
183
183
|
close(reason?: string): Promise<void>;
|
|
184
184
|
private closed;
|
|
185
|
+
/**
|
|
186
|
+
* Memoized one-time snapshot of `process.env`. `appContext()` is called per
|
|
187
|
+
* dispatched event (hundreds per turn during a streaming reply), per turn,
|
|
188
|
+
* and on every shutdown — eagerly spreading the whole env each time is
|
|
189
|
+
* thousands of O(envVars) clones of GC pressure for a value that does not
|
|
190
|
+
* change over a session's life. Frozen so a plugin can't mutate the shared
|
|
191
|
+
* snapshot out from under another.
|
|
192
|
+
*/
|
|
193
|
+
private envSnapshot;
|
|
185
194
|
appContext(): AppContext;
|
|
186
195
|
startTurn(): {
|
|
187
196
|
turnId: ReturnType<typeof newTurnId>;
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|