flavor-code 1.4.1 → 1.4.3-beta.2

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 (76) hide show
  1. package/README.md +32 -2
  2. package/README.zh-CN.md +32 -2
  3. package/dist/{app-4YRKE7VI.js → app-G35YBHPR.js} +873 -641
  4. package/dist/apply-WOW3QU5I.js +51 -0
  5. package/dist/broker-cli-X5H46FZV.js +15 -0
  6. package/dist/check-CSKTV4O2.js +16 -0
  7. package/dist/chunk-3563SW4X.js +10513 -0
  8. package/dist/chunk-3UX2CGDW.js +1955 -0
  9. package/dist/chunk-4TMLXZVZ.js +75 -0
  10. package/dist/chunk-6F66UXBI.js +48 -0
  11. package/dist/{chunk-FAORPP4F.js → chunk-6URQ7FIF.js} +24 -88
  12. package/dist/chunk-6X62CGMA.js +193 -0
  13. package/dist/chunk-7Y64WNBB.js +8930 -0
  14. package/dist/chunk-AA4QNKTF.js +501 -0
  15. package/dist/chunk-BDX777JR.js +11 -0
  16. package/dist/chunk-CVP5OUHD.js +103 -0
  17. package/dist/chunk-EWD7FWTH.js +14547 -0
  18. package/dist/chunk-FAJ6YDZK.js +630 -0
  19. package/dist/{chunk-N5MXHJKD.js → chunk-GTFP2R5I.js} +1 -1
  20. package/dist/{chunk-7YFHRORG.js → chunk-HGTCIHWA.js} +383 -172
  21. package/dist/chunk-IDJAHEG6.js +43501 -0
  22. package/dist/chunk-IQEEFDEE.js +389 -0
  23. package/dist/chunk-IU3UBETC.js +30 -0
  24. package/dist/chunk-K7UGGWJV.js +1003 -0
  25. package/dist/chunk-KRWWCVXA.js +74 -0
  26. package/dist/chunk-OKHV7CTB.js +482 -0
  27. package/dist/chunk-PULWAH6E.js +474 -0
  28. package/dist/chunk-PZ5NKRVA.js +85 -0
  29. package/dist/chunk-RBAZLFKB.js +1022 -0
  30. package/dist/chunk-RV3EXUXM.js +30 -0
  31. package/dist/chunk-SJUIIHIA.js +2130 -0
  32. package/dist/{chunk-VMQWXQEC.js → chunk-T6RE76D2.js} +2003 -493
  33. package/dist/chunk-TIEOVQW6.js +61 -0
  34. package/dist/chunk-WLZUAVVU.js +15 -0
  35. package/dist/chunk-X442CJJH.js +114 -0
  36. package/dist/{chunk-RAYH6K2H.js → chunk-Y7EH4NVO.js} +1 -1
  37. package/dist/{chunk-S32JRDZK.js → chunk-ZKKVSR37.js} +6 -1
  38. package/dist/{claude-ink-JZXNSAQS.js → claude-ink-BE56DB6N.js} +9 -4
  39. package/dist/cli-3MF6EL2H.js +163 -0
  40. package/dist/cli-main.js +3805 -473
  41. package/dist/cli.js +50 -4
  42. package/dist/config/load.d.ts +8 -0
  43. package/dist/config/schema.d.ts +11 -0
  44. package/dist/context/manager.d.ts +2 -0
  45. package/dist/desktop/main.js +4303 -1171
  46. package/dist/desktop/preload.cjs +30 -0
  47. package/dist/desktop-renderer/assets/index-BWklSoOO.css +1 -0
  48. package/dist/desktop-renderer/assets/index-DCqIrF1S.js +153 -0
  49. package/dist/desktop-renderer/assets/{interactive-terminal-1agnYY5L.js → interactive-terminal-B6GbpzIn.js} +1 -1
  50. package/dist/desktop-renderer/index.html +2 -2
  51. package/dist/doctor-OHCGK52S.js +20 -0
  52. package/dist/load-QK6CMLDF.js +25 -0
  53. package/dist/log-ATFIPRNU.js +19 -0
  54. package/dist/manager-5SI4MPES.js +191 -0
  55. package/dist/models/anthropic.d.ts +3 -0
  56. package/dist/node-LOIXT44J.js +879 -0
  57. package/dist/plugin-worker-entry.js +1 -1
  58. package/dist/production-6DIZ6YLQ.js +46 -0
  59. package/dist/production.d.ts +28 -1
  60. package/dist/project-3QXE22TG.js +11 -0
  61. package/dist/react-M6JGXSJZ.js +7 -0
  62. package/dist/recorder-FAGJJH3N.js +11 -0
  63. package/dist/sdk/index.js +30 -8
  64. package/dist/server-2KLKPHPL.js +11 -0
  65. package/dist/session/store.d.ts +1 -0
  66. package/dist/store-ZIHN6363.js +18 -0
  67. package/dist/ui/commands.d.ts +1 -5
  68. package/dist/usage-summary-G5FBOJLK.js +13 -0
  69. package/dist/utils/execFileNoThrow.d.ts +1 -0
  70. package/dist/write-stream-CGD57URC.js +77 -0
  71. package/package.json +1 -1
  72. package/dist/chunk-O2PC44GY.js +0 -26120
  73. package/dist/chunk-ZJCAQXA7.js +0 -169
  74. package/dist/desktop-renderer/assets/index-BM9ugkh9.js +0 -154
  75. package/dist/desktop-renderer/assets/index-Bk6FYhyh.css +0 -1
  76. package/dist/load-UPOG3XQR.js +0 -19
