engine7 7.1.63 → 7.1.65

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 (2) hide show
  1. package/dist/cli.mjs +53 -17
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -19762,6 +19762,8 @@ function parseCcRunArgs(argv) {
19762
19762
  args.agentName = takeValue().trim();
19763
19763
  } else if (a === "--resume") {
19764
19764
  takeValue();
19765
+ } else if (a === "--model") {
19766
+ args.model = takeValue().trim();
19765
19767
  }
19766
19768
  }
19767
19769
  if (!hasPrompt) {
@@ -19805,12 +19807,12 @@ function startStdinHandler() {
19805
19807
  `);
19806
19808
  return;
19807
19809
  }
19808
- if (msg2.type === "user") {
19810
+ if (msg2.type === "user" || msg2.type === void 0 && msg2.message?.content !== void 0) {
19809
19811
  const content = msg2.message?.content;
19810
19812
  let text = "";
19811
19813
  if (typeof content === "string") text = content;
19812
19814
  else if (Array.isArray(content)) {
19813
- text = content.filter((b) => b?.type === "text").map((b) => b.text).join("\n");
19815
+ text = content.filter((b) => b?.type === "text" || typeof b?.text === "string").map((b) => b.text).join("\n");
19814
19816
  }
19815
19817
  if (text) {
19816
19818
  userTexts.push(text);
@@ -19864,6 +19866,25 @@ async function runQuery(args) {
19864
19866
  loadSecretsEnv(stateDir, configName);
19865
19867
  const { loadConfig: loadConfig2 } = await Promise.resolve().then(() => (init_loader(), loader_exports));
19866
19868
  const config = loadConfig2(configPath);
19869
+ let effectiveModel = config.model;
19870
+ if (args.model && args.model !== config.model) {
19871
+ const slash = args.model.indexOf("/");
19872
+ const pid = slash > 0 ? args.model.slice(0, slash) : "";
19873
+ const mid = slash > 0 ? args.model.slice(slash + 1) : args.model;
19874
+ const provExists = pid && config.providers?.[pid];
19875
+ const modelExists = provExists?.models?.some((m) => (typeof m === "string" ? m : m?.id) === mid);
19876
+ if (provExists && modelExists) {
19877
+ effectiveModel = args.model;
19878
+ config.provider = {
19879
+ ...config.providers?.[pid],
19880
+ id: pid,
19881
+ models: config.providers?.[pid]?.models
19882
+ };
19883
+ console.log(`[cc-run] --model override: ${args.model} (found in providers)`);
19884
+ } else {
19885
+ console.log(`[cc-run] --model "${args.model}" not in config providers, using default ${config.model}`);
19886
+ }
19887
+ }
19867
19888
  const { buildStablePrompt: buildStablePrompt2, buildDynamicPrompt: buildDynamicPrompt2 } = await Promise.resolve().then(() => (init_prompt(), prompt_exports));
19868
19889
  const systemStable = buildStablePrompt2(config.workspace, config.prompt);
19869
19890
  const systemDynamic = buildDynamicPrompt2({ workspace: config.workspace });
@@ -19872,7 +19893,7 @@ async function runQuery(args) {
19872
19893
  const provider = createProvider2(config.provider);
19873
19894
  const { QueryEngine: QueryEngine2 } = await Promise.resolve().then(() => (init_query(), query_exports));
19874
19895
  const engine = new QueryEngine2(provider, {
19875
- model: config.model,
19896
+ model: effectiveModel,
19876
19897
  systemPrompt,
19877
19898
  maxTokens: 4096,
19878
19899
  temperature: 0.7,
@@ -19885,7 +19906,7 @@ async function runQuery(args) {
19885
19906
  workspace: config.workspace,
19886
19907
  providerId: config.provider.id,
19887
19908
  providerApi: config.provider.api,
19888
- model: config.model,
19909
+ model: effectiveModel,
19889
19910
  scopeConfig: config.session,
19890
19911
  restoreRecall: config.topics?.restoreRecall
19891
19912
  });
@@ -19907,8 +19928,8 @@ async function runQuery(args) {
19907
19928
  stateDir: config.stateDir,
19908
19929
  providerId: config.provider.id,
19909
19930
  providerApi: config.provider.api,
19910
- model: config.model,
19911
- modelInputs: config.provider.models?.find((m) => m.id === config.model)?.input || ["text"],
19931
+ model: effectiveModel,
19932
+ modelInputs: config.provider.models?.find((m) => m.id === effectiveModel)?.input || ["text"],
19912
19933
  systemPrompt,
19913
19934
  channels: config.channels,
19914
19935
  config,
@@ -20062,17 +20083,6 @@ async function doCcRun(argv) {
20062
20083
  }
20063
20084
  }
20064
20085
  installStdoutGuard();
20065
- if (args.inputFormat === "stream-json" && !process.stdin.isTTY) {
20066
- const stdinPromise = startStdinHandler();
20067
- if (!args.prompt) {
20068
- const stdinPrompt = await stdinPromise;
20069
- if (stdinPrompt) args.prompt = stdinPrompt;
20070
- }
20071
- }
20072
- if (!args.prompt) {
20073
- process.stderr.write("cc-run: \u6CA1\u6536\u5230 prompt\uFF08-p \u6216 stdin user message \u5747\u4E3A\u7A7A\uFF09\n");
20074
- return 1;
20075
- }
20076
20086
  const sessionId = args.sessionId || randomUUID9();
20077
20087
  args.sessionId = sessionId;
20078
20088
  let model = "";
@@ -20099,6 +20109,17 @@ async function doCcRun(argv) {
20099
20109
  }
20100
20110
  emitInit(sessionId, model);
20101
20111
  }
20112
+ if (args.inputFormat === "stream-json" && !process.stdin.isTTY) {
20113
+ const stdinPromise = startStdinHandler();
20114
+ if (!args.prompt) {
20115
+ const stdinPrompt = await stdinPromise;
20116
+ if (stdinPrompt) args.prompt = stdinPrompt;
20117
+ }
20118
+ }
20119
+ if (!args.prompt) {
20120
+ process.stderr.write("cc-run: \u6CA1\u6536\u5230 prompt\uFF08-p \u6216 stdin user message \u5747\u4E3A\u7A7A\uFF09\n");
20121
+ return 1;
20122
+ }
20102
20123
  let result;
20103
20124
  try {
20104
20125
  result = await runQuery(args);
@@ -21487,6 +21508,21 @@ function execute(entries2) {
21487
21508
  async function main() {
21488
21509
  const args = process.argv.slice(2);
21489
21510
  const subcommand = args[0];
21511
+ const CC_FLAGS = /* @__PURE__ */ new Set([
21512
+ "-p",
21513
+ "--print",
21514
+ "--output-format",
21515
+ "--input-format",
21516
+ "--permission-mode",
21517
+ "--disallowedTools",
21518
+ "--list-models",
21519
+ "--resume"
21520
+ ]);
21521
+ if (subcommand !== void 0 && CC_FLAGS.has(subcommand)) {
21522
+ const { doCcRun: doCcRun2 } = await Promise.resolve().then(() => (init_cli_ccrun(), cli_ccrun_exports));
21523
+ const code = await doCcRun2(args);
21524
+ process.exit(code);
21525
+ }
21490
21526
  if (!subcommand) {
21491
21527
  printHelp();
21492
21528
  process.exit(0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "engine7",
3
- "version": "7.1.63",
3
+ "version": "7.1.65",
4
4
  "type": "module",
5
5
  "description": "Engine 7 — 给助手一个家 / A home for your AI assistant",
6
6
  "main": "dist/main.mjs",