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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-mercato-app",
3
- "version": "0.6.1-develop.3246.1.dbef9d7392",
3
+ "version": "0.6.1-develop.3256.1.fe3dec2464",
4
4
  "type": "module",
5
5
  "description": "Create a new Open Mercato application",
6
6
  "main": "./dist/index.js",
@@ -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) {
@@ -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) {