@maxanstey-meridian/tandem 0.1.3 → 0.1.4

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/README.md CHANGED
@@ -62,6 +62,11 @@ capabilities, interactions, persistence, and complete examples.
62
62
 
63
63
  Licensed under the [MIT License](./LICENSE).
64
64
 
65
+ For a specialised model that requires a plain user message, a raw-output agent
66
+ can set both `instructions` and `output.instructions` to `""`. Tandem then sends
67
+ the authored message without system instructions or a response-format constraint.
68
+ Other agent/output modes still require nonblank instructions.
69
+
65
70
  ## Development and publishing
66
71
 
67
72
  ```sh
package/dist/index.js CHANGED
@@ -576,7 +576,10 @@ class AgentImplementation extends NodeImplementation {
576
576
  }
577
577
  }
578
578
  export function agent(definition) {
579
- requireInstructions(definition.instructions, `Agent '${definition.id}' instructions`);
579
+ const rawOutput = definition.output && "raw" in definition.output && definition.output.raw === true;
580
+ if (!rawOutput || typeof definition.instructions !== "string") {
581
+ requireInstructions(definition.instructions, `Agent '${definition.id}' instructions`);
582
+ }
580
583
  const reasoningEffort = definition.reasoning?.effort;
581
584
  const reasoningMaxTokens = definition.reasoning?.maxTokens;
582
585
  if (definition.reasoning &&
@@ -595,7 +598,9 @@ export function agent(definition) {
595
598
  }
596
599
  }
597
600
  if (definition.output) {
598
- requireInstructions(definition.output.instructions, `Agent '${definition.id}' output instructions`);
601
+ if (!rawOutput || typeof definition.output.instructions !== "string") {
602
+ requireInstructions(definition.output.instructions, `Agent '${definition.id}' output instructions`);
603
+ }
599
604
  if ("raw" in definition.output) {
600
605
  if (definition.output.raw !== true) {
601
606
  throw new TandemError(`Agent '${definition.id}' output raw must be true.`);
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maxanstey-meridian/tandem",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "TypeScript authoring API for Tandem agentic pipelines",
5
5
  "homepage": "https://github.com/maxanstey-meridian/tandem-ts#readme",
6
6
  "license": "MIT",