snow-flow 10.0.135 → 10.0.136

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
- "version": "10.0.135",
3
+ "version": "10.0.136",
4
4
  "name": "snow-flow",
5
5
  "description": "Snow-Flow - ServiceNow Multi-Agent Development Framework powered by AI",
6
6
  "license": "Elastic-2.0",
@@ -115,94 +115,77 @@ export function tui(input: {
115
115
  onUpgrade?: () => Promise<{ success: boolean; version?: string; error?: string }>
116
116
  }) {
117
117
  _onUpgrade = input.onUpgrade
118
- const skipThemeDetection = !!process.env.OPENCODE_SKIP_THEME_DETECTION || !!process.env.OPENCODE_REMOTE_TUI
119
- const log = (msg: string) => console.log(msg)
120
118
  // promise to prevent immediate exit
121
119
  return new Promise<void>(async (resolve) => {
122
- let mode: "dark" | "light" = "dark"
123
- if (skipThemeDetection) {
124
- log("[snow-flow] skipping theme detection")
125
- } else {
126
- log("[snow-flow] detecting theme...")
127
- mode = await getTerminalBackgroundColor()
128
- log(`[snow-flow] theme: ${mode}`)
129
- }
120
+ const skipThemeDetection = !!process.env.OPENCODE_SKIP_THEME_DETECTION || !!process.env.OPENCODE_REMOTE_TUI
121
+ const mode = skipThemeDetection ? "dark" : await getTerminalBackgroundColor()
130
122
  const onExit = async () => {
131
123
  await input.onExit?.()
132
124
  resolve()
133
125
  }
134
126
 
135
- const renderConfig = {
136
- targetFps: 60,
137
- gatherStats: false,
138
- exitOnCtrlC: false,
139
- useKittyKeyboard: process.env.OPENCODE_DISABLE_KITTY_KEYBOARD ? undefined : {},
140
- consoleOptions: {
141
- keyBindings: [{ name: "y", ctrl: true, action: "copy-selection" }],
142
- onCopySelection: (text: string) => {
143
- Clipboard.copy(text).catch((error: Error) => {
144
- console.error(`Failed to copy console selection to clipboard: ${error}`)
145
- })
127
+ render(
128
+ () => {
129
+ return (
130
+ <ErrorBoundary
131
+ fallback={(error, reset) => <ErrorComponent error={error} reset={reset} onExit={onExit} mode={mode} />}
132
+ >
133
+ <ArgsProvider {...input.args}>
134
+ <ExitProvider onExit={onExit}>
135
+ <KVProvider>
136
+ <ToastProvider>
137
+ <RouteProvider>
138
+ <SDKProvider
139
+ url={input.url}
140
+ directory={input.directory}
141
+ fetch={input.fetch}
142
+ events={input.events}
143
+ >
144
+ <SyncProvider>
145
+ <ThemeProvider mode={mode}>
146
+ <LocalProvider>
147
+ <KeybindProvider>
148
+ <PromptStashProvider>
149
+ <DialogProvider>
150
+ <CommandProvider>
151
+ <FrecencyProvider>
152
+ <PromptHistoryProvider>
153
+ <PromptRefProvider>
154
+ <App />
155
+ </PromptRefProvider>
156
+ </PromptHistoryProvider>
157
+ </FrecencyProvider>
158
+ </CommandProvider>
159
+ </DialogProvider>
160
+ </PromptStashProvider>
161
+ </KeybindProvider>
162
+ </LocalProvider>
163
+ </ThemeProvider>
164
+ </SyncProvider>
165
+ </SDKProvider>
166
+ </RouteProvider>
167
+ </ToastProvider>
168
+ </KVProvider>
169
+ </ExitProvider>
170
+ </ArgsProvider>
171
+ </ErrorBoundary>
172
+ )
173
+ },
174
+ {
175
+ targetFps: 60,
176
+ gatherStats: false,
177
+ exitOnCtrlC: false,
178
+ useKittyKeyboard: process.env.OPENCODE_DISABLE_KITTY_KEYBOARD ? undefined : {},
179
+ consoleOptions: {
180
+ keyBindings: [{ name: "y", ctrl: true, action: "copy-selection" }],
181
+ onCopySelection: (text: string) => {
182
+ Clipboard.copy(text).catch((error: Error) => {
183
+ console.error(`Failed to copy console selection to clipboard: ${error}`)
184
+ })
185
+ },
146
186
  },
147
187
  },
148
- } as Parameters<typeof render>[1]
149
-
150
- try {
151
- log("[snow-flow] starting tui...")
152
- await render(
153
- () => {
154
- return (
155
- <ErrorBoundary
156
- fallback={(error, reset) => <ErrorComponent error={error} reset={reset} onExit={onExit} mode={mode} />}
157
- >
158
- <ArgsProvider {...input.args}>
159
- <ExitProvider onExit={onExit}>
160
- <KVProvider>
161
- <ToastProvider>
162
- <RouteProvider>
163
- <SDKProvider
164
- url={input.url}
165
- directory={input.directory}
166
- fetch={input.fetch}
167
- events={input.events}
168
- >
169
- <SyncProvider>
170
- <ThemeProvider mode={mode}>
171
- <LocalProvider>
172
- <KeybindProvider>
173
- <PromptStashProvider>
174
- <DialogProvider>
175
- <CommandProvider>
176
- <FrecencyProvider>
177
- <PromptHistoryProvider>
178
- <PromptRefProvider>
179
- <App />
180
- </PromptRefProvider>
181
- </PromptHistoryProvider>
182
- </FrecencyProvider>
183
- </CommandProvider>
184
- </DialogProvider>
185
- </PromptStashProvider>
186
- </KeybindProvider>
187
- </LocalProvider>
188
- </ThemeProvider>
189
- </SyncProvider>
190
- </SDKProvider>
191
- </RouteProvider>
192
- </ToastProvider>
193
- </KVProvider>
194
- </ExitProvider>
195
- </ArgsProvider>
196
- </ErrorBoundary>
197
- )
198
- },
199
- renderConfig,
200
- )
201
- } catch (e) {
202
- console.error("[snow-flow] render failed:", e instanceof Error ? e.message : e)
203
- if (e instanceof Error && e.stack) console.error(e.stack)
204
- resolve()
205
- }
188
+ )
206
189
  })
207
190
  }
208
191