@dyyz1993/pi-coding-agent 0.74.20 → 0.74.22

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 (37) hide show
  1. package/dist/core/agent-session.d.ts +4 -0
  2. package/dist/core/agent-session.d.ts.map +1 -1
  3. package/dist/core/agent-session.js +41 -1
  4. package/dist/core/agent-session.js.map +1 -1
  5. package/dist/core/agent-types.d.ts +7 -0
  6. package/dist/core/agent-types.d.ts.map +1 -1
  7. package/dist/core/agent-types.js +46 -2
  8. package/dist/core/agent-types.js.map +1 -1
  9. package/dist/core/extensions/loader.d.ts.map +1 -1
  10. package/dist/core/extensions/loader.js +7 -2
  11. package/dist/core/extensions/loader.js.map +1 -1
  12. package/dist/core/extensions/runner.d.ts.map +1 -1
  13. package/dist/core/extensions/runner.js +5 -6
  14. package/dist/core/extensions/runner.js.map +1 -1
  15. package/dist/core/resource-loader.d.ts.map +1 -1
  16. package/dist/core/resource-loader.js +2 -2
  17. package/dist/core/resource-loader.js.map +1 -1
  18. package/dist/core/settings-manager.d.ts +1 -0
  19. package/dist/core/settings-manager.d.ts.map +1 -1
  20. package/dist/core/settings-manager.js +5 -0
  21. package/dist/core/settings-manager.js.map +1 -1
  22. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  23. package/dist/modes/interactive/interactive-mode.js +1 -1
  24. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  25. package/dist/modes/rpc/rpc-client-types.d.ts.map +1 -1
  26. package/dist/modes/rpc/rpc-client-types.js.map +1 -1
  27. package/dist/modes/rpc/rpc-client.d.ts +18 -0
  28. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  29. package/dist/modes/rpc/rpc-client.js +12 -0
  30. package/dist/modes/rpc/rpc-client.js.map +1 -1
  31. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  32. package/dist/modes/rpc/rpc-mode.js +35 -0
  33. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  34. package/dist/modes/rpc/rpc-types.d.ts +45 -0
  35. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  36. package/dist/modes/rpc/rpc-types.js.map +1 -1
  37. package/package.json +4 -4
@@ -36,10 +36,10 @@ import { InternalGit } from "./file-store/internal-git.js";
36
36
  import { McpManager } from "./mcp/mcp-manager.js";
37
37
  import { createMcpToolDefinition } from "./mcp/tool-converter.js";
38
38
  import { resolveModelAlias } from "./model-resolver.js";
39
- import { getCwdDataDir, getGlobalDataDir, getProjectDataDir, getSessionDataDir, resolveProjectIdentity } from "./storage.js";
40
39
  import { expandPromptTemplate } from "./prompt-templates.js";
41
40
  import { CURRENT_SESSION_VERSION, getLatestCompactionEntry } from "./session-manager.js";
42
41
  import { createSyntheticSourceInfo } from "./source-info.js";
42
+ import { getCwdDataDir, getGlobalDataDir, getProjectDataDir, getSessionDataDir, resolveProjectIdentity, } from "./storage.js";
43
43
  import { buildSystemPrompt } from "./system-prompt.js";
44
44
  import { createLocalBashOperations } from "./tools/bash.js";
45
45
  import { createAllToolDefinitions, createTool } from "./tools/index.js";
@@ -124,6 +124,8 @@ export class AgentSession {
124
124
  _mcpToolDefinitions = new Map();
125
125
  _mcpServerScopes = new Map();
126
126
  _noMcp;
127
+ _currentAgentName = null;
128
+ _currentAgentVariables = {};
127
129
  _tierModels = {};
128
130
  // Tool registry for extension getTools/setTools
129
131
  _toolRegistry = new Map();
@@ -137,6 +139,7 @@ export class AgentSession {
137
139
  this.agent = config.agent;
138
140
  this.sessionManager = config.sessionManager;
139
141
  this.settingsManager = config.settingsManager;
142
+ this._tierModels = this.settingsManager.getTierModels();
140
143
  this._scopedModels = config.scopedModels ?? [];
141
144
  this._resourceLoader = config.resourceLoader;
142
145
  this._customTools = config.customTools ?? [];
@@ -266,6 +269,7 @@ export class AgentSession {
266
269
  toolName: toolCall.name,
267
270
  toolCallId: toolCall.id,
268
271
  input: args,
272
+ variables: this._currentAgentVariables,
269
273
  });
270
274
  }
271
275
  catch (err) {
@@ -649,6 +653,7 @@ export class AgentSession {
649
653
  setTierModels(mapping) {
650
654
  this._tierModels = { ...mapping };
651
655
  this.sessionManager.appendTierModelsChange(mapping);
656
+ this.settingsManager.setTierModels(mapping);
652
657
  }
653
658
  /** Current thinking level */
654
659
  get thinkingLevel() {
@@ -708,6 +713,41 @@ export class AgentSession {
708
713
  this._baseSystemPrompt = this._rebuildSystemPrompt(validToolNames);
709
714
  this.agent.state.systemPrompt = this._baseSystemPrompt;
710
715
  }
716
+ async applyAgentConfig(agent) {
717
+ this._currentAgentName = agent.name;
718
+ this._currentAgentVariables = {
719
+ ...(agent.variables ?? {}),
720
+ };
721
+ if (agent.permissionMode) {
722
+ this._currentAgentVariables["permissionMode"] = agent.permissionMode;
723
+ }
724
+ if (agent.name) {
725
+ this._currentAgentVariables["agentName"] = agent.name;
726
+ }
727
+ if (agent.disallowedTools && agent.disallowedTools.length > 0) {
728
+ this._currentAgentVariables["disallowedTools"] = agent.disallowedTools.join(",");
729
+ }
730
+ if (agent.tools && agent.tools.length > 0) {
731
+ this._currentAgentVariables["allowedTools"] = agent.tools.join(",");
732
+ }
733
+ if (agent.thinkingLevel) {
734
+ this.setThinkingLevel(agent.thinkingLevel);
735
+ }
736
+ if (agent.tools && agent.tools.length > 0) {
737
+ this.setActiveToolsByName(agent.tools);
738
+ }
739
+ if (agent.systemPrompt) {
740
+ const appendParts = [];
741
+ if (this._resourceLoader.getAppendSystemPrompt().length > 0) {
742
+ appendParts.push(...this._resourceLoader.getAppendSystemPrompt());
743
+ }
744
+ appendParts.push(agent.systemPrompt);
745
+ this._baseSystemPrompt = this._rebuildSystemPrompt(this.getActiveToolNames());
746
+ }
747
+ }
748
+ getCurrentAgent() {
749
+ return this._currentAgentName;
750
+ }
711
751
  /** Whether compaction or branch summarization is currently running */
712
752
  get isCompacting() {
713
753
  return (this._autoCompactionAbortController !== undefined ||