package/dist/cli.js CHANGED
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
- import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
+ import { createRequire as createFlavorRequire } from "node:module"; const require = createFlavorRequire(import.meta.url);
3
3
  import {
4
4
  MEMORY_RESTART_EXIT_CODE,
5
5
  memoryRestartArgs,
6
6
  memoryRestartMarkerPath,
7
7
  parseMemoryRestartMarker
8
- } from "./chunk-N5MXHJKD.js";
9
- import "./chunk-S32JRDZK.js";
8
+ } from "./chunk-GTFP2R5I.js";
9
+ import "./chunk-ZKKVSR37.js";
10
10
 
11
11
  // src/launcher.ts
12
12
  import { spawn } from "child_process";
@@ -20,6 +20,50 @@ function needsRelaunch(runtime) {
20
20
  if (!runtime.execArgv.some((argument) => argument === "--heap-prof")) return true;
21
21
  return !runtime.execArgv.some((argument) => argument === "--expose-gc");
22
22
  }
23
+ var LIGHT_CLI_COMMANDS = /* @__PURE__ */ new Set([
24
+ "init",
25
+ "update",
26
+ "doctor",
27
+ "skills",
28
+ "memory",
29
+ "mcp",
30
+ "sessions",
31
+ "config",
32
+ "usage",
33
+ "eval",
34
+ "help",
35
+ "completion"
36
+ ]);
37
+ function isLightCommand(argv) {
38
+ for (const argument of argv) {
39
+ if (argument === "--") break;
40
+ if (argument.startsWith("-") && argument !== "-") {
41
+ if (argument === "--pals-broker" || argument.startsWith("--pals-broker=")) return false;
42
+ if (/^-(?:[vh]|.*version\b|.*help\b)/u.test(argument)) return true;
43
+ continue;
44
+ }
45
+ return LIGHT_CLI_COMMANDS.has(argument);
46
+ }
47
+ return false;
48
+ }
49
+ var OUTPUT_FORMAT_VALUES = /* @__PURE__ */ new Set(["text", "json", "stream-json"]);
50
+ var PERMISSION_MODE_VALUES = /* @__PURE__ */ new Set(["default", "plan", "acceptEdits", "bypassPermissions"]);
51
+ function isStaticUsageError(argv) {
52
+ for (let index = 0; index < argv.length; index += 1) {
53
+ const argument = argv[index];
54
+ const value = (flag, allowed) => {
55
+ if (argument === flag) {
56
+ const next = argv[index + 1];
57
+ return next !== void 0 && !next.startsWith("-") && !allowed.has(next);
58
+ }
59
+ if (argument?.startsWith(`${flag}=`)) return !allowed.has(argument.slice(flag.length + 1));
60
+ return void 0;
61
+ };
62
+ if (value("--output-format", OUTPUT_FORMAT_VALUES) === true) return true;
63
+ if (value("--permission-mode", PERMISSION_MODE_VALUES) === true) return true;
64
+ }
65
+ return false;
66
+ }
23
67
  var HEAP_HEADROOM_MB = 8192;
24
68
  var HEAP_HEADROOM_MIN_TOTALMEM = 12 * 1024 * 1024 * 1024;
