@@ -10,153 +10,99 @@ function falsy(key: string) {
1010 return value === "false" || value === "0"
1111}
1212
13- export namespace Flag {
14- export const OTEL_EXPORTER_OTLP_ENDPOINT = process . env [ "OTEL_EXPORTER_OTLP_ENDPOINT" ]
15- export const OTEL_EXPORTER_OTLP_HEADERS = process . env [ "OTEL_EXPORTER_OTLP_HEADERS" ]
13+ function number ( key : string ) {
14+ const value = process . env [ key ]
15+ if ( ! value ) return undefined
16+ const parsed = Number ( value )
17+ return Number . isInteger ( parsed ) && parsed > 0 ? parsed : undefined
18+ }
19+
20+ const OPENCODE_EXPERIMENTAL = truthy ( "OPENCODE_EXPERIMENTAL" )
21+ const OPENCODE_DISABLE_CLAUDE_CODE = truthy ( "OPENCODE_DISABLE_CLAUDE_CODE" )
22+ const OPENCODE_DISABLE_CLAUDE_CODE_SKILLS =
23+ OPENCODE_DISABLE_CLAUDE_CODE || truthy ( "OPENCODE_DISABLE_CLAUDE_CODE_SKILLS" )
24+ const copy = process . env [ "OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT" ]
25+
26+ export const Flag = {
27+ OTEL_EXPORTER_OTLP_ENDPOINT : process . env [ "OTEL_EXPORTER_OTLP_ENDPOINT" ] ,
28+ OTEL_EXPORTER_OTLP_HEADERS : process . env [ "OTEL_EXPORTER_OTLP_HEADERS" ] ,
1629
17- export const OPENCODE_AUTO_SHARE = truthy ( "OPENCODE_AUTO_SHARE" )
18- export const OPENCODE_AUTO_HEAP_SNAPSHOT = truthy ( "OPENCODE_AUTO_HEAP_SNAPSHOT" )
19- export const OPENCODE_GIT_BASH_PATH = process . env [ "OPENCODE_GIT_BASH_PATH" ]
20- export const OPENCODE_CONFIG = process . env [ "OPENCODE_CONFIG" ]
21- export declare const OPENCODE_PURE : boolean
22- export declare const OPENCODE_TUI_CONFIG : string | undefined
23- export declare const OPENCODE_CONFIG_DIR : string | undefined
24- export declare const OPENCODE_PLUGIN_META_FILE : string | undefined
25- export const OPENCODE_CONFIG_CONTENT = process . env [ "OPENCODE_CONFIG_CONTENT" ]
26- export const OPENCODE_DISABLE_AUTOUPDATE = truthy ( "OPENCODE_DISABLE_AUTOUPDATE" )
27- export const OPENCODE_ALWAYS_NOTIFY_UPDATE = truthy ( "OPENCODE_ALWAYS_NOTIFY_UPDATE" )
28- export const OPENCODE_DISABLE_PRUNE = truthy ( "OPENCODE_DISABLE_PRUNE" )
29- export const OPENCODE_DISABLE_TERMINAL_TITLE = truthy ( "OPENCODE_DISABLE_TERMINAL_TITLE" )
30- export const OPENCODE_SHOW_TTFD = truthy ( "OPENCODE_SHOW_TTFD" )
31- export const OPENCODE_PERMISSION = process . env [ "OPENCODE_PERMISSION" ]
32- export const OPENCODE_DISABLE_DEFAULT_PLUGINS = truthy ( "OPENCODE_DISABLE_DEFAULT_PLUGINS" )
33- export const OPENCODE_DISABLE_LSP_DOWNLOAD = truthy ( "OPENCODE_DISABLE_LSP_DOWNLOAD" )
34- export const OPENCODE_ENABLE_EXPERIMENTAL_MODELS = truthy ( "OPENCODE_ENABLE_EXPERIMENTAL_MODELS" )
35- export const OPENCODE_DISABLE_AUTOCOMPACT = truthy ( "OPENCODE_DISABLE_AUTOCOMPACT" )
36- export const OPENCODE_DISABLE_MODELS_FETCH = truthy ( "OPENCODE_DISABLE_MODELS_FETCH" )
37- export const OPENCODE_DISABLE_MOUSE = truthy ( "OPENCODE_DISABLE_MOUSE" )
38- export const OPENCODE_DISABLE_CLAUDE_CODE = truthy ( "OPENCODE_DISABLE_CLAUDE_CODE" )
39- export const OPENCODE_DISABLE_CLAUDE_CODE_PROMPT =
40- OPENCODE_DISABLE_CLAUDE_CODE || truthy ( "OPENCODE_DISABLE_CLAUDE_CODE_PROMPT" )
41- export const OPENCODE_DISABLE_CLAUDE_CODE_SKILLS =
42- OPENCODE_DISABLE_CLAUDE_CODE || truthy ( "OPENCODE_DISABLE_CLAUDE_CODE_SKILLS" )
43- export const OPENCODE_DISABLE_EXTERNAL_SKILLS =
44- OPENCODE_DISABLE_CLAUDE_CODE_SKILLS || truthy ( "OPENCODE_DISABLE_EXTERNAL_SKILLS" )
45- export declare const OPENCODE_DISABLE_PROJECT_CONFIG : boolean
46- export const OPENCODE_FAKE_VCS = process . env [ "OPENCODE_FAKE_VCS" ]
47- export declare const OPENCODE_CLIENT : string
48- export const OPENCODE_SERVER_PASSWORD = process . env [ "OPENCODE_SERVER_PASSWORD" ]
49- export const OPENCODE_SERVER_USERNAME = process . env [ "OPENCODE_SERVER_USERNAME" ]
50- export const OPENCODE_ENABLE_QUESTION_TOOL = truthy ( "OPENCODE_ENABLE_QUESTION_TOOL" )
30+ OPENCODE_AUTO_SHARE : truthy ( "OPENCODE_AUTO_SHARE" ) ,
31+ OPENCODE_AUTO_HEAP_SNAPSHOT : truthy ( "OPENCODE_AUTO_HEAP_SNAPSHOT" ) ,
32+ OPENCODE_GIT_BASH_PATH : process . env [ "OPENCODE_GIT_BASH_PATH" ] ,
33+ OPENCODE_CONFIG : process . env [ "OPENCODE_CONFIG" ] ,
34+ OPENCODE_CONFIG_CONTENT : process . env [ "OPENCODE_CONFIG_CONTENT" ] ,
35+ OPENCODE_DISABLE_AUTOUPDATE : truthy ( "OPENCODE_DISABLE_AUTOUPDATE" ) ,
36+ OPENCODE_ALWAYS_NOTIFY_UPDATE : truthy ( "OPENCODE_ALWAYS_NOTIFY_UPDATE" ) ,
37+ OPENCODE_DISABLE_PRUNE : truthy ( "OPENCODE_DISABLE_PRUNE" ) ,
38+ OPENCODE_DISABLE_TERMINAL_TITLE : truthy ( "OPENCODE_DISABLE_TERMINAL_TITLE" ) ,
39+ OPENCODE_SHOW_TTFD : truthy ( "OPENCODE_SHOW_TTFD" ) ,
40+ OPENCODE_PERMISSION : process . env [ "OPENCODE_PERMISSION" ] ,
41+ OPENCODE_DISABLE_DEFAULT_PLUGINS : truthy ( "OPENCODE_DISABLE_DEFAULT_PLUGINS" ) ,
42+ OPENCODE_DISABLE_LSP_DOWNLOAD : truthy ( "OPENCODE_DISABLE_LSP_DOWNLOAD" ) ,
43+ OPENCODE_ENABLE_EXPERIMENTAL_MODELS : truthy ( "OPENCODE_ENABLE_EXPERIMENTAL_MODELS" ) ,
44+ OPENCODE_DISABLE_AUTOCOMPACT : truthy ( "OPENCODE_DISABLE_AUTOCOMPACT" ) ,
45+ OPENCODE_DISABLE_MODELS_FETCH : truthy ( "OPENCODE_DISABLE_MODELS_FETCH" ) ,
46+ OPENCODE_DISABLE_MOUSE : truthy ( "OPENCODE_DISABLE_MOUSE" ) ,
47+ OPENCODE_DISABLE_CLAUDE_CODE ,
48+ OPENCODE_DISABLE_CLAUDE_CODE_PROMPT : OPENCODE_DISABLE_CLAUDE_CODE || truthy ( "OPENCODE_DISABLE_CLAUDE_CODE_PROMPT" ) ,
49+ OPENCODE_DISABLE_CLAUDE_CODE_SKILLS ,
50+ OPENCODE_DISABLE_EXTERNAL_SKILLS : OPENCODE_DISABLE_CLAUDE_CODE_SKILLS || truthy ( "OPENCODE_DISABLE_EXTERNAL_SKILLS" ) ,
51+ OPENCODE_FAKE_VCS : process . env [ "OPENCODE_FAKE_VCS" ] ,
52+ OPENCODE_SERVER_PASSWORD : process . env [ "OPENCODE_SERVER_PASSWORD" ] ,
53+ OPENCODE_SERVER_USERNAME : process . env [ "OPENCODE_SERVER_USERNAME" ] ,
54+ OPENCODE_ENABLE_QUESTION_TOOL : truthy ( "OPENCODE_ENABLE_QUESTION_TOOL" ) ,
5155
5256 // Experimental
53- export const OPENCODE_EXPERIMENTAL = truthy ( "OPENCODE_EXPERIMENTAL" )
54- export const OPENCODE_EXPERIMENTAL_FILEWATCHER = Config . boolean ( "OPENCODE_EXPERIMENTAL_FILEWATCHER" ) . pipe (
57+ OPENCODE_EXPERIMENTAL ,
58+ OPENCODE_EXPERIMENTAL_FILEWATCHER : Config . boolean ( "OPENCODE_EXPERIMENTAL_FILEWATCHER" ) . pipe (
5559 Config . withDefault ( false ) ,
56- )
57- export const OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER = Config . boolean (
58- "OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER" ,
59- ) . pipe ( Config . withDefault ( false ) )
60- export const OPENCODE_EXPERIMENTAL_ICON_DISCOVERY =
61- OPENCODE_EXPERIMENTAL || truthy ( "OPENCODE_EXPERIMENTAL_ICON_DISCOVERY" )
62-
63- const copy = process . env [ "OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT" ]
64- export const OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT =
65- copy === undefined ? process . platform === "win32" : truthy ( "OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT" )
66- export const OPENCODE_ENABLE_EXA =
67- truthy ( "OPENCODE_ENABLE_EXA" ) || OPENCODE_EXPERIMENTAL || truthy ( "OPENCODE_EXPERIMENTAL_EXA" )
68- export const OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS = number ( "OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS" )
69- export const OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX = number ( "OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX" )
70- export const OPENCODE_EXPERIMENTAL_OXFMT = OPENCODE_EXPERIMENTAL || truthy ( "OPENCODE_EXPERIMENTAL_OXFMT" )
71- export const OPENCODE_EXPERIMENTAL_LSP_TY = truthy ( "OPENCODE_EXPERIMENTAL_LSP_TY" )
72- export const OPENCODE_EXPERIMENTAL_LSP_TOOL = OPENCODE_EXPERIMENTAL || truthy ( "OPENCODE_EXPERIMENTAL_LSP_TOOL" )
73- export const OPENCODE_DISABLE_FILETIME_CHECK = Config . boolean ( "OPENCODE_DISABLE_FILETIME_CHECK" ) . pipe (
60+ ) ,
61+ OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER : Config . boolean ( "OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER" ) . pipe (
7462 Config . withDefault ( false ) ,
75- )
76- export const OPENCODE_EXPERIMENTAL_PLAN_MODE = OPENCODE_EXPERIMENTAL || truthy ( "OPENCODE_EXPERIMENTAL_PLAN_MODE" )
77- export const OPENCODE_EXPERIMENTAL_MARKDOWN = ! falsy ( "OPENCODE_EXPERIMENTAL_MARKDOWN" )
78- export const OPENCODE_MODELS_URL = process . env [ "OPENCODE_MODELS_URL" ]
79- export const OPENCODE_MODELS_PATH = process . env [ "OPENCODE_MODELS_PATH" ]
80- export const OPENCODE_DISABLE_EMBEDDED_WEB_UI = truthy ( "OPENCODE_DISABLE_EMBEDDED_WEB_UI" )
81- export const OPENCODE_DB = process . env [ "OPENCODE_DB" ]
82- export const OPENCODE_DISABLE_CHANNEL_DB = truthy ( "OPENCODE_DISABLE_CHANNEL_DB" )
83- export const OPENCODE_SKIP_MIGRATIONS = truthy ( "OPENCODE_SKIP_MIGRATIONS" )
84- export const OPENCODE_STRICT_CONFIG_DEPS = truthy ( "OPENCODE_STRICT_CONFIG_DEPS" )
85-
86- export const OPENCODE_WORKSPACE_ID = process . env [ "OPENCODE_WORKSPACE_ID" ]
87- export const OPENCODE_EXPERIMENTAL_HTTPAPI = OPENCODE_EXPERIMENTAL || truthy ( "OPENCODE_EXPERIMENTAL_HTTPAPI" )
88- export const OPENCODE_EXPERIMENTAL_WORKSPACES = OPENCODE_EXPERIMENTAL || truthy ( "OPENCODE_EXPERIMENTAL_WORKSPACES" )
63+ ) ,
64+ OPENCODE_EXPERIMENTAL_ICON_DISCOVERY : OPENCODE_EXPERIMENTAL || truthy ( "OPENCODE_EXPERIMENTAL_ICON_DISCOVERY" ) ,
65+ OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT :
66+ copy === undefined ? process . platform === "win32" : truthy ( "OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT" ) ,
67+ OPENCODE_ENABLE_EXA : truthy ( "OPENCODE_ENABLE_EXA" ) || OPENCODE_EXPERIMENTAL || truthy ( "OPENCODE_EXPERIMENTAL_EXA" ) ,
68+ OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS : number ( "OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS" ) ,
69+ OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX : number ( "OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX" ) ,
70+ OPENCODE_EXPERIMENTAL_OXFMT : OPENCODE_EXPERIMENTAL || truthy ( "OPENCODE_EXPERIMENTAL_OXFMT" ) ,
71+ OPENCODE_EXPERIMENTAL_LSP_TY : truthy ( "OPENCODE_EXPERIMENTAL_LSP_TY" ) ,
72+ OPENCODE_EXPERIMENTAL_LSP_TOOL : OPENCODE_EXPERIMENTAL || truthy ( "OPENCODE_EXPERIMENTAL_LSP_TOOL" ) ,
73+ OPENCODE_DISABLE_FILETIME_CHECK : Config . boolean ( "OPENCODE_DISABLE_FILETIME_CHECK" ) . pipe ( Config . withDefault ( false ) ) ,
74+ OPENCODE_EXPERIMENTAL_PLAN_MODE : OPENCODE_EXPERIMENTAL || truthy ( "OPENCODE_EXPERIMENTAL_PLAN_MODE" ) ,
75+ OPENCODE_EXPERIMENTAL_MARKDOWN : ! falsy ( "OPENCODE_EXPERIMENTAL_MARKDOWN" ) ,
76+ OPENCODE_MODELS_URL : process . env [ "OPENCODE_MODELS_URL" ] ,
77+ OPENCODE_MODELS_PATH : process . env [ "OPENCODE_MODELS_PATH" ] ,
78+ OPENCODE_DISABLE_EMBEDDED_WEB_UI : truthy ( "OPENCODE_DISABLE_EMBEDDED_WEB_UI" ) ,
79+ OPENCODE_DB : process . env [ "OPENCODE_DB" ] ,
80+ OPENCODE_DISABLE_CHANNEL_DB : truthy ( "OPENCODE_DISABLE_CHANNEL_DB" ) ,
81+ OPENCODE_SKIP_MIGRATIONS : truthy ( "OPENCODE_SKIP_MIGRATIONS" ) ,
82+ OPENCODE_STRICT_CONFIG_DEPS : truthy ( "OPENCODE_STRICT_CONFIG_DEPS" ) ,
8983
90- function number ( key : string ) {
91- const value = process . env [ key ]
92- if ( ! value ) return undefined
93- const parsed = Number ( value )
94- return Number . isInteger ( parsed ) && parsed > 0 ? parsed : undefined
95- }
96- }
84+ OPENCODE_WORKSPACE_ID : process . env [ "OPENCODE_WORKSPACE_ID" ] ,
85+ OPENCODE_EXPERIMENTAL_HTTPAPI : OPENCODE_EXPERIMENTAL || truthy ( "OPENCODE_EXPERIMENTAL_HTTPAPI" ) ,
86+ OPENCODE_EXPERIMENTAL_WORKSPACES : OPENCODE_EXPERIMENTAL || truthy ( "OPENCODE_EXPERIMENTAL_WORKSPACES" ) ,
9787
98- // Dynamic getter for OPENCODE_DISABLE_PROJECT_CONFIG
99- // This must be evaluated at access time, not module load time,
100- // because external tooling may set this env var at runtime
101- Object . defineProperty ( Flag , "OPENCODE_DISABLE_PROJECT_CONFIG" , {
102- get ( ) {
88+ // Evaluated at access time (not module load) because tests, the CLI, and
89+ // external tooling set these env vars at runtime.
90+ get OPENCODE_DISABLE_PROJECT_CONFIG ( ) {
10391 return truthy ( "OPENCODE_DISABLE_PROJECT_CONFIG" )
10492 } ,
105- enumerable : true ,
106- configurable : false ,
107- } )
108-
109- // Dynamic getter for OPENCODE_TUI_CONFIG
110- // This must be evaluated at access time, not module load time,
111- // because tests and external tooling may set this env var at runtime
112- Object . defineProperty ( Flag , "OPENCODE_TUI_CONFIG" , {
113- get ( ) {
93+ get OPENCODE_TUI_CONFIG ( ) {
11494 return process . env [ "OPENCODE_TUI_CONFIG" ]
11595 } ,
116- enumerable : true ,
117- configurable : false ,
118- } )
119-
120- // Dynamic getter for OPENCODE_CONFIG_DIR
121- // This must be evaluated at access time, not module load time,
122- // because external tooling may set this env var at runtime
123- Object . defineProperty ( Flag , "OPENCODE_CONFIG_DIR" , {
124- get ( ) {
96+ get OPENCODE_CONFIG_DIR ( ) {
12597 return process . env [ "OPENCODE_CONFIG_DIR" ]
12698 } ,
127- enumerable : true ,
128- configurable : false ,
129- } )
130-
131- // Dynamic getter for OPENCODE_PURE
132- // This must be evaluated at access time, not module load time,
133- // because the CLI can set this flag at runtime
134- Object . defineProperty ( Flag , "OPENCODE_PURE" , {
135- get ( ) {
99+ get OPENCODE_PURE ( ) {
136100 return truthy ( "OPENCODE_PURE" )
137101 } ,
138- enumerable : true ,
139- configurable : false ,
140- } )
141-
142- // Dynamic getter for OPENCODE_PLUGIN_META_FILE
143- // This must be evaluated at access time, not module load time,
144- // because tests and external tooling may set this env var at runtime
145- Object . defineProperty ( Flag , "OPENCODE_PLUGIN_META_FILE" , {
146- get ( ) {
102+ get OPENCODE_PLUGIN_META_FILE ( ) {
147103 return process . env [ "OPENCODE_PLUGIN_META_FILE" ]
148104 } ,
149- enumerable : true ,
150- configurable : false ,
151- } )
152-
153- // Dynamic getter for OPENCODE_CLIENT
154- // This must be evaluated at access time, not module load time,
155- // because some commands override the client at runtime
156- Object . defineProperty ( Flag , "OPENCODE_CLIENT" , {
157- get ( ) {
105+ get OPENCODE_CLIENT ( ) {
158106 return process . env [ "OPENCODE_CLIENT" ] ?? "cli"
159107 } ,
160- enumerable : true ,
161- configurable : false ,
162- } )
108+ }
0 commit comments