flavor-code 1.3.9 → 1.3.10

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.
@@ -16,7 +16,7 @@ import {
16
16
  redactErrorText,
17
17
  transcriptReducer,
18
18
  withTimeout
19
- } from "./chunk-M3U2JICC.js";
19
+ } from "./chunk-Y3DPUAEJ.js";
20
20
  import "./chunk-IG4Z23CL.js";
21
21
  import {
22
22
  Box_default,
@@ -4,7 +4,7 @@ import {
4
4
  message,
5
5
  redactErrorText,
6
6
  redactSecrets
7
- } from "./chunk-M3U2JICC.js";
7
+ } from "./chunk-Y3DPUAEJ.js";
8
8
 
9
9
  // src/rpc/server.ts
10
10
  import { createInterface } from "readline";
@@ -56,6 +56,8 @@ function normalizeProviderError(error) {
56
56
  code = "context_overflow";
57
57
  } else if (status === 404 || /model.*not.?found|not.?found.*model/.test(searchable)) {
58
58
  code = "model_not_found";
59
+ } else if (status !== void 0 && status >= 500 && status <= 599) {
60
+ code = "network";
59
61
  } else if (status === void 0 && /econn|enet|socket|network|fetch failed|connection|timeout/.test(searchable)) {
60
62
  code = "network";
61
63
  }
@@ -1981,10 +1983,17 @@ var FILE_TYPE_EXTENSIONS = {
1981
1983
  python: [".py", ".pyi"],
1982
1984
  typescript: [".ts", ".tsx", ".mts", ".cts"]
1983
1985
  };
1986
+ var BooleanInput = z.preprocess((value) => {
1987
+ if (typeof value !== "string") return value;
1988
+ const normalized = value.trim().toLowerCase();
1989
+ if (normalized === "true") return true;
1990
+ if (normalized === "false") return false;
1991
+ return value;
1992
+ }, z.boolean());
1984
1993
  var GlobInput = z.object({
1985
1994
  pattern: z.string().min(1),
1986
1995
  path: z.string().min(1).describe('Workspace-relative search directory. Use JSON null, not the string "null", for the workspace root.').nullable().optional(),
1987
- includeIgnored: z.boolean().describe("Include files excluded by .gitignore or .ignore. Git metadata remains excluded.").nullable().optional(),
1996
+ includeIgnored: BooleanInput.describe("Include files excluded by .gitignore or .ignore. Git metadata remains excluded.").nullable().optional(),
1988
1997
  limit: z.coerce.number().int().positive().max(1e5).nullable().optional()
1989
1998
  });
