@cubicecho/agent-core 2.1.0 → 2.1.1

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.
@@ -65,8 +65,25 @@ const flagsOf = (supports, model) => [
65
65
  ];
66
66
  /** `stream_options` is named in the refusal by every server that has not heard of it. */
67
67
  const REJECTS_USAGE = /stream_options/i;
68
- /** A model that cannot reason refuses the field by name. */
69
- const rejectsEffort = (detail) => /reasoning_effort/i.test(detail);
68
+ /**
69
+ * A refusal of the *value* rather than of the field, which names the field either way.
70
+ *
71
+ * `Unsupported value: 'reasoning_effort' does not support 'none' with this model. Supported
72
+ * values are: 'minimal', 'low', 'medium', and 'high'.` A model that answers this reasons
73
+ * perfectly well; it was handed an effort off a list this package does not know. Dropping the
74
+ * field succeeds, at the model's own default effort, which is neither what the caller asked for
75
+ * nor something it can see — and the drop latches, so every later turn on that model reasons at
76
+ * the default with the setting still reading what the operator typed.
77
+ */
78
+ const REFUSED_VALUE = /unsupported value|invalid value|supported values/i;
79
+ /**
80
+ * A model that cannot reason refuses the field by name — and only the field. See `REFUSED_VALUE`
81
+ * for the refusal that names it too and means the opposite, which is the caller's to see rather
82
+ * than ours to work around. `does not support` is deliberately not the marker: a proxy that
83
+ * words a real field refusal as `this model does not support reasoning_effort` has to keep
84
+ * latching.
85
+ */
86
+ const rejectsEffort = (detail) => /reasoning_effort/i.test(detail) && !REFUSED_VALUE.test(detail);
70
87
  /**
71
88
  * Read only alongside the name it is asking for: `'max_tokens' is not supported with this model.
72
89
  * Use 'max_completion_tokens' instead.`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cubicecho/agent-core",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "description": "The endpoint-agnostic half of an OpenAI-compatible agent loop: tool-schema compatibility, on-demand tool loading, one-shot side tasks, run events, and a pooled client.",
5
5
  "keywords": [
6
6
  "openai",