@niscorp/signal
0.1.5
Patch Changes
- c952ab0: A request to a model gets the options its maker or provider documents for whatever the caller leaves unset:
modelDefaults, exported besidemodelRegistry. gpt-oss on Groq gets temperature 1 and top_p 1, OpenAI's sampling for it (at temperature 0 its reasoning repeats one sentence until the budget runs out), and maxTokens 16,384, because Groq ends a completion at 3,072 tokens unless asked for more and reasoning alone can pass that. The caller's options always win.
0.1.4
Patch Changes
a8b7133: DOCS.md states thirty-nine facts about the API that were written only in source comments, and describes
resolveTransport.step()andstepStream()now have their request and result fields described: the shape of a tool-calling transcript,output.acceptandoutput.outputTool, whattoolCalls[].argsholds, whatusage.reported: falsemeans,outcome,wire.rungandwire.recovered, and thereasoningandtool_call_deltaevents. A new subsection givesresolveTransport(spec, capabilities): every field of the spec and of the result. Also added: whatUNMEASURED_MODELassumes,chatProviderEntry, thatdescribe()makes no request, that an OpenRouter row lists what the proxy accepts, and thatjev-latestis an alias.No behaviour changed.
What to change: nothing.
0.1.3
Patch Changes
63445cb:
complete()andstream()on a decision provider say their own name.Both run through
stepStream, and the refusal a decision provider gives a chat verb named that instead:signal.complete('…')failed withstepStream() is not available on a decision provider…andcontext.verb: "stepStream", for a call the caller never made.The error now names the verb that was called —
complete() is not available on a decision provider — it answers decide() and generates no text,context.verb: "complete", and the same forstream.step,stepStreamandembedalready named themselves.Only those two strings change. The code is
E_VERB_NOT_SUPPORTEDas before, it is raised at the same moment (forstream(), when the stream is first read), and no request is sent.What to change: nothing.
8973c15: DOCS.md says what
embed()andmeta.provider.rawdo.embed()does not checksupportsEmbedding: the flag is whatdescribe()reports, and the request is sent either way; a refused request isE_PROVIDER_ERRORwith the provider's own error undercontext.raw.meta.provider.rawisnullaftercomplete()andstream(), which read the reply as a stream and keep no body (step()returns the body), and it is the provider's error for a call Signal recovered from a rejection. No code changed.What to change: nothing.
ce21cf7: DOCS.md says what a tool's
inputschema may be. The model is sent its JSON Schema, taken from the schema's output side, and the arguments are parsed with it once. So aninputschema validates and does not convert:- One with no JSON Schema (a
.transform(), az.date()) rejects the call before any request is made, with Zod's own error rather than aSignalError. - One whose output is another kind than its input (
z.stringbool()) is described to the model by its output: toldboolean, a model that sends one getsinput_invalidback, and it is the string that is accepted.
Convert inside
execute. DOCS.md says this under "Defining Tools", and a test holds the first. No code changed.What to change: nothing.
- One with no JSON Schema (a
0.1.2
Patch Changes
fe30458: Every package exports its
package.json, so an app can say which version of a package it runs by reading it from the package:import prism from '@niscorp/prism/package.json' with { type: 'json' }; prism.version; // the version that is installed, not the range that asked for itUntil now the
exportsmap hid it, and the only way to the version was a path intonode_modules.check:packagesinstalls the tarballs and reads every package's version this way.What to change: nothing. An app that read a version by path can read it by name.
0.1.1
Patch Changes
- b67a125: Documentation only: each package's README, reference and design docs checked against its source and corrected — install lines and peers, signatures, defaults, status codes, licenses (loom, signal: Apache-2.0), and API that existed but was not documented.