@fungi.computer/braid 0.0.1 → 0.1.0

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/dist/validate.js CHANGED
@@ -2,6 +2,7 @@ import { escapePointer } from "@cfworker/json-schema";
2
2
  import * as S from "effect/Schema";
3
3
  import * as Result from "effect/Result";
4
4
  import { nextOccurrence } from "@fungi.computer/almanac";
5
+ import { reviewTextPlaceholders, unknownReviewPlaceholders, } from "./review-text.js";
5
6
  import { workflowDefinitionSchema, catalogSchema, TRIGGER_EVENT_PORTS, } from "./schema.js";
6
7
  import { parseProjection, methodInputPorts, methodOutputPorts, portProjection, ports, accepts, assignable, } from "./ports.js";
7
8
  import { nodeRefs, mappingRefs, mappingProjection, predicateRefs, ExpressionSyntaxError, } from "./expressions.js";
@@ -363,6 +364,12 @@ export function analyze(raw, rawCatalog) {
363
364
  case "review": {
364
365
  const shown = node.show[0];
365
366
  const item = shown ? (source(shown) ?? {}) : {};
367
+ for (const text of [
368
+ node.detail ?? "",
369
+ ...(node.choices ?? []).map((choice) => choice.description ?? ""),
370
+ ])
371
+ for (const name of unknownReviewPlaceholders(text))
372
+ issue("schema", `Unknown review placeholder {${name}}; use ${reviewTextPlaceholders.map((known) => `{${known}}`).join(", ")}`, { node: node.id });
366
373
  if (node.choices === undefined) {
367
374
  outs.set(node.id, {
368
375
  approved: item,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fungi.computer/braid",
3
- "version": "0.0.1",
3
+ "version": "0.1.0",
4
4
  "author": "Levi <levi@technomancy.dev>",
5
5
  "type": "module",
6
6
  "description": "Pure versioned Workflow graph validation and content-addressed compilation",
@@ -29,15 +29,16 @@
29
29
  ],
30
30
  "dependencies": {
31
31
  "@cfworker/json-schema": "4.1.1",
32
- "@fungi.computer/almanac": "0.0.1",
33
- "@fungi.computer/mycelium": "0.0.2",
32
+ "@fungi.computer/almanac": "0.1.0",
33
+ "@fungi.computer/mycelium": "0.1.0",
34
34
  "effect": "4.0.2",
35
35
  "jsonpointer": "5.0.1",
36
36
  "mustache": "4.2.0",
37
37
  "zod": "4.4.3",
38
- "@fungi.computer/agar": "0.1.0",
38
+ "@fungi.computer/agar": "0.2.0",
39
+ "@fungi.computer/gills": "0.1.0",
39
40
  "@fungi.computer/watchdog": "0.0.1",
40
- "@fungi.computer/puffball": "0.0.2",
41
+ "@fungi.computer/puffball": "0.1.0",
41
42
  "@fungi.computer/cairn": "0.0.1"
42
43
  },
43
44
  "devDependencies": {