jazz-ai 0.9.2 → 0.9.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.
Files changed (32) hide show
  1. package/README.md +1 -3
  2. package/dist/cli/presentation/cli-presentation-service.d.ts.map +1 -1
  3. package/dist/cli/presentation/ink-presentation-service.d.ts +2 -2
  4. package/dist/cli/presentation/ink-presentation-service.d.ts.map +1 -1
  5. package/dist/cli/ui/App.d.ts.map +1 -1
  6. package/dist/core/agent/agent-prompt.d.ts.map +1 -1
  7. package/dist/core/agent/agent-runner.d.ts.map +1 -1
  8. package/dist/core/agent/execution/tool-executor.d.ts.map +1 -1
  9. package/dist/core/agent/prompts/default/system.d.ts +1 -1
  10. package/dist/core/agent/prompts/default/system.d.ts.map +1 -1
  11. package/dist/core/agent/tools/user-interaction-tools.d.ts.map +1 -1
  12. package/dist/core/agent/types.d.ts +4 -0
  13. package/dist/core/agent/types.d.ts.map +1 -1
  14. package/dist/core/types/config.d.ts +1 -0
  15. package/dist/core/types/config.d.ts.map +1 -1
  16. package/dist/core/types/tools.d.ts +6 -0
  17. package/dist/core/types/tools.d.ts.map +1 -1
  18. package/dist/main.js +689 -688
  19. package/dist/services/chat/commands/constants.d.ts.map +1 -1
  20. package/dist/services/chat/commands/handler.d.ts.map +1 -1
  21. package/dist/services/chat/commands/parser.d.ts.map +1 -1
  22. package/dist/services/chat/commands/types.d.ts +9 -1
  23. package/dist/services/chat/commands/types.d.ts.map +1 -1
  24. package/dist/services/chat-service.d.ts.map +1 -1
  25. package/dist/services/command-approval-tracker.d.ts +15 -0
  26. package/dist/services/command-approval-tracker.d.ts.map +1 -0
  27. package/dist/services/llm/ai-sdk-service.d.ts.map +1 -1
  28. package/package.json +10 -9
  29. package/skills/calendar/SKILL.md +9 -1
  30. package/skills/calendar/references/providers.md +25 -1
  31. package/skills/email/SKILL.md +78 -45
  32. package/skills/email/references/providers.md +15 -1
package/README.md CHANGED
@@ -6,9 +6,7 @@
6
6
 
7
7
  ### Your AI agent that actually does things.
8
8
 
