create-mercato-app 0.6.1-develop.3246.1.dbef9d7392 → 0.6.1-develop.3256.1.fe3dec2464
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
package/template/.env.example
CHANGED
|
@@ -244,6 +244,38 @@ OM_AI_PROVIDER=openai
|
|
|
244
244
|
# meta-llama/Llama-3.3-70B-Instruct-Turbo
|
|
245
245
|
OM_AI_MODEL=gpt-5-mini
|
|
246
246
|
|
|
247
|
+
# Per-module overrides (Phase 1 of the per-axis-overrides spec). When set,
|
|
248
|
+
# they win over the global `OM_AI_PROVIDER` / `OM_AI_MODEL` for the matching
|
|
249
|
+
# module's agent runs. Examples (uppercased from the agent's moduleId):
|
|
250
|
+
# OM_AI_CATALOG_PROVIDER=openai
|
|
251
|
+
# OM_AI_CATALOG_MODEL=openai/gpt-5-mini
|
|
252
|
+
# OM_AI_INBOX_OPS_PROVIDER=anthropic
|
|
253
|
+
# OM_AI_INBOX_OPS_MODEL=claude-haiku-4-5
|
|
254
|
+
# The legacy `<MODULE>_AI_MODEL` / `<MODULE>_AI_PROVIDER` forms are honored
|
|
255
|
+
# as backward-compatibility fallbacks.
|
|
256
|
+
|
|
257
|
+
# Provider / model ALLOWLIST. Operator-defined hard ceiling on what
|
|
258
|
+
# (provider, model) the runtime accepts. Unset / empty → no restriction.
|
|
259
|
+
# When set, the settings UI, chat-UI picker, dispatcher query params, and
|
|
260
|
+
# model-factory all clip to this subset (with `console.warn` + a safe
|
|
261
|
+
# fallback whenever a higher-priority source resolves to a blocked value).
|
|
262
|
+
#
|
|
263
|
+
# OM_AI_AVAILABLE_PROVIDERS=openai,anthropic
|
|
264
|
+
# OM_AI_AVAILABLE_MODELS_OPENAI=gpt-5-mini,gpt-5
|
|
265
|
+
# OM_AI_AVAILABLE_MODELS_ANTHROPIC=claude-haiku-4-5,claude-opus-4-7
|
|
266
|
+
# OM_AI_AVAILABLE_PROVIDERS=
|
|
267
|
+
# OM_AI_AVAILABLE_MODELS_OPENAI=
|
|
268
|
+
# OM_AI_AVAILABLE_MODELS_ANTHROPIC=
|
|
269
|
+
#
|
|
270
|
+
# Per-agent chat override picker allowlist. This narrows only the models a
|
|
271
|
+
# user may pick in the chat footer for that agent; it does not change the
|
|
272
|
+
# default model. Agent id is uppercased and punctuation becomes `_`.
|
|
273
|
+
# OM_AI_AGENT_CATALOG_CATALOG_ASSISTANT_AVAILABLE_PROVIDERS=openai,lm-studio
|
|
274
|
+
# OM_AI_AGENT_CATALOG_CATALOG_ASSISTANT_AVAILABLE_MODELS_OPENAI=gpt-5-mini,gpt-4o
|
|
275
|
+
|
|
276
|
+
# Optional process-wide model default for the new typed-agent runtime.
|
|
277
|
+
# Slash-qualified ids (e.g. openai/gpt-5-mini) consume the provider axis
|
|
278
|
+
# at the same step. Examples:
|
|
247
279
|
# OpenAI API key — REQUIRED to enable the AI Assistant when
|
|
248
280
|
# `OM_AI_PROVIDER=openai` (the default). Get one at https://platform.openai.com/api-keys.
|
|
249
281
|
OPENAI_API_KEY=
|
|
@@ -269,9 +301,13 @@ OPENCODE_GOOGLE_API_KEY=
|
|
|
269
301
|
# deepinfra/groq/together/fireworks: set OM_AI_PROVIDER to the provider id
|
|
270
302
|
# and fill the matching *_API_KEY below.
|
|
271
303
|
DEEPINFRA_API_KEY=
|
|
304
|
+
# DEEPINFRA_BASE_URL=
|
|
272
305
|
GROQ_API_KEY=
|
|
306
|
+
# GROQ_BASE_URL=
|
|
273
307
|
TOGETHER_API_KEY=
|
|
308
|
+
# TOGETHER_BASE_URL=
|
|
274
309
|
FIREWORKS_API_KEY=
|
|
310
|
+
# FIREWORKS_BASE_URL=
|
|
275
311
|
# azure/litellm/ollama: set OM_AI_PROVIDER to the provider id and fill
|
|
276
312
|
# the API key plus base URL when that backend requires one.
|
|
277
313
|
AZURE_OPENAI_API_KEY=
|
|
@@ -280,6 +316,14 @@ LITELLM_API_KEY=
|
|
|
280
316
|
LITELLM_BASE_URL=
|
|
281
317
|
OLLAMA_API_KEY=
|
|
282
318
|
OLLAMA_BASE_URL=
|
|
319
|
+
# OpenRouter — unified API gateway (hundreds of models via one key).
|
|
320
|
+
# OPENROUTER_API_KEY=
|
|
321
|
+
# OPENROUTER_BASE_URL=
|
|
322
|
+
# LM Studio — local model server (auto-detects loaded model when LM_STUDIO_API_KEY is set).
|
|
323
|
+
# LM_STUDIO_API_KEY=
|
|
324
|
+
# LM_STUDIO_BASE_URL=
|
|
325
|
+
# Override the OpenAI base URL (e.g. for a Cloudflare AI Gateway proxy).
|
|
326
|
+
# OPENAI_BASE_URL=
|
|
283
327
|
|
|
284
328
|
# Embedding-only providers for vector search.
|
|
285
329
|
MISTRAL_API_KEY=
|
|
@@ -57,6 +57,15 @@ export function isIgnorableTurboCacheCancellationLine(line) {
|
|
|
57
57
|
return normalize(line) === '^C ...Finishing writing to cache...'
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
+
export function isIgnorableTurboShutdownLine(line) {
|
|
61
|
+
if (typeof line !== 'string') return false
|
|
62
|
+
const plain = normalize(line)
|
|
63
|
+
return plain === '^C'
|
|
64
|
+
|| plain.startsWith('^C ')
|
|
65
|
+
|| /^received (SIGINT|SIGTERM),? shutting down/i.test(plain)
|
|
66
|
+
|| /^command (interrupted|cancelled|canceled)/i.test(plain)
|
|
67
|
+
}
|
|
68
|
+
|
|
60
69
|
const FAILURE_NOISE_PREDICATES = [
|
|
61
70
|
isIgnorableBoxDrawingLine,
|
|
62
71
|
isIgnorableEnvInjectionLine,
|
|
@@ -78,6 +87,7 @@ const TURBO_NOISE_PREDICATES = [
|
|
|
78
87
|
isIgnorableTurboBannerLine,
|
|
79
88
|
isIgnorableTurboSummaryLine,
|
|
80
89
|
isIgnorableTurboCacheCancellationLine,
|
|
90
|
+
isIgnorableTurboShutdownLine,
|
|
81
91
|
isIgnorableBoxDrawingLine,
|
|
82
92
|
]
|
|
83
93
|
|
|
@@ -425,7 +425,7 @@ function isExpectedShutdownSignal(signal) {
|
|
|
425
425
|
}
|
|
426
426
|
|
|
427
427
|
function isGracefulShutdownResult(result) {
|
|
428
|
-
return shuttingDown && isExpectedShutdownSignal(result?.signal)
|
|
428
|
+
return shuttingDown && (isExpectedShutdownSignal(result?.signal) || result?.code === 0)
|
|
429
429
|
}
|
|
430
430
|
|
|
431
431
|
function resolveChildExitCode(result, fallback = 1) {
|
package/template/scripts/dev.mjs
CHANGED
|
@@ -1028,7 +1028,7 @@ function isExpectedShutdownSignal(signal) {
|
|
|
1028
1028
|
}
|
|
1029
1029
|
|
|
1030
1030
|
function isGracefulShutdownResult(result) {
|
|
1031
|
-
return shuttingDown && isExpectedShutdownSignal(result?.signal)
|
|
1031
|
+
return shuttingDown && (isExpectedShutdownSignal(result?.signal) || result?.code === 0)
|
|
1032
1032
|
}
|
|
1033
1033
|
|
|
1034
1034
|
function resolveChildExitCode(result, fallback = 1) {
|