@project-ava-supernova/core 0.2.77 → 0.2.79
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/agent.d.ts +7 -15
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +48 -3
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/system-prompt.d.ts +1 -1
- package/dist/agent/system-prompt.d.ts.map +1 -1
- package/dist/agent/system-prompt.js +14 -9
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/agent/vision-bridge.d.ts +37 -0
- package/dist/agent/vision-bridge.d.ts.map +1 -1
- package/dist/agent/vision-bridge.js +55 -3
- package/dist/agent/vision-bridge.js.map +1 -1
- package/dist/audit/cost.d.ts.map +1 -1
- package/dist/audit/cost.js +5 -0
- package/dist/audit/cost.js.map +1 -1
- package/dist/auto/auto-coordinator.d.ts.map +1 -1
- package/dist/auto/auto-coordinator.js +10 -1
- package/dist/auto/auto-coordinator.js.map +1 -1
- package/dist/auto/coordinator-model.d.ts +1 -1
- package/dist/auto/coordinator-model.d.ts.map +1 -1
- package/dist/auto/coordinator-model.js +3 -1
- package/dist/auto/coordinator-model.js.map +1 -1
- package/dist/auto/longxiang-router.d.ts +2 -2
- package/dist/auto/longxiang-router.js +2 -2
- package/dist/auto/model-router.js +1 -1
- package/dist/billing/credits.d.ts +26 -6
- package/dist/billing/credits.d.ts.map +1 -1
- package/dist/billing/credits.js +42 -11
- package/dist/billing/credits.js.map +1 -1
- package/dist/config/personality.js +1 -1
- package/dist/creative/index.d.ts +29 -13
- package/dist/creative/index.d.ts.map +1 -1
- package/dist/creative/index.js +56 -25
- package/dist/creative/index.js.map +1 -1
- package/dist/desktop/capability.d.ts +7 -11
- package/dist/desktop/capability.d.ts.map +1 -1
- package/dist/desktop/capability.js +26 -25
- package/dist/desktop/capability.js.map +1 -1
- package/dist/desktop/personas.d.ts +0 -2
- package/dist/desktop/personas.d.ts.map +1 -1
- package/dist/desktop/personas.js +0 -8
- package/dist/desktop/personas.js.map +1 -1
- package/dist/docs/content/concepts.js +1 -1
- package/dist/docs/content/concepts.js.map +1 -1
- package/dist/docs/content/features.js +2 -2
- package/dist/docs/content/features.js.map +1 -1
- package/dist/docs/data/providers.js +3 -3
- package/dist/docs/data/providers.js.map +1 -1
- package/dist/docs/data/tools.js +1 -1
- package/dist/docs/data/tools.js.map +1 -1
- package/dist/docs/i18n/translations.d.ts.map +1 -1
- package/dist/docs/i18n/translations.js +1 -1
- package/dist/docs/i18n/translations.js.map +1 -1
- package/dist/docs/i18n.d.ts.map +1 -1
- package/dist/docs/i18n.js +5 -1
- package/dist/docs/i18n.js.map +1 -1
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/ar.js +38 -22
- package/dist/i18n/locales/ar.js.map +1 -1
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/de.js +36 -20
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +26 -10
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +48 -21
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/es.js +38 -22
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/fr.js +38 -22
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/hi.js +36 -20
- package/dist/i18n/locales/hi.js.map +1 -1
- package/dist/i18n/locales/id.d.ts.map +1 -1
- package/dist/i18n/locales/id.js +38 -22
- package/dist/i18n/locales/id.js.map +1 -1
- package/dist/i18n/locales/it.d.ts.map +1 -1
- package/dist/i18n/locales/it.js +38 -22
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +34 -18
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/ko.d.ts.map +1 -1
- package/dist/i18n/locales/ko.js +38 -22
- package/dist/i18n/locales/ko.js.map +1 -1
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/nl.js +36 -20
- package/dist/i18n/locales/nl.js.map +1 -1
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.js +38 -22
- package/dist/i18n/locales/pl.js.map +1 -1
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/pt.js +38 -22
- package/dist/i18n/locales/pt.js.map +1 -1
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/ru.js +38 -22
- package/dist/i18n/locales/ru.js.map +1 -1
- package/dist/i18n/locales/th.d.ts.map +1 -1
- package/dist/i18n/locales/th.js +38 -22
- package/dist/i18n/locales/th.js.map +1 -1
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/tr.js +38 -22
- package/dist/i18n/locales/tr.js.map +1 -1
- package/dist/i18n/locales/uk.d.ts.map +1 -1
- package/dist/i18n/locales/uk.js +38 -22
- package/dist/i18n/locales/uk.js.map +1 -1
- package/dist/i18n/locales/vi.d.ts.map +1 -1
- package/dist/i18n/locales/vi.js +39 -23
- package/dist/i18n/locales/vi.js.map +1 -1
- package/dist/i18n/locales/zh-CN.d.ts.map +1 -1
- package/dist/i18n/locales/zh-CN.js +38 -22
- package/dist/i18n/locales/zh-CN.js.map +1 -1
- package/dist/i18n/locales/zh-TW.d.ts.map +1 -1
- package/dist/i18n/locales/zh-TW.js +38 -22
- package/dist/i18n/locales/zh-TW.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/projects/project-data.d.ts +14 -0
- package/dist/projects/project-data.d.ts.map +1 -1
- package/dist/projects/project-data.js +21 -0
- package/dist/projects/project-data.js.map +1 -1
- package/dist/providers/request-shaping/params.d.ts +5 -0
- package/dist/providers/request-shaping/params.d.ts.map +1 -1
- package/dist/providers/request-shaping/params.js +21 -5
- package/dist/providers/request-shaping/params.js.map +1 -1
- package/dist/providers/zhipu/index.js +4 -4
- package/dist/providers/zhipu/index.js.map +1 -1
- package/dist/providers/zhipu/models.d.ts.map +1 -1
- package/dist/providers/zhipu/models.js +36 -15
- package/dist/providers/zhipu/models.js.map +1 -1
- package/dist/social/index.d.ts +52 -33
- package/dist/social/index.d.ts.map +1 -1
- package/dist/social/index.js +21 -0
- package/dist/social/index.js.map +1 -1
- package/dist/tools/create-project.d.ts +35 -0
- package/dist/tools/create-project.d.ts.map +1 -0
- package/dist/tools/create-project.js +0 -0
- package/dist/tools/create-project.js.map +1 -0
- package/dist/tools/design-studio-tools.d.ts.map +1 -1
- package/dist/tools/design-studio-tools.js +7 -4
- package/dist/tools/design-studio-tools.js.map +1 -1
- package/dist/tools/desktop-providers.d.ts +1 -1
- package/dist/tools/desktop-providers.d.ts.map +1 -1
- package/dist/tools/generate-video.d.ts +3 -4
- package/dist/tools/generate-video.d.ts.map +1 -1
- package/dist/tools/generate-video.js +66 -23
- package/dist/tools/generate-video.js.map +1 -1
- package/dist/tools/generate-voice.d.ts.map +1 -1
- package/dist/tools/generate-voice.js +21 -8
- package/dist/tools/generate-voice.js.map +1 -1
- package/dist/tools/tool-registry.d.ts.map +1 -1
- package/dist/tools/tool-registry.js +2 -0
- package/dist/tools/tool-registry.js.map +1 -1
- package/dist/tools/write-video-post.d.ts +18 -10
- package/dist/tools/write-video-post.d.ts.map +1 -1
- package/dist/tools/write-video-post.js +116 -61
- package/dist/tools/write-video-post.js.map +1 -1
- package/package.json +1 -1
package/dist/agent/agent.d.ts
CHANGED
|
@@ -39,23 +39,15 @@ export declare const DESKTOP_TOOL_NAMES: readonly ["desktop_plan_approve", "desk
|
|
|
39
39
|
*/
|
|
40
40
|
export declare function detectModeFromMessages(messages: Message[]): string | null;
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
42
|
+
* Whether a tool survives a mode's allowlist.
|
|
43
43
|
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* it was in. Seen live 2026-08-19: a Plan-mode turn produced a plan card, wrote
|
|
50
|
-
* eleven todos, announced "Builder dispatched — executing 11 tasks", and started
|
|
51
|
-
* editing an Unreal project. Plan mode is read-only — it cannot open a file to
|
|
52
|
-
* write it — and the orchestrator went around that by spawning agents that
|
|
53
|
-
* could. The operator's words were "why are you coding when did i say to do
|
|
54
|
-
* anything but plan".
|
|
55
|
-
*
|
|
56
|
-
* An unknown mode returns true: work mode carries no prefix, so callers that
|
|
57
|
-
* default to it must not be silently blocked.
|
|
44
|
+
* The single predicate for BOTH the schema filter and the call-side block, so
|
|
45
|
+
* the two cannot drift into offering a tool and then refusing it. Three ways
|
|
46
|
+
* through: the mode lists it, every mode gets it, or no mode classifies it at
|
|
47
|
+
* all (an unknown tool is somebody's extension, not a policy decision) -
|
|
48
|
+
* except desktop tools, which stay out however they are classified.
|
|
58
49
|
*/
|
|
50
|
+
export declare function toolPassesModeGate(name: string, modeAllowed: Set<string>): boolean;
|
|
59
51
|
/**
|
|
60
52
|
* The hard ceiling on what a persona may be handed in a READ-ONLY mode.
|
|
61
53
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAqC,MAAM,uBAAuB,CAAC;AAEzF,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,UAAU,EAEX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AA+B9D,OAAO,KAAK,EAAE,UAAU,EAAW,MAAM,sBAAsB,CAAC;AA8IhE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,kBAAkB,kQAarB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAqC,MAAM,uBAAuB,CAAC;AAEzF,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,UAAU,EAEX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AA+B9D,OAAO,KAAK,EAAE,UAAU,EAAW,MAAM,sBAAsB,CAAC;AA8IhE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,kBAAkB,kQAarB,CAAC;AAocX;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,IAAI,CAYzE;AAiCD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAGlF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAKnG;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAKzE;AAID,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAMjD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACnH;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,2BAA2B,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,yBAAyB,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,GACrF;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,gBAAgB,CAAA;CAAE,GAEhD;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzE;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAG3D;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnF;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1E;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAIjF;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/C;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3E,GAKD;IAAE,IAAI,EAAE,0BAA0B,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAOpD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAQ1D;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,GAc/B;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAElG,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAI5D,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IAKxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAW;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAkB;IAG/C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IACpE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IAKrD,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,eAAe,CAA4C;IACnE;;;;;;;;;;OAUG;IACH,OAAO,CAAC,SAAS,CAAqB;IAItC,OAAO,CAAC,eAAe,CAAS;IAGhC,OAAO,CAAC,SAAS,CAAiC;IAGlD,OAAO,CAAC,sBAAsB,CAAS;IAEvC;;mFAE+E;IAC/E,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,WAAW,CAAS;IAQ5B,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,yBAAyB,CAAK;IACtC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,qBAAqB,CAAS;IAItC,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,yBAAyB,CAAa;IAC9C,OAAO,CAAC,2BAA2B,CAA6B;IAEhE,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAU;IAChD;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,sBAAsB,CAAkC;IAChE;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,oBAAoB,CAA6B;IACzD;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB,CAA6D;IAC3F;;;;OAIG;IACH,OAAO,CAAC,gBAAgB,CAAwB;gBAEpC,IAAI,EAAE;QAChB,QAAQ,EAAE,QAAQ,CAAC;QACnB,KAAK,EAAE,eAAe,CAAC;QACvB;;0EAEkE;QAClE,cAAc,CAAC,EAAE,QAAQ,CAAC;QAC1B,WAAW,CAAC,EAAE,eAAe,CAAC;QAC9B,YAAY,EAAE,YAAY,CAAC;QAC3B,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtC;;;;;WAKG;QACH,OAAO,CAAC,EAAE,UAAU,CAAC;QACrB,iEAAiE;QACjE,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,kEAAkE;QAClE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC,CAAC;QAClG;;;;;WAKG;QACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC;IAoBD;;;;;;;;;OASG;IACH,4BAA4B,IAAI,OAAO,EAAE;IAIzC;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB;;;;;;;;;;;;;OAaG;IACG,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAChD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuBzB;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAoB7B;;;;;;OAMG;IACH,YAAY,IAAI,IAAI;IAIpB;;;;;;;;OAQG;IACH,yBAAyB,IAAI,IAAI;IAOjC;;;;;;;OAOG;IACH,uBAAuB,IAAI,OAAO;IAIlC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,oBAAoB;IAQtB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YA6ItF,QAAQ;IA03CtB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;YAsChB,cAAc;IAsQ5B;;;;;;;;OAQG;YACW,sBAAsB;YAqGtB,eAAe;IAqI7B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAc7B;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IAYpC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,sBAAsB;IAU9B;;;;;;;;;OASG;IACH,OAAO,CAAC,2BAA2B;IAgDnC,uDAAuD;IACvD,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,YAAY;IAMlD,8EAA8E;IACxE,cAAc,CAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,OAAO,EAAE,CAAC;IAMrB;;;;;OAKG;IACG,eAAe,CACnB,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,OAAO,EAAE,CAAC;IA+MrB,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAMjC,OAAO,CAAC,qBAAqB;IA4B7B,8DAA8D;IAC9D,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM;IAM/C;;;;OAIG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,kBAAkB;IAyE1B,OAAO,CAAC,gBAAgB;IAyDxB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,OAAO,CAAC,4BAA4B;IA0DpC;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,iBAAiB;IA8DzB;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;IAI9C;;;;OAIG;IACH,OAAO,CAAC,cAAc;CAoDvB"}
|
package/dist/agent/agent.js
CHANGED
|
@@ -218,7 +218,12 @@ const ALWAYS_ALLOWED_TOOLS = new Set(['self_inspect', 'conversation_recall']);
|
|
|
218
218
|
* line in a diff, and so the two surfaces cannot end up disagreeing about
|
|
219
219
|
* which stage they are in.
|
|
220
220
|
*/
|
|
221
|
-
|
|
221
|
+
// ENFORCING since 2026-09-01. The log-only stage did its job: a full
|
|
222
|
+
// real-world project built end to end in code mode produced no
|
|
223
|
+
// work-gate.log at all, meaning she never once reached for a tool the
|
|
224
|
+
// list withholds. The logger was verified to be live in that build
|
|
225
|
+
// first — an absent file only means something if the writer works.
|
|
226
|
+
const WORK_TOOL_GATE = 'enforce';
|
|
222
227
|
/**
|
|
223
228
|
* Where the log-only stage records a reach, under AVA_HOME.
|
|
224
229
|
*
|
|
@@ -245,6 +250,11 @@ const MODE_ALLOWED_TOOLS = {
|
|
|
245
250
|
work: new Set([
|
|
246
251
|
// File operations
|
|
247
252
|
'read', 'write', 'edit',
|
|
253
|
+
// Creating a NEW project — the only write that reaches outside the open
|
|
254
|
+
// project, and it makes exactly one empty folder in the projects home.
|
|
255
|
+
// Without it, "start me a new project" can only be answered by building
|
|
256
|
+
// inside whatever project is already open.
|
|
257
|
+
'create_project',
|
|
248
258
|
// Search
|
|
249
259
|
'glob', 'grep', 'list_directory', 'find_symbol', 'project_index',
|
|
250
260
|
// Shell
|
|
@@ -356,6 +366,17 @@ const MODE_ALLOWED_TOOLS = {
|
|
|
356
366
|
// it. Read-only, and readOnlyModeToolCeiling now enforces that structurally,
|
|
357
367
|
// so widening what she can READ cannot leak into being able to write.
|
|
358
368
|
'read', 'glob', 'grep', 'list_directory', 'project_index',
|
|
369
|
+
// Turning an idea into somewhere to put it. Brainstorm exists for someone
|
|
370
|
+
// who does not know what to build, so stopping at "here is what you should
|
|
371
|
+
// build" and leaving them to make the folder by hand is stopping one step
|
|
372
|
+
// short of the point.
|
|
373
|
+
//
|
|
374
|
+
// This does not make the mode writable. modeCanEditFiles asks for 'write'
|
|
375
|
+
// or 'edit' by name and neither is here, so the read-only ceiling still
|
|
376
|
+
// holds — create_project makes ONE empty directory in the projects home
|
|
377
|
+
// and cannot put a byte inside it. The work happens once that folder is
|
|
378
|
+
// opened, in whichever mode you open it in.
|
|
379
|
+
'create_project',
|
|
359
380
|
// Research signals (web + news) so coordinator-direct ideation has the
|
|
360
381
|
// same research surface the orchestrated team gets via IDEATION_TOOLS.
|
|
361
382
|
'web_search', 'http_request', 'browser', 'news',
|
|
@@ -642,6 +663,30 @@ export function detectModeFromMessages(messages) {
|
|
|
642
663
|
* An unknown mode returns true: work mode carries no prefix, so callers that
|
|
643
664
|
* default to it must not be silently blocked.
|
|
644
665
|
*/
|
|
666
|
+
/**
|
|
667
|
+
* Every tool name that any mode lists.
|
|
668
|
+
*
|
|
669
|
+
* Used to tell two different situations apart, which the allowlist alone
|
|
670
|
+
* cannot: a tool code mode deliberately withholds (present, listed by other
|
|
671
|
+
* modes, correctly filtered) versus a tool no mode has ever classified. The
|
|
672
|
+
* second is not a decision, it is an absence - and treating an absence as a
|
|
673
|
+
* refusal is how a registered tool disappears with no error anywhere.
|
|
674
|
+
*/
|
|
675
|
+
const MODE_CLASSIFIED_TOOLS = new Set(Object.values(MODE_ALLOWED_TOOLS).flatMap((set) => [...set]));
|
|
676
|
+
/**
|
|
677
|
+
* Whether a tool survives a mode's allowlist.
|
|
678
|
+
*
|
|
679
|
+
* The single predicate for BOTH the schema filter and the call-side block, so
|
|
680
|
+
* the two cannot drift into offering a tool and then refusing it. Three ways
|
|
681
|
+
* through: the mode lists it, every mode gets it, or no mode classifies it at
|
|
682
|
+
* all (an unknown tool is somebody's extension, not a policy decision) -
|
|
683
|
+
* except desktop tools, which stay out however they are classified.
|
|
684
|
+
*/
|
|
685
|
+
export function toolPassesModeGate(name, modeAllowed) {
|
|
686
|
+
if (modeAllowed.has(name) || ALWAYS_ALLOWED_TOOLS.has(name))
|
|
687
|
+
return true;
|
|
688
|
+
return !MODE_CLASSIFIED_TOOLS.has(name) && !DESKTOP_ONLY_TOOLS.has(name);
|
|
689
|
+
}
|
|
645
690
|
/**
|
|
646
691
|
* The hard ceiling on what a persona may be handed in a READ-ONLY mode.
|
|
647
692
|
*
|
|
@@ -1342,7 +1387,7 @@ export class Agent {
|
|
|
1342
1387
|
&& (effectiveMode !== 'work' || WORK_TOOL_GATE === 'enforce');
|
|
1343
1388
|
let filteredSchemas;
|
|
1344
1389
|
if (modeAllowed && applyModeGate) {
|
|
1345
|
-
filteredSchemas = allSchemas.filter(s =>
|
|
1390
|
+
filteredSchemas = allSchemas.filter(s => toolPassesModeGate(s.function.name, modeAllowed));
|
|
1346
1391
|
}
|
|
1347
1392
|
else {
|
|
1348
1393
|
filteredSchemas = allSchemas.filter(s => !DESKTOP_ONLY_TOOLS.has(s.function.name));
|
|
@@ -2115,7 +2160,7 @@ export class Agent {
|
|
|
2115
2160
|
// blocking here would do precisely what the paragraph above forbids:
|
|
2116
2161
|
// offer a tool and then refuse the call.
|
|
2117
2162
|
if (modeAllowed) {
|
|
2118
|
-
const isAllowed = (name) =>
|
|
2163
|
+
const isAllowed = (name) => toolPassesModeGate(name, modeAllowed);
|
|
2119
2164
|
const blocked = assistantMessage.tool_calls.filter((tc) => !isAllowed(tc.function.name));
|
|
2120
2165
|
if (blocked.length > 0 && !applyModeGate) {
|
|
2121
2166
|
// The evidence worth having. The static count says what is in play;
|