1990
1999
  var GrepInput = z.object({
@@ -1992,7 +2001,7 @@ var GrepInput = z.object({
1992
2001
  path: z.string().min(1).describe('Workspace-relative search path. Use JSON null, not the string "null", for the workspace root.').nullable().optional(),
1993
2002
  glob: z.string().min(1).nullable().optional(),
1994
2003
  fileType: z.enum(FILE_TYPES).nullable().optional(),
1995
- includeIgnored: z.boolean().describe("Include files excluded by .gitignore or .ignore. Git metadata remains excluded.").nullable().optional(),
2004
+ includeIgnored: BooleanInput.describe("Include files excluded by .gitignore or .ignore. Git metadata remains excluded.").nullable().optional(),
1996
2005
  context: z.coerce.number().int().nonnegative().max(100).nullable().optional(),
1997
2006
  limit: z.coerce.number().int().positive().max(1e5).nullable().optional()
1998
2007
  });
@@ -22573,7 +22582,7 @@ ${expandSkillArguments(await skills.loadBody(skill), prompt)}`);
22573
22582
  ...additionalContext === void 0 ? {} : { additionalContext },
22574
22583
  ...getSteeringMessages === void 0 ? {} : { getSteeringMessages }
22575
22584
  })) {
22576
- if (event.type === "error" && /adapter|provider|api.?key|model/i.test(event.error.message)) {
22585
+ if (event.type === "error" && event.error.code !== "network" && event.error.code !== "rate_limit" && /adapter|provider|api.?key|model/i.test(event.error.message)) {
22577
22586
  yield { ...event, error: {
22578
22587
  ...event.error,
22579
22588
  message: `${event.error.message}. Configure providers and agents in .flavor/flavor.json or set OPENAI_API_KEY/ANTHROPIC_API_KEY.`
package/dist/cli.js CHANGED
@@ -3,7 +3,7 @@ import { createRequire } from "node:module"; const require = createRequire(impor
3
3
  import {
4
4
  FlavorRpcServer,
5
5
  TraceRecorder
6
- } from "./chunk-D4334NAE.js";
6
+ } from "./chunk-T2ARW6CZ.js";
7
7
  import {
8
8
  staticTaskLines
9
9
  } from "./chunk-KKIBYDJI.js";
@@ -23,7 +23,7 @@ import {
23
23
  packageVersion,
24
24
  redactErrorText,
25
25
  runPalBroker
26
- } from "./chunk-M3U2JICC.js";
26
+ } from "./chunk-Y3DPUAEJ.js";
27
27
  import {
28
28
  McpServerConfigSchema,
29
29
  McpServerNameSchema,
@@ -877,7 +877,7 @@ async function runInteractiveCli(props) {
877
877
  const [{ render, AlternateScreen }, { createElement }, { App }] = await Promise.all([
878
878
  import("./claude-ink-ORUA7GWG.js"),
879
879
  import("react"),
880
- import("./app-XAV5LRM7.js")
880
+ import("./app-YSBW7GXH.js")
881
881
  ]);
882
882
  const instance = await render(createElement(
883
883
  AlternateScreen,
@@ -4256,6 +4256,8 @@ function normalizeProviderError(error) {
4256
4256
  code = "context_overflow";
4257
4257
  } else if (status === 404 || /model.*not.?found|not.?found.*model/.test(searchable)) {
4258
4258
  code = "model_not_found";
4259
+ } else if (status !== void 0 && status >= 500 && status <= 599) {
4260
+ code = "network";
4259
4261
  } else if (status === void 0 && /econn|enet|socket|network|fetch failed|connection|timeout/.test(searchable)) {
4260
4262
  code = "network";
4261
4263
  }
@@ -17894,10 +17896,17 @@ var FILE_TYPE_EXTENSIONS = {
17894
17896
  python: [".py", ".pyi"],
17895
17897
  typescript: [".ts", ".tsx", ".mts", ".cts"]
17896
17898
  };
17899
+ var BooleanInput = z30.preprocess((value) => {
17900
+ if (typeof value !== "string") return value;
17901
+ const normalized = value.trim().toLowerCase();
17902
+ if (normalized === "true") return true;
17903
+ if (normalized === "false") return false;
17904
+ return value;
17905
+ }, z30.boolean());
17897
17906
  var GlobInput = z30.object({
17898
17907
  pattern: z30.string().min(1),
17899
17908
  path: z30.string().min(1).describe('Workspace-relative search directory. Use JSON null, not the string "null", for the workspace root.').nullable().optional(),
17900
- includeIgnored: z30.boolean().describe("Include files excluded by .gitignore or .ignore. Git metadata remains excluded.").nullable().optional(),
17909
+ includeIgnored: BooleanInput.describe("Include files excluded by .gitignore or .ignore. Git metadata remains excluded.").nullable().optional(),
17901
17910
  limit: z30.coerce.number().int().positive().max(1e5).nullable().optional()
17902
17911
  });
17903
17912
  var GrepInput = z30.object({
@@ -17905,7 +17914,7 @@ var GrepInput = z30.object({
17905
17914
  path: z30.string().min(1).describe('Workspace-relative search path. Use JSON null, not the string "null", for the workspace root.').nullable().optional(),
17906
17915
  glob: z30.string().min(1).nullable().optional(),
17907
17916
  fileType: z30.enum(FILE_TYPES).nullable().optional(),
17908
- includeIgnored: z30.boolean().describe("Include files excluded by .gitignore or .ignore. Git metadata remains excluded.").nullable().optional(),
17917
+ includeIgnored: BooleanInput.describe("Include files excluded by .gitignore or .ignore. Git metadata remains excluded.").nullable().optional(),
17909
17918
  context: z30.coerce.number().int().nonnegative().max(100).nullable().optional(),
17910
17919
  limit: z30.coerce.number().int().positive().max(1e5).nullable().optional()
17911
17920
  });
@@ -26358,7 +26367,7 @@ ${expandSkillArguments(await skills.loadBody(skill), prompt)}`);
26358
26367
  ...additionalContext === void 0 ? {} : { additionalContext },
26359
26368
  ...getSteeringMessages === void 0 ? {} : { getSteeringMessages }
26360
26369
  })) {
26361
- if (event.type === "error" && /adapter|provider|api.?key|model/i.test(event.error.message)) {
26370
+ if (event.type === "error" && event.error.code !== "network" && event.error.code !== "rate_limit" && /adapter|provider|api.?key|model/i.test(event.error.message)) {
26362
26371
  yield { ...event, error: {
26363
26372
  ...event.error,
26364
26373
  message: `${event.error.message}. Configure providers and agents in .flavor/flavor.json or set OPENAI_API_KEY/ANTHROPIC_API_KEY.`
package/dist/sdk/index.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  FlavorRpcServer,
5
5
  TraceRecordSchema,
6
6
  TraceRecorder
7
- } from "../chunk-D4334NAE.js";
7
+ } from "../chunk-T2ARW6CZ.js";
8
8
  import {
9
9
  AgentMessageQueue,
10
10
  DockerExecutionEnvironment,
@@ -13,7 +13,7 @@ import {
13
13
  WorkspaceCheckpointStore,
14
14
  buildDockerInvocation,
15
15
  createProductionRuntime
16
- } from "../chunk-M3U2JICC.js";
16
+ } from "../chunk-Y3DPUAEJ.js";
17
17
  import "../chunk-IG4Z23CL.js";
18
18
  import "../chunk-RQTYHUMK.js";
19
19
  import "../chunk-S32JRDZK.js";
@@ -3,7 +3,7 @@ import type { ToolDefinition } from "./types.js";
3
3
  declare const GlobInput: z.ZodObject<{
4
4
  pattern: z.ZodString;
5
5
  path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
6
- includeIgnored: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
6
+ includeIgnored: z.ZodOptional<z.ZodNullable<z.ZodPreprocess<z.ZodBoolean>>>;
7
7
  limit: z.ZodOptional<z.ZodNullable<z.ZodCoercedNumber<unknown>>>;
8
8
  }, z.core.$strip>;
9
9
  declare const GrepInput: z.ZodObject<{
@@ -41,7 +41,7 @@ declare const GrepInput: z.ZodObject<{
41
41
  xml: "xml";
42
42
  yaml: "yaml";
43
43
  }>>>;
44
- includeIgnored: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
44
+ includeIgnored: z.ZodOptional<z.ZodNullable<z.ZodPreprocess<z.ZodBoolean>>>;
45
45
  context: z.ZodOptional<z.ZodNullable<z.ZodCoercedNumber<unknown>>>;
46
46
  limit: z.ZodOptional<z.ZodNullable<z.ZodCoercedNumber<unknown>>>;
47
47
  }, z.core.$strip>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flavor-code",
3
- "version": "1.3.9",
3
+ "version": "1.3.10",
4
4
  "author": "YachuanWzh",
5
5
  "type": "module",
6
6
  "publishConfig": {