agentfeed 0.1.10 → 0.1.11

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.
@@ -24,12 +24,15 @@ export class ClaudeBackend {
24
24
  fs.writeFileSync(this.mcpConfigPath, JSON.stringify(config, null, 2));
25
25
  }
26
26
  buildArgs(options) {
27
- const { prompt, systemPrompt, sessionId, permissionMode, extraAllowedTools } = options;
27
+ const { prompt, systemPrompt, sessionId, permissionMode, extraAllowedTools, model } = options;
28
28
  const args = [
29
29
  "-p", prompt,
30
30
  "--append-system-prompt", systemPrompt,
31
31
  "--mcp-config", this.mcpConfigPath,
32
32
  ];
33
+ if (model) {
34
+ args.push("--model", model);
35
+ }
33
36
  if (permissionMode === "yolo") {
34
37
  args.push("--dangerously-skip-permissions");
35
38
  }
@@ -10,8 +10,11 @@ export class CodexBackend {
10
10
  this.mcpEnv = env;
11
11
  }
12
12
  buildArgs(options) {
13
- const { prompt, systemPrompt, sessionId, permissionMode } = options;
13
+ const { prompt, systemPrompt, sessionId, permissionMode, model } = options;
14
14
  const args = ["exec"];
15
+ if (model) {
16
+ args.push("-m", model);
17
+ }
15
18
  // MCP config via dot-notation -c flags (codex-cli 0.46+ requires struct, not JSON string)
16
19
  const prefix = "mcp_servers.agentfeed";
17
20
  args.push("-c", `${prefix}.command=${this.mcpCommand}`);
@@ -33,10 +33,13 @@ export class GeminiBackend {
33
33
  fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
34
34
  }
35
35
  buildArgs(options) {
36
- const { prompt, systemPrompt, sessionId, permissionMode, extraAllowedTools } = options;
36
+ const { prompt, systemPrompt, sessionId, permissionMode, extraAllowedTools, model } = options;
37
37
  // Gemini has no --append-system-prompt flag, embed in user prompt
38
38
  const fullPrompt = `[System Instructions]\n${systemPrompt}\n\n[Task]\n${prompt}`;
39
39
  const args = [fullPrompt];
40
+ if (model) {
41
+ args.push("--model", model);
42
+ }
40
43
  if (sessionId) {
41
44
  args.push("--resume", sessionId);
42
45
  }
@@ -6,6 +6,7 @@ export interface BuildArgsOptions {
6
6
  sessionId?: string;
7
7
  permissionMode: PermissionMode;
8
8
  extraAllowedTools?: string[];
9
+ model?: string;
9
10
  }
10
11
  export interface CLIBackend {
11
12
  readonly name: BackendType;
package/dist/index.js CHANGED
@@ -121,7 +121,8 @@ async function main() {
121
121
  try {
122
122
  const config = await client.getAgentConfig(agent.id);
123
123
  ba.config = config;
124
- console.log(`Agent: ${agent.name} (${agent.id}) [${type}] (server config: ${config.permission_mode}, tools: ${config.allowed_tools.length})`);
124
+ const modelLabel = config.model ? `, model: ${config.model}` : "";
125
+ console.log(`Agent: ${agent.name} (${agent.id}) [${type}] (server config: ${config.permission_mode}, tools: ${config.allowed_tools.length}${modelLabel})`);
125
126
  }
126
127
  catch {
127
128
  console.log(`Agent: ${agent.name} (${agent.id}) [${type}] (using CLI defaults)`);
package/dist/invoker.d.ts CHANGED
@@ -8,6 +8,7 @@ export interface InvokeOptions {
8
8
  recentContext: string;
9
9
  permissionMode: PermissionMode;
10
10
  extraAllowedTools?: string[];
11
+ model?: string;
11
12
  sessionId?: string;
12
13
  agentId?: string;
13
14
  timeoutMs?: number;
package/dist/invoker.js CHANGED
@@ -41,6 +41,7 @@ export function invokeAgent(backend, options) {
41
41
  sessionId: options.sessionId,
42
42
  permissionMode: options.permissionMode,
43
43
  extraAllowedTools: options.extraAllowedTools,
44
+ model: options.model,
44
45
  });
45
46
  const env = backend.buildEnv({
46
47
  ...agentfeedEnv,
package/dist/processor.js CHANGED
@@ -85,6 +85,7 @@ async function processItem(trigger, deps) {
85
85
  const effectiveTools = ba.config?.allowed_tools?.length
86
86
  ? ba.config.allowed_tools
87
87
  : deps.extraAllowedTools;
88
+ const effectiveModel = ba.config?.model;
88
89
  let retries = 0;
89
90
  let success = false;
90
91
  try {
@@ -98,6 +99,7 @@ async function processItem(trigger, deps) {
98
99
  recentContext,
99
100
  permissionMode: effectivePermission,
100
101
  extraAllowedTools: effectiveTools,
102
+ model: effectiveModel ?? undefined,
101
103
  sessionId: ba.sessionStore.get(trigger.sessionName),
102
104
  agentId: sessionAgentId,
103
105
  timeoutMs: AGENT_TIMEOUT_MS,
package/dist/types.d.ts CHANGED
@@ -8,6 +8,7 @@ export interface AgentInfo {
8
8
  export interface AgentConfig {
9
9
  permission_mode: PermissionMode;
10
10
  allowed_tools: string[];
11
+ model: string | null;
11
12
  }
12
13
  export interface BackendAgent {
13
14
  backendType: BackendType;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentfeed",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "description": "Worker daemon for AgentFeed - watches feeds and wakes AI agents via claude -p",
5
5
  "type": "module",
6
6
  "bin": {