25
69
  function cliMainArguments(mainPath, argv, heapProfile) {
@@ -66,7 +110,7 @@ async function launchCli() {
66
110
  const runtime = {
67
111
  execArgv: process.execArgv
68
112
  };
69
- if (!needsRelaunch(runtime)) {
113
+ if (isLightCommand(process.argv.slice(2)) || isStaticUsageError(process.argv.slice(2)) || !needsRelaunch(runtime)) {
70
114
  const cli = await import(mainUrl.href);
71
115
  await cli.runCli(process.argv);
72
116
  return;
@@ -141,6 +185,8 @@ if (process.argv[1]) {
141
185
  }
142
186
  export {
143
187
  cliMainArguments,
188
+ isLightCommand,
189
+ isStaticUsageError,
144
190
  launchCli,
145
191
  needsRelaunch
146
192
  };
@@ -17,5 +17,13 @@ export declare function setProjectMcpServerDisabled(cwd: string, serverName: str
17
17
  export declare function setProjectSkillDisabled(cwd: string, skillName: string, disabled: boolean, inheritedDisabled?: readonly string[]): Promise<string>;
18
18
  export declare function setGlobalProviderConfig(home: string, providerName: string, provider: ProviderConfig): Promise<string>;
19
19
  export declare function setProjectProviderConfig(cwd: string, providerName: string, provider: ProviderConfig): Promise<string>;
20
+ /**
21
+ * Write one value into the project `.flavor/flavor.json`. The merged result is
22
+ * validated through `loadConfig` before any write, so an invalid value aborts
23
+ * the update and leaves the file untouched (backups included).
24
+ */
25
+ export declare function setProjectConfigValue(cwd: string, home: string, key: string, value: unknown): Promise<string>;
26
+ /** Remove one key from the project `.flavor/flavor.json`, falling back to global/default layers. */
27
+ export declare function unsetProjectConfigValue(cwd: string, key: string): Promise<string>;
20
28
  export declare function redactConfig(config: unknown): unknown;
21
29
  export {};
@@ -20,6 +20,10 @@ export declare const ProviderConfigSchema: z.ZodObject<{
20
20
  models: z.ZodOptional<z.ZodArray<z.ZodString>>;
21
21
  maxOutputTokens: z.ZodOptional<z.ZodNumber>;
22
22
  thinkingBudget: z.ZodOptional<z.ZodNumber>;
23
+ cacheTtl: z.ZodOptional<z.ZodEnum<{
24
+ "1h": "1h";
25
+ "5m": "5m";
26
+ }>>;
23
27
  thinkingEffort: z.ZodOptional<z.ZodEnum<{
24
28
  high: "high";
25
29
  low: "low";
@@ -78,6 +82,10 @@ export declare const FlavorConfigSchema: z.ZodObject<{
78
82
  models: z.ZodOptional<z.ZodArray<z.ZodString>>;
79
83
  maxOutputTokens: z.ZodOptional<z.ZodNumber>;
80
84
  thinkingBudget: z.ZodOptional<z.ZodNumber>;
85
+ cacheTtl: z.ZodOptional<z.ZodEnum<{
86
+ "1h": "1h";
87
+ "5m": "5m";
88
+ }>>;
81
89
  thinkingEffort: z.ZodOptional<z.ZodEnum<{
82
90
  high: "high";
83
91
  low: "low";
@@ -204,3 +212,6 @@ export type McpServerConfig = z.infer<typeof McpServerConfigSchema>;
204
212
  export type McpServerConfigInput = z.input<typeof McpServerConfigSchema>;
205
213
  export type McpStdioServerConfig = z.infer<typeof McpStdioServerConfigSchema>;
206
214
  export type McpHttpServerConfig = z.infer<typeof McpHttpServerConfigSchema>;
215
+ /** Top-level configuration keys, used to reject typos in `flavor config set/get`. */
216
+ export declare const CONFIG_TOP_LEVEL_KEYS: string[];
217
+ export declare function configPathSegments(key: string): string[];
@@ -51,6 +51,8 @@ export interface ContextEpochSnapshot {
51
51
  stableMessages: ContextSystemMessage[];
52
52
  /** Last admitted values for dynamic sources. */
53
53
  sources: Record<string, string>;
54
+ /** Immutable dynamic-source snapshot rendered before conversation history. */
55
+ pinnedSources?: Record<string, string> | undefined;
54
56
  stableSourceHash: string;
55
57
  }
56
58
  export interface ContextSystemMessage {