9
- <!-- TODO: Add a GIF or screenshot showing Jazz in action -->
10
-
11
- <!-- ![Jazz Demo](https://via.placeholder.com/800x400?text=Jazz+Demo+GIF+Coming+Soon) -->
9
+ ![Jazz Demo](assets/hero.png)
12
10
 
13
11
  </div>
14
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"cli-presentation-service.d.ts","sourceRoot":"","sources":["../../../src/cli/presentation/cli-presentation-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-presentation-service.d.ts","sourceRoot":"","sources":["../../../src/cli/presentation/cli-presentation-service.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,10 @@ export declare class InkStreamingRenderer implements StreamingRenderer {
10
10
  private lastUpdateTime;
11
11
  private pendingActivity;
12
12
  private updateTimeoutId;
13
- private static readonly UPDATE_THROTTLE_MS;
13
+ private readonly updateThrottleMs;
14
14
  private toolTimeouts;
15
15
  private static readonly TOOL_WARNING_MS;
16
- constructor(agentName: string, showMetrics: boolean, displayConfig: DisplayConfig);
16
+ constructor(agentName: string, showMetrics: boolean, displayConfig: DisplayConfig, throttleMs?: number);
17
17
  reset(): Effect.Effect<void, never>;
18
18
  flush(): Effect.Effect<void, never>;
19
19
  setInterruptHandler(handler: (() => void) | null): Effect.Effect<void, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"ink-presentation-service.d.ts","sourceRoot":"","sources":["../../../src/cli/presentation/ink-presentation-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAU,MAAM,QAAQ,CAAC;AAM/C,OAAO,KAAK,EAEV,mBAAmB,EACnB,iBAAiB,EAGlB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAgC1D,qBAAa,oBAAqB,YAAW,iBAAiB;IAkB1D,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAnBhC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IAErB,OAAO,CAAC,cAAc,CAAa;IAEnC,OAAO,CAAC,eAAe,CAA6D;IAEpF,OAAO,CAAC,eAAe,CAA8C;IAKrE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IAEhD,OAAO,CAAC,YAAY,CAAoD;IACxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAU;gBAG9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,aAAa;IAK/C,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAsBnC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAuBnC,mBAAmB,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAM7E,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAuE3D,OAAO,CAAC,cAAc;IAwJtB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,cAAc;CASvB;AAucD,eAAO,MAAM,2BAA2B,gDAgBvC,CAAC"}
1
+ {"version":3,"file":"ink-presentation-service.d.ts","sourceRoot":"","sources":["../../../src/cli/presentation/ink-presentation-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAU,MAAM,QAAQ,CAAC;AAM/C,OAAO,KAAK,EAEV,mBAAmB,EACnB,iBAAiB,EAGlB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAgC1D,qBAAa,oBAAqB,YAAW,iBAAiB;IAc1D,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAfhC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IAErB,OAAO,CAAC,cAAc,CAAa;IAEnC,OAAO,CAAC,eAAe,CAA6D;IAEpF,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,OAAO,CAAC,YAAY,CAAoD;IACxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAU;gBAG9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,aAAa,EAC7C,UAAU,CAAC,EAAE,MAAM;IAMrB,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAsBnC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAuBnC,mBAAmB,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAM7E,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAsE3D,OAAO,CAAC,cAAc;IA6JtB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,oBAAoB;IA0B5B,OAAO,CAAC,cAAc;CASvB;AA+eD,eAAO,MAAM,2BAA2B,gDAgBvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/App.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAwKxE,wBAAgB,GAAG,IAAI,KAAK,CAAC,YAAY,CA8ExC;AAED,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/App.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAwKxE,wBAAgB,GAAG,IAAI,KAAK,CAAC,YAAY,CAuFxC;AAED,eAAe,GAAG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-prompt.d.ts","sourceRoot":"","sources":["../../../src/core/agent/agent-prompt.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAO9E,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClH;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,iBAAiB,CAA6B;;IAqCtD,OAAO,CAAC,aAAa;IAqCrB,OAAO,CAAC,2BAA2B;IAgBnC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC;IAgB5D,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,KAAK,CAAC;IAOvD,iBAAiB,CACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAwD/B,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAa/F,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,CAAC;CAsC9C;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
1
+ {"version":3,"file":"agent-prompt.d.ts","sourceRoot":"","sources":["../../../src/core/agent/agent-prompt.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAO9E,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS;QAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACvB,EAAE,CAAC;CACL;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,iBAAiB,CAA6B;;IAqCtD,OAAO,CAAC,aAAa;IAqCrB,OAAO,CAAC,2BAA2B;IAgBnC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC;IAgB5D,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,KAAK,CAAC;IAOvD,iBAAiB,CACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IA2D/B,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAa/F,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,CAAC;CAqC9C;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../../../src/core/agent/agent-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEhF,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAElG,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMxD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAMtC,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,kBAAkB,EACxB,MAAM,SAAS,CAAC;AAyJjB,qBAAa,WAAW;WAKR,YAAY,CACxB,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,GAC5C,MAAM,CAAC,MAAM,CACd,aAAa,EACb,KAAK,EACH,UAAU,GACV,YAAY,GACZ,aAAa,GACb,kBAAkB,GAClB,mBAAmB,GAEnB,gBAAgB,GAChB,YAAY,CACf;IAUD,MAAM,CAAC,GAAG,CACR,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CAAC,MAAM,CACd,aAAa,EACb,iBAAiB,GAAG,KAAK,EACvB,UAAU,GACV,YAAY,GACZ,aAAa,GACb,kBAAkB,GAClB,mBAAmB,GACnB,gBAAgB,GAChB,YAAY,CACf;WA2Ea,gBAAgB,CAC5B,mBAAmB,EAAE,WAAW,EAAE,EAClC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,MAAM,CAAC,MAAM,CACd,WAAW,EACX,KAAK,EACH,UAAU,GACV,YAAY,GACZ,aAAa,GACb,kBAAkB,GAElB,mBAAmB,GACnB,gBAAgB,GAChB,YAAY,CACf;CAiBF;AAGD,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../../../src/core/agent/agent-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEhF,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAElG,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMxD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAMtC,OAAO,EAAE,KAAK,aAAa,EAAwB,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AA4K5F,qBAAa,WAAW;WAKR,YAAY,CACxB,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,GAC5C,MAAM,CAAC,MAAM,CACd,aAAa,EACb,KAAK,EACH,UAAU,GACV,YAAY,GACZ,aAAa,GACb,kBAAkB,GAClB,mBAAmB,GACnB,gBAAgB,GAChB,YAAY,CACf;IAUD,MAAM,CAAC,GAAG,CACR,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CAAC,MAAM,CACd,aAAa,EACb,iBAAiB,GAAG,KAAK,EACvB,UAAU,GACV,YAAY,GACZ,aAAa,GACb,kBAAkB,GAClB,mBAAmB,GACnB,gBAAgB,GAChB,YAAY,CACf;WA2Ea,gBAAgB,CAC5B,mBAAmB,EAAE,WAAW,EAAE,EAClC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,MAAM,CAAC,MAAM,CACd,WAAW,EACX,KAAK,EACH,UAAU,GACV,YAAY,GACZ,aAAa,GACb,kBAAkB,GAClB,mBAAmB,GACnB,gBAAgB,GAChB,YAAY,CACf;CAiBF;AAGD,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/execution/tool-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,QAAQ,CAAC;AAE/C,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAA8B,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,8BAA8B,CAAC;AAKtC,qBAAa,YAAY;IAKvB,MAAM,CAAC,WAAW,CAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,oBAAoB,EAC7B,iBAAiB,CAAC,EAAE,MAAM,GACzB,MAAM,CAAC,MAAM,CACd,mBAAmB,EACnB,iBAAiB,GAAG,KAAK,EACzB,YAAY,GAAG,aAAa,GAAG,kBAAkB,GAAG,gBAAgB,CACrE;IAqCD,MAAM,CAAC,eAAe,CACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,oBAAoB,EAC7B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,iBAAiB,GAAG,IAAI,EAClC,UAAU,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,EACpD,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAAC,GAC1C,MAAM,CAAC,MAAM,CACd;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EACvE,KAAK,EACL,YAAY,GAAG,aAAa,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,mBAAmB,CAC3F;IAkRD,MAAM,CAAC,gBAAgB,CACrB,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,OAAO,EAAE,oBAAoB,EAC7B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,iBAAiB,GAAG,IAAI,EAClC,UAAU,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,EACpD,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAC3C,MAAM,CAAC,MAAM,CACd,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,EAC9E,KAAK,EACL,YAAY,GAAG,aAAa,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,mBAAmB,CAC3F;CA0GF"}
1
+ {"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/execution/tool-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,QAAQ,CAAC;AAE/C,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAA8B,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,8BAA8B,CAAC;AAKtC,qBAAa,YAAY;IAKvB,MAAM,CAAC,WAAW,CAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,oBAAoB,EAC7B,iBAAiB,CAAC,EAAE,MAAM,GACzB,MAAM,CAAC,MAAM,CACd,mBAAmB,EACnB,iBAAiB,GAAG,KAAK,EACzB,YAAY,GAAG,aAAa,GAAG,kBAAkB,GAAG,gBAAgB,CACrE;IA+CD,MAAM,CAAC,eAAe,CACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,oBAAoB,EAC7B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,iBAAiB,GAAG,IAAI,EAClC,UAAU,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,EACpD,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAAC,GAC1C,MAAM,CAAC,MAAM,CACd;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EACvE,KAAK,EACL,YAAY,GAAG,aAAa,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,mBAAmB,CAC3F;IA2SD,MAAM,CAAC,gBAAgB,CACrB,SAAS,EAAE,SAAS,QAAQ,EAAE,EAC9B,OAAO,EAAE,oBAAoB,EAC7B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,iBAAiB,GAAG,IAAI,EAClC,UAAU,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,EACpD,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAC3C,MAAM,CAAC,MAAM,CACd,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,EAC9E,KAAK,EACL,YAAY,GAAG,aAAa,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,mBAAmB,CAC3F;CA0GF"}
@@ -1,2 +1,2 @@
1
- export declare const DEFAULT_PROMPT = "You are a helpful CLI assistant. You help users accomplish tasks through shell commands, local tools, MCP servers, skills, and web search. You are resourceful\u2014when direct paths are blocked, you find creative alternatives. You prioritize working solutions over perfect ones.\n\n# 1. Core Role & Priorities\n\n- Action first: You are operating in a CLI environment with tools and skills. Your primary job is to DO things using tools, skills, and commands \u2014 not explain how to do them. Default to executing actions, not describing them.\n- Tool-biased: ALWAYS prefer using a dedicated tool or skill over shell commands, manual reasoning, or textual explanation. If a tool exists for the task, use it.\n- Helpful first: Focus on what the user actually needs, not just what they literally asked.\n- Resourceful: When you lack information or tools, find clever ways to get them.\n- Pragmatic: Simple solutions that work beat complex solutions that might.\n- Safe where it matters: Move fast on exploration and reading, be careful on changes and destruction.\n- Collaborative: Work with the user. Propose plans, explain tradeoffs, ask for confirmation on multi-step or risky workflows, and adjust based on their feedback. Do not act like an omniscient oracle.\n\n## Non-simulation rule\n\nYou must never pretend that an action was performed if you did not actually perform it via a tool or command in this environment.\n\n- Do not say you \"created\", \"modified\", \"deleted\", \"moved\", \"ran\", or \"installed\" anything unless a tool or command was invoked and succeeded.\n- Do not fabricate command output, file contents, git state, calendar state, email state, or network responses.\n- If you can only suggest what the user should run, be explicit: say that you are proposing commands or steps and that they have not been executed.\n\n## Tone\n\n- Be concise and to the point.\n- Be friendly and conversational.\n- Explain what you've done or what you are about to do and why do it that way.\n\n# 2. System Information\n\n\n- Date: {currentDate}\n- OS: {osInfo}\n- Shell: {shell}\n- Home: {homeDirectory}\n- Hostname: {hostname}\n- User: {username}\n\n\n# 3. CLI-First Behavior & Tool Usage\n\nALWAYS default to executing actions via tools, skills, or commands \u2014 never just explain what to do when you can do it directly.\n\n\n## Tool selection priority\n\nWhen multiple approaches exist, follow this strict priority:\n\n1. **Dedicated tools first**: Use git_status over execute_command(\"git status\"), use grep over execute_command(\"grep ...\"), use read_file over execute_command(\"cat ...\"). Dedicated tools are safer, more structured, and produce better output.\n2. **Skills second**: If a skill matches the user's domain (email, calendar, notes, documentation, commits, code review, etc.), load and follow it before improvising.\n3. **Shell commands last**: Only use execute_command when no dedicated tool or skill covers the task (e.g., npm, make, docker, cargo, custom project scripts).\n\nNEVER use execute_command for something a dedicated tool handles. Dedicated tools (git_*, read_file, write_file, edit_file, grep, find, ls, web_search, http_request, etc.) produce structured output, are safer, and give the user better visibility into what you're doing.\n\n## Parallel tool execution\n\nWhen you need to run multiple independent operations (searches, file reads, status checks), call all of them in a single response rather than one at a time. Only sequence tool calls when one depends on the result of another.\n\n\nWhen a task involves the filesystem, git, processes, network, external services, or other system state, you must not hallucinate:\n\n- Do not assume files or directories exist; check with tools.\n- Do not assume command output; run commands or use tools.\n- Do not claim an action succeeded unless a tool actually ran without error.\n\n## Tool and command execution rules\n\nWhen you need to interact with the real system (files, git, processes, network, external APIs, calendars, email, notes, and similar), you must use tools, skills, or commands instead of guessing.\n\nNEVER use execute_command when a dedicated tool can accomplish the task. Dedicated tools (git_*, read_file, write_file, edit_file, grep, find, ls, web_search, etc.) produce structured output, are safer, and give the user better visibility into what you're doing.\n\n- Always prefer real state over assumptions:\n - Check if files or directories exist instead of assuming.\n - Run commands instead of imagining their output.\n - Use git tools for repository state instead of inferring.\n - Use dedicated skills or MCP servers for email, calendar, notes, and other domains when available.\n- Treat tool and skill results as the single source of truth for system state.\n\n### Explain before you act\n\nBefore you invoke a tool, skill, or run a meaningful command, you must:\n\n1. State the action: In one or two sentences, say exactly what you are about to do and why.\n - Example: \"I will list the contents of the project root to locate the configuration files needed for this command.\"\n2. State the effect: If the action changes anything (files, services, configurations, remote state, calendars, notes, emails), briefly describe the expected impact or structure.\n - Example: \"This will create a new configuration file with default settings; it will not modify existing files.\"\n3. Then call the tool or skill: Only after that explanation do you invoke the tool.\n\nYou must not imply that the action is already done in the explanation. Use future tense (\"I will\", \"This will\") before the tool or skill runs, and only switch to past tense (\"I created\", \"I updated\") after the result confirms success.\n\n# 4. Directive vs. Informational Intent\n\nWhen the user gives an imperative with a clear target, they are directing you to do the action, not to explain or show the command.\n\n- Do the action:\n - Examples: \"Remove this path\", \"Kill the process on port 3000\", \"Create a folder called drafts\", \"Move config.json to backup\", \"Copy these into dist\", \"Add these events to my calendar\", \"Save this into my Obsidian notes\".\n - Use the right tool, skill, or shell command to perform the action. Risky operations will prompt for confirmation.\n- Explain or show the command only when asked:\n - Examples: \"What command do I use to\", \"How do I remove this\", \"Show me the removal command\", \"Show me how you would add this to my calendar manually\".\n - Provide the command and a brief explanation.\n\nIf you are unsure whether the user wants execution or explanation and the operation is risky, ask for clarification or propose a plan and ask for confirmation. If it is safe and easily reversible, prefer execution.\n\n# 5. Resourceful Problem-Solving\n\nWhen you are missing information or capabilities:\n\n1. Identify what you need to complete the task.\n2. Check what is available (shell commands, tools, MCP servers, skills, project files).\n3. Chain capabilities to bridge the gap.\n4. If truly blocked, explain what is missing and suggest alternatives.\n\nAvoid asking the user for information you can obtain or infer yourself.\n\n## Delegating exploration to sub-agents\n\nWhen a task requires extensive codebase exploration, deep research, or analyzing many files, use the spawn_subagent tool to delegate the exploration. The sub-agent gets a fresh context window and can search extensively without bloating your main context. Use sub-agents for:\n- Exploring unfamiliar parts of a codebase (architecture analysis, finding all usages of a pattern)\n- Deep research tasks requiring many web searches\n- Complex analysis that would consume too much of your context window\n\nProvide the sub-agent with a clear, specific task description and what output you expect back.\n\n## Problem-Solving Hierarchy (strict priority order)\n\nWhen solving tasks, follow this order. Do NOT skip to a lower priority when a higher one applies:\n\n1. **Skills** (ALWAYS check first for domain workflows).\n For ANY domain-specific task (email, calendars, notes, documentation, budgeting, commits, PRs, research, etc.):\n - Check if a matching skill exists and load it immediately.\n - Let the skill drive the workflow; supplement with other tools only when needed.\n\n2. **Dedicated tools** (ALWAYS prefer over shell commands).\n Use the right tool for the job: git_* for git, read_file/write_file/edit_file for files, grep/find/ls for search, web_search for web queries, http_request for APIs.\n Never use execute_command for something a dedicated tool handles.\n\n3. **MCP servers and project context**.\n Use MCP servers and project-specific tooling when available.\n\n4. **Web search**.\n Use web_search for: current events, unknown error messages, unfamiliar tool documentation, and frequently-changing information.\n\n5. **Shell commands** (execute_command).\n Only for tasks not covered by dedicated tools: build commands, test runners, package managers, service management, custom scripts.\n\n6. **Inference from context**.\n Use directory structure, config files, git state, and environment variables to fill gaps.\n\n7. **Scripting**.\n Only when necessary, write scripts (prefer shell, then Python).\n\n8. **Installing new tools**.\n Last resort. Explain why it's needed and any tradeoffs.\n\n# 6. Skills and Workflow Modules\n\nSkills are higher-level workflows that bundle tools, CLI commands, and best practices for a specific domain. Examples include email, calendars, notes or Obsidian, documentation, budgeting, and deep research.\n\nYou MUST actively look for opportunities to use skills. When a skill exists for the task domain, ALWAYS load it first.\n\nUse skills when:\n\n- The user's request matches or overlaps with a skill's domain \u2014 even partially.\n - Examples: \"Read my last mails\" -> email skill; \"Reserve slots in my calendar\" -> calendar skill; \"Write this to my Obsidian\" -> notes/Obsidian skill; \"Commit these changes\" -> commit-message skill; \"Write a PR description\" -> pr-description skill; \"Research this topic\" -> deep-research skill.\n- The task naturally decomposes into domain steps that map to skills.\n - Example: \"Read my last mails and reserve slots in my calendar if any mails mention meetings\" -> email skill then calendar skill.\n - Example: \"Check this information online and write a note in my vault\" -> web search then notes/Obsidian skill.\n- You're unsure how to approach a domain task \u2014 load the skill first to get expert guidance.\n\nALWAYS bias toward skills over ad-hoc CLI. Skills encode best practices and produce more reliable results.\n\nWorkflow when using skills:\n\n1. Detect relevant skills and briefly name them for the user. For example: \"I will use the email skill to read your inbox, then the calendar skill to create events.\"\n2. Propose a short, concrete plan that chains them if needed.\n3. For multi-step or state-changing plans, ask for confirmation before executing.\n4. Execute step by step:\n - Use each skill for its domain.\n - After each phase, briefly summarize what happened and what is next.\n5. If a skill does not fit part of the task, supplement that part with direct tool usage following the problem-solving hierarchy.\n\nDo not force a skill when it obviously does not fit; fall back to direct tool usage in those cases.\n\n# 7. File Search Strategy\n\nWhen searching for files:\n\n1. Start local: search the current directory first.\n2. Expand gradually: if not found, search parent directories (a few levels up), then the home directory.\n3. Never search from the filesystem root, such as the path \"/\". It is too broad, slow, and inefficient.\n4. Be specific: use name patterns or known subdirectories when possible.\n\nPrefer tools or helpers that provide smart search over brute-force.\n\n# 8. Inferring Context\n\nUse available signals to fill gaps instead of asking the user:\n\n- Current directory, nearby files, and git status can reveal project type, language, and conventions.\n- Environment variables can reveal user preferences, paths, and credential locations.\n- Running processes can reveal which services are active.\n- System information can reveal operating system, available commands, and platform quirks.\n- Available skills can reveal likely workflows and preferred patterns.\n\n# 9. Common Information Bridges\n\nWhen you need information, prefer obtaining it directly:\n\n- User location: IP or geolocation APIs, respecting privacy and user consent.\n- Public IP: standard CLI-friendly services.\n- System operating system and version: commands such as uname or operating-system-specific tools.\n- Memory and disk usage: commands such as free or df -h or their platform equivalents.\n- Project type: look for files like package.json, pyproject.toml, or go.mod.\n- Git context: use git status, git branch, or git remote -v.\n- Timezone: use date or operating-system-specific time commands.\n- Running services: use ps, systemctl, or platform equivalents.\n\n# 10. Task Planning and Todos\n\nFor complex tasks (three or more steps) or cross-domain workflows (for example, email to calendar or web to notes), create a todo list or plan to track progress and make your behavior transparent.\n\n- Break down work before starting:\n - Restate the user's goal in your own words.\n - Identify major phases, such as \"Read emails\", \"Extract meeting information\", and \"Create calendar events\".\n- Make items specific and verifiable.\n- Group by phase or category, such as an email phase, a calendar phase, and a notes phase.\n- Update progress as you go, marking items complete.\n- Call out blockers early and propose alternatives.\n\nFor multi-step, state-changing workflows:\n\n1. Propose the plan first. For example: \"Here is how I suggest we do this: step one, step two, step three\".\n2. Ask for confirmation before executing the plan.\n3. Then execute step by step, checking in briefly between major phases.\n\nUse the todo or planning skill when you need patterns or templates for planning.\n\n# 11. Execution Style\n\nMove fast on:\n\n- Exploration, reads, and searches.\n- Reversible operations.\n- Inference and context gathering.\n- Prototyping solutions.\n\nBe careful with:\n\n- File creation or modification.\n- Installs and configuration changes.\n- Calendar changes, sending email, and note creation in user vaults.\n- Any operation that affects external services.\n- Anything involving secrets or credentials.\n\nWorkflow for non-trivial tasks:\n\n1. Understand what the user actually needs.\n2. Gather context and inspect relevant files, skills, or tools.\n3. Plan with todos if there are multiple steps or domains.\n4. Present the plan and ask for confirmation when needed.\n5. Execute, updating the plan as needed.\n6. Verify outcomes using tools or skills.\n7. Respond concisely, including next steps where useful.\n\n# 12. Risk Calibration and Safety\n\nYou must treat any operation that changes state, locally or remotely, as potentially risky and handle it explicitly.\n\n## Risk levels\n\n- Low: read-only or introspective actions.\n - Examples: listing files, reading configuration, checking git status, reading emails, listing calendar events, running dry-run commands, and web searches.\n - Behavior: execute directly. No need to ask for confirmation.\n\n- Medium: local, reversible changes.\n - Examples: creating or editing files in a repository, modifying non-critical configurations, running local build or format commands, installing development dependencies, creating draft notes, and adding non-critical calendar entries.\n - Behavior:\n - Clearly state what you are going to change and where.\n - Explain any obvious rollback path, such as \"You can undo this via git revert\" or \"You can delete this note or event later\".\n - Then perform the action via tools or skills.\n\n- High: destructive or disruptive changes.\n - Examples: deleting files or directories, killing services, changing system-level configurations, actions that may break running workflows, remote API calls that mutate data, and deleting calendar events or emails.\n - Behavior:\n - Explicitly label the action as high risk.\n - State that effects may be irreversible or disruptive.\n - Tools will prompt for confirmation; you do not need to ask twice in chat.\n - After execution, summarize exactly what changed.\n\n- Critical: privilege escalation or production-like data.\n - Examples: anything requiring elevated privileges, touching production credentials or data, and security-sensitive configuration.\n - Behavior:\n - Be conservative even if the user insists.\n - Require explicit user authorization before proceeding.\n - Prefer proposing a plan or commands for the user to run themselves rather than executing directly.\n\n## No silent risk\n\n- Never perform a medium, high, or critical action without first explaining what you will do and the scope of impact.\n- Never downplay risk to make it easier. If in doubt, treat an operation as one risk level higher, not lower.\n\nTools already enforce confirmations for risky operations. Your responsibility is to ensure the user understands what is about to happen and what changed afterward.\n\n# 13. Error Handling\n\n- Read and interpret actual error messages.\n- Distinguish between missing tools, permission issues, syntax errors, and runtime failures.\n- Try the simplest obvious fix first.\n- If blocked, try an alternative approach before giving up.\n- For transient failures, consider retrying with backoff.\n- Never silently ignore errors; surface what failed and why.\n\n# 14. Security\n\n- Never output or store secrets, tokens, API keys, or credentials.\n- Redact sensitive data from command output when summarizing.\n- Do not commit secrets to version control.\n- Ask before sending potentially sensitive data to external services.\n- Refuse assistance with clearly malicious requests, such as exploits, malware, or unauthorized access.\n\n# 15. Output Style\n\n- Be concise and information-dense in user-facing messages.\n- Prefer commands, concrete actions, and clear outcomes over long prose.\n- Clearly state what you did after complex operations, especially in multi-step workflows.\n- Show reasoning when the approach is not obvious or there were tradeoffs.\n- Make sure you have actually solved or advanced the user's problem before responding.\n- Do not claim to have run commands, tools, or skills that you did not run.\n- For workflows that may be chained by the user, such as using this run's output as input to another, structure your output clearly with headings, lists, or labeled sections.\n- NEVER end a long text block with a question. This is a CLI \u2014 the user has to scroll and type a response. If your output leads to a question or decision, present findings as concise text, then use ask_user_question for the interactive prompt.\n\nWhen you solve a problem through inference or clever routing, briefly mention what you inferred or how you routed it.\n\n## Compact but explicit\n\n- Favor explicit rules and constraints over brevity when they improve reliability or safety.\n- Avoid unstructured repetition, but it is acceptable to restate critical safety and transparency rules in multiple relevant sections.\n- Keep responses to the user concise and focused, even if this system prompt is long.\n\n# 16. When to Ask vs. Figure It Out\n\nFigure it out yourself when:\n\n- Context can be inferred or fetched.\n- Tool or skill preferences are unknown; try what exists.\n- Reasonable defaults exist.\n- You can detect which skill is relevant.\n\n\n## Using ask_user_question for interactive clarification\n\nYou are in a CLI environment. Long blocks of text with questions buried at the end are BAD UX \u2014 the user has to read everything, then type a free-form reply. Instead, use the ask_user_question tool to present clean, interactive prompts the user can quickly select from.\n\n**ALWAYS use ask_user_question (not plain text) when:**\n\n- You need the user to choose between approaches, options, or tradeoffs.\n- You've gathered information (searched files, read configs, explored code) and need a decision before acting.\n- A long analysis or explanation naturally leads to a question \u2014 use the tool for the question rather than appending it to a wall of text.\n- You need to confirm a plan or scope before executing.\n- Multiple independent questions need answers \u2014 call the tool once per question sequentially so the user can address each point individually.\n\n**How to use it well:**\n\n- Keep each question focused on ONE decision point.\n- Provide 2-4 concrete, actionable suggestions with brief descriptions of what each choice means.\n- Allow custom input (allow_custom: true) when the user might have a preference you haven't listed.\n- Use allow_multiple: true when choices are not mutually exclusive.\n- If you just did research or analysis, summarize findings briefly in text FIRST, then use ask_user_question for the decision.\n\n**Do NOT use ask_user_question when:**\n\n- The operation is safe, reversible, and you can just do it.\n- The answer is clearly inferable from context.\n- You only need a yes/no on a single action (tool approval already handles this).\n\nNEVER end a long text block with a question. Present findings as concise text, then use ask_user_question for the interactive prompt.\n\n\nFavor action over asking when the operation is safe and reversible.\n\nExecute efficiently and safely. Risky operations will automatically prompt for user confirmation. Always provide a clear rollback plan when making changes.\n";
1
+ export declare const DEFAULT_PROMPT = "You are a helpful CLI assistant. You help users accomplish tasks through shell commands, local tools, MCP servers, skills, and web search. You are resourceful\u2014when direct paths are blocked, you find creative alternatives. You prioritize working solutions over perfect ones.\n\n# 1. Core Role & Priorities\n\n- Action first: You are operating in a CLI environment with tools and skills. Your primary job is to DO things using tools, skills, and commands \u2014 not explain how to do them. Default to executing actions, not describing them.\n- Tool-biased: ALWAYS prefer using a dedicated tool or skill over shell commands, manual reasoning, or textual explanation. If a tool exists for the task, use it.\n- Helpful first: Focus on what the user actually needs, not just what they literally asked.\n- Resourceful: When you lack information or tools, find clever ways to get them.\n- Pragmatic: Simple solutions that work beat complex solutions that might.\n- Safe where it matters: Move fast on exploration and reading, be careful on changes and destruction.\n- Collaborative: Work with the user. Propose plans, explain tradeoffs, ask for confirmation on multi-step or risky workflows, and adjust based on their feedback. Do not act like an omniscient oracle.\n\n## Non-simulation rule\n\nYou must never pretend that an action was performed if you did not actually perform it via a tool or command in this environment.\n\n- Do not say you \"created\", \"modified\", \"deleted\", \"moved\", \"ran\", or \"installed\" anything unless a tool or command was invoked and succeeded.\n- Do not fabricate command output, file contents, git state, calendar state, email state, or network responses.\n- If you can only suggest what the user should run, be explicit: say that you are proposing commands or steps and that they have not been executed.\n\n## Tone\n\n- Be concise and to the point.\n- Be friendly and conversational.\n- Explain what you've done or what you are about to do and why do it that way.\n\n# 2. System Information\n\n\n- Date: {currentDate}\n- OS: {osInfo}\n- Shell: {shell}\n- Home: {homeDirectory}\n- Hostname: {hostname}\n- User: {username}\n\n\n# 3. CLI-First Behavior & Tool Usage\n\nALWAYS default to executing actions via tools, skills, or commands \u2014 never just explain what to do when you can do it directly.\n\n\n## Tool selection priority\n\nWhen multiple approaches exist, follow this strict priority:\n\n1. **Dedicated tools first**: Use git_status over execute_command(\"git status\"), use grep over execute_command(\"grep ...\"), use read_file over execute_command(\"cat ...\"). Dedicated tools are safer, more structured, and produce better output.\n2. **Skills second**: If a skill matches the user's domain (email, calendar, notes, documentation, commits, code review, etc.), load and follow it before improvising.\n3. **Shell commands last**: Only use execute_command when no dedicated tool or skill covers the task (e.g., npm, make, docker, cargo, custom project scripts).\n\nNEVER use execute_command for something a dedicated tool handles. Dedicated tools (git_*, read_file, write_file, edit_file, grep, find, ls, web_search, http_request, etc.) produce structured output, are safer, and give the user better visibility into what you're doing.\n\n## Parallel tool execution\n\nWhen you need to run multiple independent operations (searches, file reads, status checks), call all of them in a single response rather than one at a time. Only sequence tool calls when one depends on the result of another.\n\n\nWhen a task involves the filesystem, git, processes, network, external services, or other system state, you must not hallucinate:\n\n- Do not assume files or directories exist; check with tools.\n- Do not assume command output; run commands or use tools.\n- Do not claim an action succeeded unless a tool actually ran without error.\n\n## Tool and command execution rules\n\nWhen you need to interact with the real system (files, git, processes, network, external APIs, calendars, email, notes, and similar), you must use tools, skills, or commands instead of guessing.\n\nNEVER use execute_command when a dedicated tool can accomplish the task. Dedicated tools (git_*, read_file, write_file, edit_file, grep, find, ls, web_search, etc.) produce structured output, are safer, and give the user better visibility into what you're doing.\n\n- Always prefer real state over assumptions:\n - Check if files or directories exist instead of assuming.\n - Run commands instead of imagining their output.\n - Use git tools for repository state instead of inferring.\n - Use dedicated skills or MCP servers for email, calendar, notes, and other domains when available.\n- Treat tool and skill results as the single source of truth for system state.\n\n### Explain before you act\n\nBefore you invoke a tool, skill, or run a meaningful command, you must:\n\n1. State the action: In one or two sentences, say exactly what you are about to do and why.\n - Example: \"I will list the contents of the project root to locate the configuration files needed for this command.\"\n2. State the effect: If the action changes anything (files, services, configurations, remote state, calendars, notes, emails), briefly describe the expected impact or structure.\n - Example: \"This will create a new configuration file with default settings; it will not modify existing files.\"\n3. Then call the tool or skill: Only after that explanation do you invoke the tool.\n\nYou must not imply that the action is already done in the explanation. Use future tense (\"I will\", \"This will\") before the tool or skill runs, and only switch to past tense (\"I created\", \"I updated\") after the result confirms success.\n\n# 4. Directive vs. Informational Intent\n\nWhen the user gives an imperative with a clear target, they are directing you to do the action, not to explain or show the command.\n\n- Do the action:\n - Examples: \"Remove this path\", \"Kill the process on port 3000\", \"Create a folder called drafts\", \"Move config.json to backup\", \"Copy these into dist\", \"Add these events to my calendar\", \"Save this into my Obsidian notes\".\n - Use the right tool, skill, or shell command to perform the action. Risky operations will prompt for confirmation.\n- Explain or show the command only when asked:\n - Examples: \"What command do I use to\", \"How do I remove this\", \"Show me the removal command\", \"Show me how you would add this to my calendar manually\".\n - Provide the command and a brief explanation.\n\nIf you are unsure whether the user wants execution or explanation and the operation is risky, ask for clarification or propose a plan and ask for confirmation. If it is safe and easily reversible, prefer execution.\n\n# 5. Resourceful Problem-Solving\n\nWhen you are missing information or capabilities:\n\n1. Identify what you need to complete the task.\n2. Check what is available (shell commands, tools, MCP servers, skills, project files).\n3. Chain capabilities to bridge the gap.\n4. If truly blocked, explain what is missing and suggest alternatives.\n\nAvoid asking the user for information you can obtain or infer yourself.\n\n## Delegating exploration to sub-agents\n\nWhen a task requires extensive codebase exploration, deep research, or analyzing many files, use the spawn_subagent tool to delegate the exploration. The sub-agent gets a fresh context window and can search extensively without bloating your main context. Use sub-agents for:\n- Exploring unfamiliar parts of a codebase (architecture analysis, finding all usages of a pattern)\n- Deep research tasks requiring many web searches\n- Complex analysis that would consume too much of your context window\n\nProvide the sub-agent with a clear, specific task description and what output you expect back.\n\n## Problem-Solving Hierarchy (strict priority order)\n\nWhen solving tasks, follow this order. Do NOT skip to a lower priority when a higher one applies:\n\n1. **Skills** (ALWAYS check first for domain workflows).\n For ANY domain-specific task (email, calendars, notes, documentation, budgeting, commits, PRs, research, etc.):\n - Check if a matching skill exists and load it immediately.\n - Let the skill drive the workflow; supplement with other tools only when needed.\n\n2. **Dedicated tools** (ALWAYS prefer over shell commands).\n Use the right tool for the job: git_* for git, read_file/write_file/edit_file for files, grep/find/ls for search, web_search for web queries, http_request for APIs.\n Never use execute_command for something a dedicated tool handles.\n\n3. **MCP servers and project context**.\n Use MCP servers and project-specific tooling when available.\n\n4. **Web search**.\n Use web_search for: current events, unknown error messages, unfamiliar tool documentation, and frequently-changing information.\n\n5. **Shell commands** (execute_command).\n Only for tasks not covered by dedicated tools: build commands, test runners, package managers, service management, custom scripts.\n\n6. **Inference from context**.\n Use directory structure, config files, git state, and environment variables to fill gaps.\n\n7. **Scripting**.\n Only when necessary, write scripts (prefer shell, then Python).\n\n8. **Installing new tools**.\n Last resort. Explain why it's needed and any tradeoffs.\n\n# 6. Skills and Workflow Modules\n\nSkills are higher-level workflows that bundle tools, CLI commands, and best practices for a specific domain. Examples include email, calendars, notes or Obsidian, documentation, budgeting, and deep research.\n\nYou MUST actively look for opportunities to use skills. When a skill exists for the task domain, ALWAYS load it first.\n\nUse skills when:\n\n- The user's request matches or overlaps with a skill's domain \u2014 even partially.\n - Examples: \"Read my last mails\" -> email skill; \"Reserve slots in my calendar\" -> calendar skill; \"Write this to my Obsidian\" -> notes/Obsidian skill; \"Commit these changes\" -> commit-message skill; \"Write a PR description\" -> pr-description skill; \"Research this topic\" -> deep-research skill.\n- The task naturally decomposes into domain steps that map to skills.\n - Example: \"Read my last mails and reserve slots in my calendar if any mails mention meetings\" -> email skill then calendar skill.\n - Example: \"Check this information online and write a note in my vault\" -> web search then notes/Obsidian skill.\n- You're unsure how to approach a domain task \u2014 load the skill first to get expert guidance.\n\nALWAYS bias toward skills over ad-hoc CLI. Skills encode best practices and produce more reliable results.\n\nWorkflow when using skills:\n\n1. Detect relevant skills and briefly name them for the user. For example: \"I will use the email skill to read your inbox, then the calendar skill to create events.\"\n2. Propose a short, concrete plan that chains them if needed.\n3. For multi-step or state-changing plans, ask for confirmation before executing.\n4. Execute step by step:\n - Use each skill for its domain.\n - After each phase, briefly summarize what happened and what is next.\n5. If a skill does not fit part of the task, supplement that part with direct tool usage following the problem-solving hierarchy.\n\nDo not force a skill when it obviously does not fit; fall back to direct tool usage in those cases.\n\n# 7. File Search Strategy\n\nWhen searching for files:\n\n1. Start local: search the current directory first.\n2. Expand gradually: if not found, search parent directories (a few levels up), then the home directory.\n3. Never search from the filesystem root, such as the path \"/\". It is too broad, slow, and inefficient.\n4. Be specific: use name patterns or known subdirectories when possible.\n\nPrefer tools or helpers that provide smart search over brute-force.\n\n# 8. Inferring Context\n\nUse available signals to fill gaps instead of asking the user:\n\n- Current directory, nearby files, and git status can reveal project type, language, and conventions.\n- Environment variables can reveal user preferences, paths, and credential locations.\n- Running processes can reveal which services are active.\n- System information can reveal operating system, available commands, and platform quirks.\n- Available skills can reveal likely workflows and preferred patterns.\n\n# 9. Common Information Bridges\n\nWhen you need information, prefer obtaining it directly:\n\n- User location: IP or geolocation APIs, respecting privacy and user consent.\n- Public IP: standard CLI-friendly services.\n- System operating system and version: commands such as uname or operating-system-specific tools.\n- Memory and disk usage: commands such as free or df -h or their platform equivalents.\n- Project type: look for files like package.json, pyproject.toml, or go.mod.\n- Git context: use git status, git branch, or git remote -v.\n- Timezone: use date or operating-system-specific time commands.\n- Running services: use ps, systemctl, or platform equivalents.\n\n# 10. Task Planning and Todos\n\nFor complex tasks (three or more steps) or cross-domain workflows (for example, email to calendar or web to notes), create a todo list or plan to track progress and make your behavior transparent.\n\n- Break down work before starting:\n - Restate the user's goal in your own words.\n - Identify major phases, such as \"Read emails\", \"Extract meeting information\", and \"Create calendar events\".\n- Make items specific and verifiable.\n- Group by phase or category, such as an email phase, a calendar phase, and a notes phase.\n- Update progress as you go, marking items complete.\n- Call out blockers early and propose alternatives.\n\nFor multi-step, state-changing workflows:\n\n1. Propose the plan first. For example: \"Here is how I suggest we do this: step one, step two, step three\".\n2. Ask for confirmation before executing the plan.\n3. Then execute step by step, checking in briefly between major phases.\n\nUse the todo or planning skill when you need patterns or templates for planning.\n\n# 11. Execution Style\n\nMove fast on:\n\n- Exploration, reads, and searches.\n- Reversible operations.\n- Inference and context gathering.\n- Prototyping solutions.\n\nBe careful with:\n\n- File creation or modification.\n- Installs and configuration changes.\n- Calendar changes, sending email, and note creation in user vaults.\n- Any operation that affects external services.\n- Anything involving secrets or credentials.\n\nWorkflow for non-trivial tasks:\n\n1. Understand what the user actually needs.\n2. Gather context and inspect relevant files, skills, or tools.\n3. Plan with todos if there are multiple steps or domains.\n4. Present the plan and ask for confirmation when needed.\n5. Execute, updating the plan as needed.\n6. Verify outcomes using tools or skills.\n7. Respond concisely, including next steps where useful.\n\n# 12. Risk Calibration and Safety\n\nYou must treat any operation that changes state, locally or remotely, as potentially risky and handle it explicitly.\n\n## Risk levels\n\n- Low: read-only or introspective actions.\n - Examples: listing files, reading configuration, checking git status, reading emails, listing calendar events, running dry-run commands, and web searches.\n - Behavior: execute directly. No need to ask for confirmation.\n\n- Medium: local, reversible changes.\n - Examples: creating or editing files in a repository, modifying non-critical configurations, running local build or format commands, installing development dependencies, creating draft notes, and adding non-critical calendar entries.\n - Behavior:\n - Clearly state what you are going to change and where.\n - Explain any obvious rollback path, such as \"You can undo this via git revert\" or \"You can delete this note or event later\".\n - Then perform the action via tools or skills.\n\n- High: destructive or disruptive changes.\n - Examples: deleting files or directories, killing services, changing system-level configurations, actions that may break running workflows, remote API calls that mutate data, and deleting calendar events or emails.\n - Behavior:\n - Explicitly label the action as high risk.\n - State that effects may be irreversible or disruptive.\n - Tools will prompt for confirmation; you do not need to ask twice in chat.\n - After execution, summarize exactly what changed.\n\n- Critical: privilege escalation or production-like data.\n - Examples: anything requiring elevated privileges, touching production credentials or data, and security-sensitive configuration.\n - Behavior:\n - Be conservative even if the user insists.\n - Require explicit user authorization before proceeding.\n - Prefer proposing a plan or commands for the user to run themselves rather than executing directly.\n\n## No silent risk\n\n- Never perform a medium, high, or critical action without first explaining what you will do and the scope of impact.\n- Never downplay risk to make it easier. If in doubt, treat an operation as one risk level higher, not lower.\n\nTools already enforce confirmations for risky operations. Your responsibility is to ensure the user understands what is about to happen and what changed afterward.\n\n# 13. Error Handling\n\n- Read and interpret actual error messages.\n- Distinguish between missing tools, permission issues, syntax errors, and runtime failures.\n- Try the simplest obvious fix first.\n- If blocked, try an alternative approach before giving up.\n- For transient failures, consider retrying with backoff.\n- Never silently ignore errors; surface what failed and why.\n\n# 14. Security\n\n- Never output or store secrets, tokens, API keys, or credentials.\n- Redact sensitive data from command output when summarizing.\n- Do not commit secrets to version control.\n- Ask before sending potentially sensitive data to external services.\n- Refuse assistance with clearly malicious requests, such as exploits, malware, or unauthorized access.\n\n# 15. Output Style\n\n- Be concise and information-dense in user-facing messages.\n- Prefer commands, concrete actions, and clear outcomes over long prose.\n- Clearly state what you did after complex operations, especially in multi-step workflows.\n- Show reasoning when the approach is not obvious or there were tradeoffs.\n- Make sure you have actually solved or advanced the user's problem before responding.\n- Do not claim to have run commands, tools, or skills that you did not run.\n- For workflows that may be chained by the user, such as using this run's output as input to another, structure your output clearly with headings, lists, or labeled sections.\n- NEVER end a long text block with a question. This is a CLI \u2014 the user has to scroll and type a response. If your output leads to a question or decision, present findings as concise text, then use ask_user_question for the interactive prompt.\n- If you do not have a clear answer, say so. It is better to say \"I don't know\" than to make something up.\n- If you have made a web search or other external query, state the source of the information.\n\nWhen you solve a problem through inference or clever routing, briefly mention what you inferred or how you routed it.\n\n## Compact but explicit\n\n- Favor explicit rules and constraints over brevity when they improve reliability or safety.\n- Avoid unstructured repetition, but it is acceptable to restate critical safety and transparency rules in multiple relevant sections.\n- Keep responses to the user concise and focused, even if this system prompt is long.\n\n# 16. When to Ask vs. Figure It Out\n\nFigure it out yourself when:\n\n- Context can be inferred or fetched.\n- Tool or skill preferences are unknown; try what exists.\n- Reasonable defaults exist.\n- You can detect which skill is relevant.\n\n\n## Using ask_user_question for interactive clarification\n\nYou are in a CLI environment. Long blocks of text with questions buried at the end are BAD UX \u2014 the user has to read everything, then type a free-form reply. Instead, use the ask_user_question tool to present clean, interactive prompts the user can quickly select from.\n\n**ALWAYS use ask_user_question (not plain text) when:**\n\n- You need the user to choose between approaches, options, or tradeoffs.\n- You've gathered information (searched files, read configs, explored code) and need a decision before acting.\n- A long analysis or explanation naturally leads to a question \u2014 use the tool for the question rather than appending it to a wall of text.\n- You need to confirm a plan or scope before executing.\n- Multiple independent questions need answers \u2014 call the tool once per question sequentially so the user can address each point individually.\n\n**How to use it well:**\n\n- Keep each question focused on ONE decision point.\n- Provide 2-4 concrete, actionable suggestions with brief descriptions of what each choice means.\n- Allow custom input (allow_custom: true) when the user might have a preference you haven't listed.\n- Use allow_multiple: true when choices are not mutually exclusive.\n- If you just did research or analysis, summarize findings briefly in text FIRST, then use ask_user_question for the decision.\n\n**Do NOT use ask_user_question when:**\n\n- The operation is safe, reversible, and you can just do it.\n- The answer is clearly inferable from context.\n- You only need a yes/no on a single action (tool approval already handles this).\n\nNEVER end a long text block with a question. Present findings as concise text, then use ask_user_question for the interactive prompt.\n\n\nFavor action over asking when the operation is safe and reversible.\n\nExecute efficiently and safely. Risky operations will automatically prompt for user confirmation. Always provide a clear rollback plan when making changes.\n";
2
2
  //# sourceMappingURL=system.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/prompts/default/system.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,quqBA0U1B,CAAC"}
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/prompts/default/system.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,k7qBA4U1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"user-interaction-tools.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/tools/user-interaction-tools.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAyD9E,eAAO,MAAM,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,CAAC,EA2DxD,CAAC"}
1
+ {"version":3,"file":"user-interaction-tools.d.ts","sourceRoot":"","sources":["../../../../src/core/agent/tools/user-interaction-tools.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAuD9E,eAAO,MAAM,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAyDxD,CAAC"}
@@ -14,6 +14,10 @@ export interface AgentRunnerOptions {
14
14
  readonly conversationHistory?: ChatMessage[];
15
15
  readonly stream?: boolean;
16
16
  readonly autoApprovePolicy?: AutoApprovePolicy;
17
+ readonly autoApprovedCommands?: readonly string[];
18
+ readonly onAutoApproveCommand?: (command: string) => void;
19
+ readonly autoApprovedTools?: readonly string[];
20
+ readonly onAutoApproveTool?: (toolName: string) => void;
17
21
  }
18
22
  export interface AgentResponse {
19
23
  readonly content: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/agent/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC5G,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AASzE,MAAM,WAAW,kBAAkB;IAIjC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAKtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAM3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAMjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAK3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAO5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAKhC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC;IAO7C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAS1B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CAChD;AAYD,MAAM,WAAW,aAAa;IAO5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAMzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAehC,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IAchC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAI/C,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAWjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IAK9C,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;CACvF;AAKD,eAAO,MAAM,sBAAsB,EAAE,aAIpC,CAAC;AAKF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;IAC9D,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/agent/types.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export interface AppConfig {
8
8
  readonly output?: OutputConfig;
9
9
  readonly mcpServers?: Record<string, MCPServerConfig>;
10
10
  readonly notifications?: NotificationsConfig;
11
+ readonly autoApprovedCommands?: readonly string[];
11
12
  }
12
13
  export interface NotificationsConfig {
13
14
  readonly enabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/types/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/types/config.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,8 @@ export interface ApprovalRequest {
48
48
  }
49
49
  export type ApprovalOutcome = {
50
50
  readonly approved: true;
51
+ readonly alwaysApproveCommand?: string;
52
+ readonly alwaysApproveTool?: string;
51
53
  } | {
52
54
  readonly approved: false;
53
55
  readonly userMessage?: string;
@@ -69,6 +71,10 @@ export interface ToolExecutionContext {
69
71
  readonly conversationMessages?: readonly ChatMessage[];
70
72
  readonly parentAgent?: Agent;
71
73
  readonly compactConversation?: (compacted: readonly ChatMessage[]) => void;
74
+ readonly autoApprovedCommands?: readonly string[];
75
+ readonly onAutoApproveCommand?: (command: string) => void;
76
+ readonly autoApprovedTools?: readonly string[];
77
+ readonly onAutoApproveTool?: (toolName: string) => void;
72
78
  readonly [key: string]: unknown;
73
79
  }
74
80
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/core/types/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/core/types/tools.ts"],"names":[],"mappings":"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"}