api_binding_ui 2.0.0 → 2.0.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.
package/SKILL.md CHANGED
@@ -26,7 +26,8 @@ Contract: `node_modules/api_binding_ui/spec/FRAMEWORK.md`. Types: `import type {
26
26
  components: [{ bindId, kind, kindVersion: 1, label, parent?: "<bindId>" }] }
27
27
  ```
28
28
  - `path[0]` is the product. A dialog or drawer is its own screen with `parent`.
29
- - `bindId` is stable, unique per screen and independent of the label: `notesType`, not `select1`.
29
+ - `bindId` is stable, unique per screen and independent of the label: `notesType`, not `select1`. Letters, digits, `-` and `_` only; never a dot (`grid-search-status`, not `grid.search.status`).
30
+ - `label` is the text the user sees ("Call list"), never the id.
30
31
  - `kind` must exist in `src/bindings/descriptors.ts`. Grid columns and row actions set `parent` to the grid's bindId.
31
32
  2. **Wrap the screen:** `<BindingScreen id="<screen id>" context={{ <context id>: value }}>`. Views kept mounted while hidden (inactive tabs) are wrapped in `<BindingActive value={isVisible}>`.
32
33
  3. **Wire every component through its slots:**
@@ -5,7 +5,7 @@ export type JsonSchema = boolean | {
5
5
  };
6
6
  /** Namespaced component kind, e.g. "acme-ds/grid". */
7
7
  export type KindId = string;
8
- /** Component instance id, unique within its screen. */
8
+ /** Component instance id, unique within its screen. Letters, digits, - and _; no dots. */
9
9
  export type BindId = string;
10
10
  /** Screen id, e.g. "<product>.<area>.<screen>". */
11
11
  export type ScreenId = string;
@@ -20,7 +20,10 @@ export declare function buildRequest(op: CatalogOperation, request: Record<strin
20
20
  export declare const requestKey: (r: HttpRequest) => string;
21
21
  /** "$", "$.a.b" or "$.a.items[*]" applied to a response. */
22
22
  export declare function select(response: unknown, selector: string): unknown;
23
- /** Applies a consume binding's `map` to each item; without a map the items pass through untouched. */
23
+ /**
24
+ * Applies a consume binding's `map` to each item. Mapped properties are added to the item, not substituted for it,
25
+ * so a produce slot shaped by this slot (a dropdown's selected option) keeps every field the API returned.
26
+ */
24
27
  export declare function mapItems(data: unknown, binding: OperationConsumeBinding, scope: Scope): unknown;
25
28
  export declare function runConsume(binding: OperationConsumeBinding, op: CatalogOperation, scope: Scope, fetcher: Fetcher): Promise<unknown>;
26
29
  export interface StepOutcome {
@@ -641,6 +641,7 @@ function createEngine2(fw, manifests) {
641
641
  }
642
642
 
643
643
  // src/framework/validate.ts
644
+ var BIND_ID = /^[A-Za-z_][\w-]*$/;
644
645
  function validateRegistry2(fw) {
645
646
  const kinds = new Set(fw.descriptors.map((d) => d.kind));
646
647
  const issues = [];
@@ -648,6 +649,10 @@ function validateRegistry2(fw) {
648
649
  const screens = fw.registry.screens.map((S) => {
649
650
  const seen = new Set;
650
651
  const components = S.components.filter((c) => {
652
+ if (!BIND_ID.test(c.bindId)) {
653
+ issues.push({ severity: "error", screen: S.id, component: c.bindId, code: "registry.invalid-bind-id", message: `bindId "${c.bindId}" must use letters, digits, - or _ only (no dots).` });
654
+ return false;
655
+ }
651
656
  if (!kinds.has(c.kind)) {
652
657
  issues.push({ severity: "error", screen: S.id, component: c.bindId, code: "registry.unknown-kind", message: `"${c.label}" uses ${c.kind}, which has no descriptor.` });
653
658
  return false;
@@ -750,5 +755,5 @@ function BindingProvider2({ catalog, manifests, fetcher, transforms, providers,
750
755
 
751
756
  export { catalogFromOpenApi2, localStorageAdapter2, memoryAdapter2, toManifest2, markDirty, savePending, loadAll, putBinding, dropBinding, parseManifests, humanize, createEngine2, validateRegistry2, validateBindings2, useBindingRuntime, BindingProvider2 };
752
757
 
753
- //# debugId=AEDD74AF9B26729564756E2164756E21
754
- //# sourceMappingURL=index-e9twc25y.js.map
758
+ //# debugId=4412F540958D6E7164756E2164756E21
759
+ //# sourceMappingURL=index-3q1vx729.js.map
@@ -7,10 +7,10 @@
7
7
  "/** Identifiers to words, for matching and labels. */\nimport type { Glossary } from \"./contract\";\n\n/* ------------------------------------------------------------------ */\n/* Names */\n/* ------------------------------------------------------------------ */\n\nexport const sing = (w: string) => (w.length > 3 && w.endsWith(\"s\") ? w.slice(0, -1) : w);\nexport function synonymIndex(glossaries: Glossary[]) {\n const m: Record<string, string[]> = {};\n glossaries.forEach(g => g.synonyms.forEach(grp => { const g2 = grp.map(x => sing(x.toLowerCase())); g2.forEach(w => { m[w] = g2; }); }));\n return m;\n}\nexport function words(text: string): string[] {\n return text.replace(/([a-z0-9])([A-Z])/g, \"$1 $2\").toLowerCase().split(/[^a-z0-9]+/).filter(w => w.length > 1).map(sing);\n}\n/** Turns an identifier into words people read: \"noteTypeId\" → \"Note type id\". */\nexport function humanize(id: string): string {\n const s = id.replace(/^\\$\\.?/, \"\").replace(/\\[\\*\\]/g, \"\").split(/[./]/).filter(Boolean).pop() ?? id;\n const w = s.replace(/([a-z0-9])([A-Z])/g, \"$1 $2\").replace(/[_-]+/g, \" \").toLowerCase().trim();\n return w ? w[0].toUpperCase() + w.slice(1) : id;\n}\n",
8
8
  "/** JSON Schema helpers and per-operation views. */\nimport type { Catalog, CatalogOperation, JsonSchema } from \"./contract\";\n\nexport type Field = [name: string, type: string];\nexport type ReqField = [pointer: string, type: string, required: boolean];\n\nexport interface OpView {\n op: CatalogOperation;\n req: ReqField[];\n lists: Array<{ select: string; fields: Field[] }>;\n one: Field[] | null;\n scalars: Field[];\n}\n\n/* ------------------------------------------------------------------ */\n/* JSON Schema reading */\n/* ------------------------------------------------------------------ */\n\ntype S = Record<string, any>;\nexport const obj = (s: JsonSchema | undefined): S => (s && typeof s === \"object\" ? (s as S) : {});\nexport function flat(s: JsonSchema | undefined): S {\n const o = obj(s);\n const parts = [o, ...((o.allOf as JsonSchema[]) ?? []).map(flat)];\n if (parts.length === 1 && !o.oneOf && !o.anyOf) return o;\n const props: S = {};\n const required: string[] = [];\n parts.forEach(p => { Object.assign(props, p.properties ?? {}); required.push(...(p.required ?? [])); });\n const alt = ((o.oneOf ?? o.anyOf) as JsonSchema[] | undefined)?.map(flat).find(x => x.type !== \"null\");\n return { ...(alt ?? {}), ...o, properties: Object.keys(props).length ? props : alt?.properties, required };\n}\nexport function typeName(s: JsonSchema | undefined): string {\n const o = flat(s);\n const t = Array.isArray(o.type) ? o.type.find((x: string) => x !== \"null\") : o.type;\n if (t === \"array\") return typeName(o.items) + \"[]\";\n if (o.format === \"date-time\" || o.format === \"date\") return \"date-time\";\n if (t === \"integer\" || t === \"number\") return \"number\";\n return t ?? (o.properties ? \"object\" : \"any\");\n}\nexport const isObject = (s: JsonSchema | undefined) => { const o = flat(s); return o.type === \"object\" || !!o.properties; };\nexport const propsOf = (s: JsonSchema | undefined): Field[] => Object.entries<JsonSchema>(flat(s).properties ?? {}).map(([k, v]) => [k, typeName(v)]);\n\nfunction leaves(schema: JsonSchema, prefix: string, required: boolean, out: ReqField[], depth = 0) {\n const s = flat(schema);\n if (isObject(s)) {\n const props = Object.entries<JsonSchema>(s.properties ?? {});\n if (!props.length || depth > 3) { out.push([prefix, \"object\", required]); return; }\n const req = new Set<string>(s.required ?? []);\n props.forEach(([k, v]) => { if (!flat(v).readOnly) leaves(v, `${prefix}/${k}`, required && req.has(k), out, depth + 1); });\n } else out.push([prefix, typeName(s), required]);\n}\nfunction listsIn(schema: JsonSchema | undefined, path: string, out: OpView[\"lists\"], depth = 0) {\n const s = flat(schema);\n if (s.type === \"array\") { if (isObject(s.items)) out.push({ select: `${path}[*]`, fields: propsOf(s.items) }); return; }\n if (isObject(s) && depth < 4) Object.entries<JsonSchema>(s.properties ?? {}).forEach(([k, v]) => listsIn(v, `${path}.${k}`, out, depth + 1));\n}\n\nconst views = new WeakMap<Catalog, Map<string, OpView>>();\nexport function opViews(catalog: Catalog): Map<string, OpView> {\n let m = views.get(catalog);\n if (m) return m;\n m = new Map();\n for (const op of catalog.operations) {\n const req: ReqField[] = op.parameters.map(p => [p.pointer, typeName(p.schema), p.required]);\n if (op.body) leaves(op.body.schema, \"/body\", op.body.required, req);\n const ok = op.responses.find(r => /^2/.test(r.status) && r.schema);\n const lists: OpView[\"lists\"] = [];\n if (ok) listsIn(ok.schema, \"$\", lists);\n const one = ok && !lists.length && isObject(ok.schema) ? propsOf(ok.schema) : null;\n const scalars = ok ? propsOf(ok.schema).filter(([, t]) => t !== \"object\" && !t.endsWith(\"[]\")).map(([k, t]) => [`$.${k}`, t] as Field) : [];\n m.set(op.id, { op, req, lists, one, scalars });\n }\n views.set(catalog, m);\n return m;\n}\n",
9
9
  "/** Matching, proposals and status for bindings. Generic: no kinds, products or field names. */\nimport type {\n OperationConsumeBinding,\n BindId, Catalog, CatalogOperation, ComponentDescriptor, ComponentInstance, ContextDeclaration,\n ContextProvider, Glossary, ScreenEntry, ScreenId, ScreenRegistry, SlotBinding,\n SlotDescriptor, TransformDefinition,\n} from \"./contract\";\nimport { synonymIndex, words, humanize } from \"./names\";\nimport { flat, obj, opViews, propsOf, typeName, type Field, type OpView } from \"./schema\";\n\nexport type { Field, OpView, ReqField } from \"./schema\";\nexport { opViews } from \"./schema\";\nexport { humanize, words } from \"./names\";\n\n\nexport interface FrameworkData {\n descriptors: ComponentDescriptor[];\n registry: ScreenRegistry;\n catalog: Catalog;\n transforms?: TransformDefinition[];\n providers?: ContextProvider[];\n glossaries?: Glossary[];\n}\n\n\nexport interface Source {\n expr: string; label: string; name?: string; type: string; group: \"item\" | \"screen\" | \"context\" | \"provider\"; fields?: Field[];\n /** Set when the value's shape is not known yet: names the slot that must be connected first. */\n waitsFor?: string;\n}\nexport interface Ranked { view: OpView; score: number; reasons: string[] }\nexport type SlotState = \"bound\" | \"suggested\" | \"unbound\";\n\n/* ------------------------------------------------------------------ */\n/* Engine */\n/* ------------------------------------------------------------------ */\n\nexport type BindingIndex = Record<ScreenId, SlotBinding[]>;\n\nexport function createEngine(fw: FrameworkData, manifests: BindingIndex) {\n const OPV = opViews(fw.catalog);\n const OPS = [...OPV.values()];\n const DESC = new Map(fw.descriptors.map(d => [d.kind, d]));\n const SCR = new Map(fw.registry.screens.map(s => [s.id, s]));\n const transforms = fw.transforms ?? [];\n const providers = fw.providers ?? [];\n const syn = synonymIndex(fw.glossaries ?? []);\n\n const key = (s: string, c: string, sl: string) => `${s}|${c}|${sl}`;\n const BIND = new Map<string, SlotBinding>();\n for (const [s, list] of Object.entries(manifests)) for (const b of list) {\n if (b.type === \"operation\" && !OPV.has(b.operation)) continue; // operation no longer in the catalog\n if (b.type === \"steps\" && b.steps.some(st => !OPV.has(st.operation))) continue;\n BIND.set(key(s, b.component, b.slot), b);\n }\n const getB = (s: ScreenId, c: BindId, sl: string) => BIND.get(key(s, c, sl));\n const screen = (id: ScreenId) => SCR.get(id)!;\n const compOf = (s: ScreenId, id: BindId) => SCR.get(s)?.components.find(c => c.bindId === id);\n const descOf = (c: ComponentInstance) => DESC.get(c.kind);\n const bindable = (d: ComponentDescriptor | undefined) => (d ? d.slots.filter(x => x.role !== \"produce\") : []);\n\n /* names */\n const tokCache = new Map<string, Set<string>>();\n const tok = (text: string, expand: boolean) => {\n const k = (expand ? \"+\" : \"-\") + text;\n let out = tokCache.get(k);\n if (out) return out;\n out = new Set<string>();\n for (const w of words(text)) { out.add(w); if (expand) (syn[w] ?? []).forEach(x => out!.add(x)); }\n tokCache.set(k, out);\n return out;\n };\n /** Synonyms expand the source side only, so a glossary widens matches without raising scores. */\n function nameScore(target: string, source: string) {\n const a = tok(target, false), b = tok(source, true);\n if (!a.size || !b.size) return 0;\n let n = 0; a.forEach(x => { if (b.has(x)) n++; });\n return n && n / a.size >= 0.5 ? (0.6 * n) / a.size + (0.4 * n) / b.size : 0;\n }\n const base = (t: string) => t.replace(\"[]\", \"\");\n function typeFit(target: string, source: string): { ok: boolean; transform?: string } {\n if (target !== \"any\" && source !== \"any\" && target.endsWith(\"[]\") !== source.endsWith(\"[]\")) return { ok: false };\n const t = base(target), s = base(source);\n if (t === \"any\" || s === \"any\" || t === s) return { ok: true };\n const tr = transforms.find(x => typeName(x.input) === s && typeName(x.output) === t);\n return tr ? { ok: true, transform: tr.name } : { ok: false };\n }\n\n /* shapes: types flow through bindings */\n function bindingFields(s: ScreenId, c: BindId, slotId: string): Field[] | null {\n const b = getB(s, c, slotId);\n if (!b || b.type !== \"operation\") return null;\n const v = OPV.get(b.operation);\n if (!v) return null;\n if (b.select === \"$\" && v.one) return v.one;\n return v.lists.find(x => x.select === b.select)?.fields ?? null;\n }\n function shapeOf(s: ScreenId, comp: ComponentInstance, slot: SlotDescriptor): { many: boolean; fields?: Field[]; type?: string; via?: string } {\n const sc = obj(slot.schema);\n if (typeof sc.$ref === \"string\" && sc.$ref.startsWith(\"#slot/\")) {\n const via = sc.$ref.slice(6);\n return { many: !!slot.many, fields: bindingFields(s, comp.bindId, via) ?? [], via };\n }\n if (flat(sc).properties) return { many: !!slot.many, fields: propsOf(sc) };\n return { many: !!slot.many, type: typeName(sc) };\n }\n function contextShape(ctx: ContextDeclaration): { many: boolean; fields: Field[] } {\n if (\"schema\" in ctx.shape) return { many: !!ctx.many, fields: propsOf(ctx.shape.schema) };\n const f = ctx.shape.from, comp = compOf(f.screen, f.component), d = comp && descOf(comp), slot = d?.slots.find(x => x.id === f.slot);\n return { many: !!ctx.many, fields: (slot && comp ? shapeOf(f.screen, comp, slot).fields : null) ?? [] };\n }\n /** Fields of `$item` for a scoped slot: the parent's bound data. */\n function scopeFields(s: ScreenId, comp: ComponentInstance, slot: SlotDescriptor): Field[] | null {\n if (!slot.scope || !comp.parent) return null;\n return bindingFields(s, comp.parent, slot.scope.parentSlot);\n }\n function manyContext(s: ScreenId) { return screen(s).context.find(x => x.many); }\n\n /* values available on a screen */\n function sources(s: ScreenId, opts: { item?: Field[] } = {}): Source[] {\n const out: Source[] = [], S = screen(s);\n opts.item?.forEach(([f, t]) => out.push({ expr: `$item.${f}`, label: humanize(f), name: f, type: t, group: \"item\" }));\n S.components.forEach(c => {\n const d = descOf(c);\n d?.slots.filter(x => x.role === \"produce\").forEach(sl => {\n const sh = shapeOf(s, c, sl);\n if (sh.fields?.length) {\n if (sh.many) out.push({ expr: `${c.bindId}.${sl.id}`, label: `${c.label} · ${sl.label}`, type: \"list\", group: \"screen\", fields: sh.fields });\n sh.fields.forEach(([f, t]) => out.push({ expr: `${c.bindId}.${sl.id}${sh.many ? \"[*]\" : \"\"}.${f}`, label: `${c.label} · ${humanize(f)}`, name: f, type: sh.many ? t + \"[]\" : t, group: \"screen\" }));\n } else if (sh.via) {\n const via = d.slots.find(x => x.id === sh.via);\n out.push({ expr: `${c.bindId}.${sl.id}`, label: `${c.label} · ${sl.label}`, type: \"pending\", group: \"screen\", waitsFor: `${c.label} · ${via?.label ?? sh.via}` });\n } else out.push({ expr: `${c.bindId}.${sl.id}`, label: c.label + (sl.label && bindable(d).length + 1 < d.slots.length ? ` · ${sl.label}` : \"\"), name: c.label, type: sh.many ? \"list\" : sh.type ?? \"any\", group: \"screen\" });\n });\n });\n S.context.forEach(ctx => {\n const sh = contextShape(ctx);\n if (ctx.many) out.push({ expr: `$context.${ctx.id}`, label: ctx.label, type: \"list\", group: \"context\", fields: sh.fields });\n sh.fields.forEach(([f, t]) => out.push({ expr: `$context.${ctx.id}${ctx.many ? \"[*]\" : \"\"}.${f}`, label: `${ctx.label} · ${humanize(f)}`, name: f, type: ctx.many ? t + \"[]\" : t, group: \"context\" }));\n });\n providers.forEach(p => propsOf(p.schema).forEach(([f, t]) => out.push({ expr: `$${p.id}.${f}`, label: `${p.label} · ${humanize(f)}`, name: `${p.label} ${f}`, type: t, group: \"provider\" })));\n return out;\n }\n /** Sources that fit the target type, best name match first. */\n function rankSources(targetName: string, targetType: string, srcs: Source[], min = 0.65) {\n const out: Array<{ expr: string; score: number; source: Source }> = [];\n for (const x of srcs) {\n if (x.type === \"list\" || x.waitsFor) continue;\n const fit = typeFit(targetType, x.type);\n if (!fit.ok) continue;\n let sc = Math.max(nameScore(targetName, x.name ?? x.label), nameScore(targetName, x.label) * 0.9);\n if (x.group === \"screen\") sc += 0.12; else if (x.group === \"item\") sc += 0.05;\n if (fit.transform) sc -= 0.05;\n if (sc >= min) out.push({ expr: x.expr + (fit.transform ? ` | ${fit.transform}()` : \"\"), score: sc, source: x });\n }\n return out.sort((a, b) => b.score - a.score);\n }\n function bestSource(targetName: string, targetType: string, srcs: Source[]) {\n return rankSources(targetName, targetType, srcs)[0] ?? null;\n }\n /** A one-word field is qualified by its parent: the path resource for parameters, the parent object for body fields. */\n function qualified(ptr: string, op: CatalogOperation) {\n const parts = ptr.split(\"/\").filter(Boolean), name = parts[parts.length - 1];\n if (words(name).length > 1) return name;\n if (parts[0] === \"body\") return parts.length > 2 ? `${parts[parts.length - 2]} ${name}` : name;\n const segs = op.path.split(\"/\").filter(x => x && !x.startsWith(\"{\"));\n return `${segs[segs.length - 1] ?? \"\"} ${name}`;\n }\n function proposeRequest(v: OpView, srcs: Source[]) {\n const req: Record<string, string> = {};\n v.req.forEach(([ptr, t]) => { const m = bestSource(qualified(ptr, v.op), t, srcs); if (m) req[ptr] = m.expr; });\n return req;\n }\n function proposeMap(slotFields: Field[], itemFields: Field[]) {\n const map: Record<string, string> = {};\n const srcs: Source[] = itemFields.map(([f, t]) => ({ expr: `$item.${f}`, name: f, label: f, type: t, group: \"item\" }));\n slotFields.forEach(([p, t]) => { const m = bestSource(p, t, srcs); if (m) map[p] = m.expr; });\n return map;\n }\n function triggerSources(s: ScreenId, item?: Field[]) {\n const mc = manyContext(s);\n return sources(s, { item: item ?? (mc ? contextShape(mc).fields : undefined) });\n }\n\n /* matchers: generic, metadata only */\n function rank(s: ScreenId, comp: ComponentInstance, slot: SlotDescriptor): Ranked[] {\n const S = screen(s);\n const near = tok([comp.label, ...(slot.hints?.keywords ?? [])].join(\" \"), true);\n const far = tok([S.label, ...S.path].join(\" \"), true);\n /** Share of the operation's name covered by the component (full weight) or the screen (half). */\n const cover = (o: CatalogOperation) => {\n const own = tok([o.id, ...o.tags].join(\" \"), false);\n if (!own.size) return { score: 0, near: false };\n let a = 0, b = 0; own.forEach(w => { if (near.has(w)) a++; else if (far.has(w)) b++; });\n return { score: Math.min(1, (a + 0.5 * b) / own.size), near: a > 0 };\n };\n const srcs = slot.role === \"trigger\" ? triggerSources(s) : sources(s);\n const own = srcs.filter(x => x.group === \"screen\" && x.type !== \"list\").length || 1;\n return OPS.map(v => {\n const reasons: string[] = []; let tot = 0, w = 0;\n const add = (weight: number, score: number, why: string | null) => { tot += weight * score; w += weight; if (score >= 0.5 && why) reasons.push(why); };\n const o = v.op;\n const prop = proposeRequest(v, srcs);\n if (slot.role === \"consume\") {\n const sh = shapeOf(s, comp, slot);\n const shape = sh.many ? (v.lists.length ? 1 : 0) : sh.fields?.length ? (v.one || v.lists.length ? 0.7 : 0) : (v.scalars.some(([, t]) => typeFit(sh.type ?? \"any\", t).ok) || v.one ? 0.7 : 0);\n add(0.3, shape, sh.many ? \"Returns a list\" : \"Returns a matching value\");\n add(0.15, o.intent === \"read\" ? 1 : o.intent ? 0 : 0.5, o.intent === \"read\" ? \"Reads data\" : null);\n } else {\n add(0.2, v.req.length ? 0.8 : 0.2, null);\n add(0.15, o.intent === \"write\" ? 1 : o.intent === \"read\" ? 0.1 : 0.5, o.intent === \"write\" ? \"Saves data\" : null);\n const body = v.req.filter(([p]) => p.startsWith(\"/body/\"));\n const filled = Object.entries(prop).filter(([p, e]) => p.startsWith(\"/body/\") && !e.startsWith(\"$\")).length;\n add(0.3, body.length ? Math.min(1, filled / Math.min(own, body.length)) : 0, filled ? `Uses ${filled} values from this screen` : null);\n }\n const required = v.req.filter(r => r[2]);\n if (required.length) {\n const ok = required.filter(([p]) => prop[p]).length;\n add(0.25, ok / required.length, ok === required.length ? \"All required inputs available\" : null);\n } else add(0.25, 1, null);\n if (o.product) add(0.1, o.product === S.path[0] ? 1 : 0, o.product === S.path[0] ? `From ${o.product}` : null);\n const nm = cover(o);\n add(0.35, nm.score, nm.score >= 0.5 ? (nm.near ? `Name fits “${comp.label}”` : \"Name fits this screen\") : null);\n return { view: v, score: w ? tot / w : 0, reasons };\n }).sort((a, b) => b.score - a.score);\n }\n\n /* status */\n function slotState(s: ScreenId, c: BindId, sl: string): SlotState {\n const b = getB(s, c, sl);\n return !b ? \"unbound\" : b.state === \"confirmed\" ? \"bound\" : \"suggested\";\n }\n function compState(s: ScreenId, comp: ComponentInstance): SlotState | \"partial\" {\n const sl = bindable(descOf(comp));\n if (!sl.length) return \"bound\";\n const st = sl.map(x => slotState(s, comp.bindId, x.id));\n if (st.includes(\"suggested\")) return \"suggested\";\n if (st.every(x => x === \"bound\")) return \"bound\";\n const must = sl.filter(x => x.required);\n if (must.length && must.every(x => slotState(s, comp.bindId, x.id) === \"bound\") && st.includes(\"bound\")) return \"bound\";\n return st.includes(\"bound\") ? \"partial\" : \"unbound\";\n }\n /** Counts components, not slots. */\n function tally(screens: ScreenEntry[]) {\n const t = { bound: 0, suggested: 0, unbound: 0, total: 0 };\n screens.forEach(S => S.components.forEach(c => {\n if (!bindable(descOf(c)).length) return;\n const st = compState(S.id, c);\n t[st === \"partial\" ? \"unbound\" : st]++; t.total++;\n }));\n return t;\n }\n\n const fieldsAt = (v: OpView, select: string): Field[] => (select === \"$\" ? v.one ?? [] : v.lists.find(l => l.select === select)?.fields ?? []);\n\n /** Consume binding for `opId`. With `strict`, null when nothing in the response fits the slot. */\n function proposeConsume(s: ScreenId, comp: ComponentInstance, slot: SlotDescriptor, opId: string, strict = false): OperationConsumeBinding | null {\n const v = OPV.get(opId);\n if (!v) return null;\n const shape = shapeOf(s, comp, slot);\n const props = shape.fields && !shape.via ? shape.fields : null;\n let select: string | undefined;\n if (shape.many) select = v.lists[0]?.select;\n else if (props) select = v.one ? \"$\" : v.lists[0]?.select;\n else {\n const scal: Source[] = v.scalars.map(([path, t]) => ({ expr: path, label: humanize(path), name: path.slice(2), type: t, group: \"item\" }));\n select = (rankSources(slot.label, shape.type ?? \"any\", scal)[0] ?? rankSources(`${comp.label} ${slot.label}`, shape.type ?? \"any\", scal)[0])?.expr.split(\" | \")[0];\n if (!select && !strict) select = v.scalars.find(([, t]) => typeFit(shape.type ?? \"any\", t).ok)?.[0];\n }\n if (!select) { if (strict) return null; select = \"$\"; }\n return {\n component: comp.bindId, slot: slot.id, type: \"operation\", operation: opId, select,\n request: proposeRequest(v, sources(s)),\n map: props ? proposeMap(props, fieldsAt(v, select)) : undefined,\n load: \"open\", origin: \"suggested\", state: \"draft\",\n };\n }\n /** Unbound consume slots of the same component that the same response can fill. */\n function siblingFills(s: ScreenId, comp: ComponentInstance, slot: SlotDescriptor, opId: string): OperationConsumeBinding[] {\n return bindable(descOf(comp)).filter(x => x.role === \"consume\" && !x.scope && x.id !== slot.id && !getB(s, comp.bindId, x.id))\n .map(x => proposeConsume(s, comp, x, opId, true)).filter((b): b is OperationConsumeBinding => !!b);\n }\n\n return {\n fw, OPV, OPS, DESC, SCR, getB, screen, compOf, descOf, bindable, typeFit, shapeOf, contextShape, scopeFields,\n sources, triggerSources, bestSource, rankSources, proposeRequest, proposeMap, rank, slotState, compState, tally, manyContext,\n fieldsAt, proposeConsume, siblingFills,\n };\n}\nexport type Engine = ReturnType<typeof createEngine>;\n\n",
10
- "import type { ScreenRegistry, ValidationIssue } from \"./contract\";\nimport type { Engine, FrameworkData } from \"./engine\";\n\n/* ------------------------------------------------------------------ */\n/* Validation: what does not validate is not shown */\n/* ------------------------------------------------------------------ */\n\nexport function validateRegistry(fw: FrameworkData): { registry: ScreenRegistry; issues: ValidationIssue[] } {\n const kinds = new Set(fw.descriptors.map(d => d.kind));\n const issues: ValidationIssue[] = [];\n const ids = new Set(fw.registry.screens.map(s => s.id));\n const screens = fw.registry.screens.map(S => {\n const seen = new Set<string>();\n const components = S.components.filter(c => {\n if (!kinds.has(c.kind)) { issues.push({ severity: \"error\", screen: S.id, component: c.bindId, code: \"registry.unknown-kind\", message: `\"${c.label}\" uses ${c.kind}, which has no descriptor.` }); return false; }\n if (seen.has(c.bindId)) { issues.push({ severity: \"error\", screen: S.id, component: c.bindId, code: \"registry.duplicate-bind-id\", message: `bindId \"${c.bindId}\" is used twice.` }); return false; }\n seen.add(c.bindId); return true;\n }).filter(c => !c.parent || seen.has(c.parent) || (issues.push({ severity: \"error\", screen: S.id, component: c.bindId, code: \"registry.missing-parent\", message: `\"${c.label}\" names a parent that is not on the screen.` }), false));\n const parent = S.parent && ids.has(S.parent) ? S.parent : undefined;\n return { ...S, components, parent };\n });\n return { registry: { ...fw.registry, screens }, issues };\n}\n\nexport function validateBindings(engine: Engine): ValidationIssue[] {\n const issues: ValidationIssue[] = [];\n for (const S of engine.fw.registry.screens) for (const c of S.components) {\n const d = engine.descOf(c);\n d?.slots.filter(sl => sl.required && sl.role !== \"produce\").forEach(sl => {\n if (engine.slotState(S.id, c.bindId, sl.id) !== \"bound\") issues.push({ severity: \"warning\", screen: S.id, component: c.bindId, slot: sl.id, code: \"slot.required-unbound\", message: `${c.label}: ${sl.label} is not connected.` });\n });\n }\n return issues;\n}\n",
10
+ "import type { ScreenRegistry, ValidationIssue } from \"./contract\";\nimport type { Engine, FrameworkData } from \"./engine\";\n\nconst BIND_ID = /^[A-Za-z_][\\w-]*$/;\n\n/* ------------------------------------------------------------------ */\n/* Validation: what does not validate is not shown */\n/* ------------------------------------------------------------------ */\n\nexport function validateRegistry(fw: FrameworkData): { registry: ScreenRegistry; issues: ValidationIssue[] } {\n const kinds = new Set(fw.descriptors.map(d => d.kind));\n const issues: ValidationIssue[] = [];\n const ids = new Set(fw.registry.screens.map(s => s.id));\n const screens = fw.registry.screens.map(S => {\n const seen = new Set<string>();\n const components = S.components.filter(c => {\n // Expressions read \"<bindId>.<slot>\", so a bindId is one segment.\n if (!BIND_ID.test(c.bindId)) { issues.push({ severity: \"error\", screen: S.id, component: c.bindId, code: \"registry.invalid-bind-id\", message: `bindId \"${c.bindId}\" must use letters, digits, - or _ only (no dots).` }); return false; }\n if (!kinds.has(c.kind)) { issues.push({ severity: \"error\", screen: S.id, component: c.bindId, code: \"registry.unknown-kind\", message: `\"${c.label}\" uses ${c.kind}, which has no descriptor.` }); return false; }\n if (seen.has(c.bindId)) { issues.push({ severity: \"error\", screen: S.id, component: c.bindId, code: \"registry.duplicate-bind-id\", message: `bindId \"${c.bindId}\" is used twice.` }); return false; }\n seen.add(c.bindId); return true;\n }).filter(c => !c.parent || seen.has(c.parent) || (issues.push({ severity: \"error\", screen: S.id, component: c.bindId, code: \"registry.missing-parent\", message: `\"${c.label}\" names a parent that is not on the screen.` }), false));\n const parent = S.parent && ids.has(S.parent) ? S.parent : undefined;\n return { ...S, components, parent };\n });\n return { registry: { ...fw.registry, screens }, issues };\n}\n\nexport function validateBindings(engine: Engine): ValidationIssue[] {\n const issues: ValidationIssue[] = [];\n for (const S of engine.fw.registry.screens) for (const c of S.components) {\n const d = engine.descOf(c);\n d?.slots.filter(sl => sl.required && sl.role !== \"produce\").forEach(sl => {\n if (engine.slotState(S.id, c.bindId, sl.id) !== \"bound\") issues.push({ severity: \"warning\", screen: S.id, component: c.bindId, slot: sl.id, code: \"slot.required-unbound\", message: `${c.label}: ${sl.label} is not connected.` });\n });\n }\n return issues;\n}\n",
11
11
  "import * as React from \"react\";\nimport type { BindingManifest, Catalog, CatalogOperation, ContextProvider, PersistenceAdapter, ScreenId, SlotBinding, TransformDefinition } from \"../framework/contract\";\nimport type { Transforms } from \"../framework/expr\";\nimport type { Fetcher } from \"../framework/runner\";\n\nexport interface BindingRuntime {\n operations: Map<string, CatalogOperation>;\n /** Confirmed bindings only, indexed \"screen|component|slot\". Drafts never run. */\n binding: (screen: ScreenId, component: string, slot: string) => SlotBinding | undefined;\n fetcher: Fetcher;\n transforms: Transforms;\n providers: () => Record<string, unknown>;\n /** In-flight requests by key, shared across slots. */\n inflight: Map<string, Promise<unknown>>;\n persistence?: PersistenceAdapter;\n /** Loads the studio-saved manifest for a screen; no-op without persistence. */\n loadSaved: (screen: ScreenId) => void;\n /** Reloads saved manifests for mounted screens (after the studio closes). */\n reloadSaved: () => void;\n /** Registers a mounted screen and whether it is shown; returns the unregister function. */\n mountScreen: (screen: ScreenId, shown: boolean) => () => void;\n /** The shown screen that was shown most recently (an open dialog wins over its page). */\n activeScreen: () => ScreenId | undefined;\n}\n\nexport interface BindingProviderProps {\n catalog: Catalog;\n /** Manifests committed with the app. */\n manifests: BindingManifest[];\n /** Sends requests (base URL, auth, errors). */\n fetcher: Fetcher;\n transforms?: TransformDefinition[];\n providers?: ContextProvider[];\n /** Design time only: studio-saved manifests override committed ones. */\n persistence?: PersistenceAdapter;\n children: React.ReactNode;\n}\n\nconst RuntimeContext = React.createContext<BindingRuntime | null>(null);\n\nexport function latestShown(screens: Iterable<{ screen: ScreenId; shown: boolean; at: number }>): ScreenId | undefined {\n let best: { screen: ScreenId; at: number } | undefined;\n for (const m of screens) if (m.shown && (!best || m.at > best.at)) best = m;\n return best?.screen;\n}\n\nexport function useBindingRuntime(): BindingRuntime {\n const r = React.useContext(RuntimeContext);\n if (!r) throw new Error(\"Wrap the app in <BindingProvider> before using binding hooks.\");\n return r;\n}\n\nexport function BindingProvider({ catalog, manifests, fetcher, transforms, providers, persistence, children }: BindingProviderProps) {\n const [overrides, setOverrides] = React.useState<Record<ScreenId, BindingManifest>>({});\n // shortcut: changing `persistence` at runtime is not supported.\n const requested = React.useRef(new Set<ScreenId>());\n const mounted = React.useRef(new Map<symbol, { screen: ScreenId; shown: boolean; at: number }>());\n const clock = React.useRef(0);\n\n const loadSaved = React.useCallback((screen: ScreenId) => {\n if (!persistence || requested.current.has(screen)) return;\n requested.current.add(screen);\n persistence.load(screen).then(m => { if (m) setOverrides(o => ({ ...o, [screen]: m })); }, () => requested.current.delete(screen));\n }, [persistence]);\n\n const reloadSaved = React.useCallback(() => {\n requested.current.clear();\n new Set([...mounted.current.values()].map(m => m.screen)).forEach(loadSaved);\n }, [loadSaved]);\n\n const mountScreen = React.useCallback((screen: ScreenId, shown: boolean) => {\n const key = Symbol(screen);\n mounted.current.set(key, { screen, shown, at: ++clock.current });\n return () => { mounted.current.delete(key); };\n }, []);\n const activeScreen = React.useCallback(() => latestShown(mounted.current.values()), []);\n\n const runtime = React.useMemo<BindingRuntime>(() => {\n const index = new Map<string, SlotBinding>();\n const byScreen = new Map(manifests.map(m => [m.screen, m]));\n Object.values(overrides).forEach(m => byScreen.set(m.screen, m));\n byScreen.forEach(m => m.bindings.forEach(b => { if (b.state === \"confirmed\") index.set(`${m.screen}|${b.component}|${b.slot}`, b); }));\n return {\n operations: new Map(catalog.operations.map(o => [o.id, o])),\n binding: (s, c, sl) => index.get(`${s}|${c}|${sl}`),\n fetcher,\n transforms: Object.fromEntries((transforms ?? []).map(t => [t.name, t.apply])),\n providers: () => Object.fromEntries((providers ?? []).map(p => [p.id, p.read()])),\n inflight: new Map(),\n persistence,\n loadSaved,\n reloadSaved,\n mountScreen,\n activeScreen,\n };\n }, [catalog, manifests, overrides, fetcher, transforms, providers, persistence, loadSaved, reloadSaved, mountScreen, activeScreen]);\n\n return <RuntimeContext.Provider value={runtime}>{children}</RuntimeContext.Provider>;\n}\n"
12
12
  ],
13
- "mappings": "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",
14
- "debugId": "AEDD74AF9B26729564756E2164756E21",
13
+ "mappings": "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",
14
+ "debugId": "4412F540958D6E7164756E2164756E21",
15
15
  "names": []
16
16
  }
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  validateBindings2,
9
9
  useBindingRuntime,
10
10
  BindingProvider2
11
- } from "./index-e9twc25y.js";
11
+ } from "./index-3q1vx729.js";
12
12
  // src/framework/expr.ts
13
13
  var PIPE = /^([A-Za-z_][\w-]*)\((.*)\)$/;
14
14
  var cache = new Map;
@@ -135,7 +135,10 @@ function select(response, selector) {
135
135
  function mapItems(data, binding, scope) {
136
136
  if (!binding.map || !Object.keys(binding.map).length)
137
137
  return data;
138
- const one = (item) => Object.fromEntries(Object.entries(binding.map).map(([k, e]) => [k, evaluate(e, { ...scope, item })]));
138
+ const one = (item) => ({
139
+ ...item && typeof item === "object" ? item : {},
140
+ ...Object.fromEntries(Object.entries(binding.map).map(([k, e]) => [k, evaluate(e, { ...scope, item })]))
141
+ });
139
142
  return Array.isArray(data) ? data.map(one) : data == null ? data : one(data);
140
143
  }
141
144
  async function runConsume(binding, op, scope, fetcher) {
@@ -341,5 +344,5 @@ export {
341
344
  validateRegistry2 as validateRegistry
342
345
  };
343
346
 
344
- //# debugId=0D89B09671A8D81B64756E2164756E21
347
+ //# debugId=64D1E40B946F01F764756E2164756E21
345
348
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -3,12 +3,12 @@
3
3
  "sources": ["../src/framework/expr.ts", "../src/framework/runner.ts", "../src/runtime/BindingScreen.tsx", "../src/runtime/screenStore.ts", "../src/runtime/hooks.ts"],
4
4
  "sourcesContent": [
5
5
  "/**\n * Expression evaluator (FRAMEWORK.md §7). One grammar for every source:\n *\n * <bindId>.<slot>[.path] a produce slot on this screen\n * $item[.path] the current item (scoped slot or forEach)\n * $context.<id>[.path] a value the screen received\n * $steps.<stepId>[.path] an earlier call step's result ({ response })\n * $<provider>[.path] a registered context provider\n * <expr>[*].<path> every item of a list\n * <expr> | name(args) a registered transform\n *\n * Nothing outside this grammar is evaluated; unknown heads resolve to undefined.\n */\n\nexport type Transforms = Record<string, (value: unknown, ...args: unknown[]) => unknown>;\n\nexport interface Scope {\n /** Current value of a produce slot on the screen. */\n slot: (bindId: string, slotId: string) => unknown;\n item?: unknown;\n context?: Record<string, unknown>;\n providers?: Record<string, unknown>;\n steps?: Record<string, unknown>;\n transforms?: Transforms;\n}\n\ninterface Parsed { head: string[]; path: string[]; pipes: Array<{ name: string; args: unknown[] }> }\n\nconst PIPE = /^([A-Za-z_][\\w-]*)\\((.*)\\)$/;\nconst cache = new Map<string, Parsed>();\n\nfunction parseArg(raw: string): unknown {\n const t = raw.trim();\n if (!t) return undefined;\n try { return JSON.parse(t); } catch { return t; }\n}\n\n/** \"a.b[*].c\" → [\"a\", \"b\", \"*\", \"c\"] */\nfunction segments(path: string): string[] {\n return path.replace(/\\[(\\*|\\d+)\\]/g, \".$1\").split(\".\").filter(Boolean);\n}\n\nexport function parse(expr: string): Parsed {\n const hit = cache.get(expr);\n if (hit) return hit;\n const [main, ...rest] = expr.split(\"|\");\n const segs = segments(main.trim());\n if (!segs.length) throw new Error(`Empty expression: \"${expr}\"`);\n // Heads: $item / $context.<id> / $steps.<id> / $<provider> take one or two segments; a component slot takes two.\n const width = segs[0] === \"$item\" || (segs[0].startsWith(\"$\") && ![\"$context\", \"$steps\"].includes(segs[0])) ? 1 : 2;\n const pipes = rest.map(p => {\n const m = PIPE.exec(p.trim());\n if (!m) throw new Error(`Bad transform \"${p.trim()}\" in \"${expr}\"`);\n return { name: m[1], args: m[2] ? m[2].split(\",\").map(parseArg) : [] };\n });\n const parsed = { head: segs.slice(0, width), path: segs.slice(width), pipes };\n cache.set(expr, parsed);\n return parsed;\n}\n\nfunction walk(value: unknown, path: string[]): unknown {\n let v = value;\n for (let i = 0; i < path.length; i++) {\n if (v == null) return undefined;\n if (path[i] === \"*\") {\n if (!Array.isArray(v)) return undefined;\n const rest = path.slice(i + 1);\n return v.map(x => walk(x, rest));\n }\n v = (v as Record<string, unknown>)[path[i]];\n }\n return v;\n}\n\nexport function evaluate(expr: string, scope: Scope): unknown {\n const { head, path, pipes } = parse(expr);\n let root: unknown;\n if (head[0] === \"$item\") root = scope.item;\n else if (head[0] === \"$context\") root = scope.context?.[head[1]];\n else if (head[0] === \"$steps\") root = scope.steps?.[head[1]];\n else if (head[0].startsWith(\"$\")) root = scope.providers?.[head[0].slice(1)];\n else root = scope.slot(head[0], head[1]);\n let value = walk(root, path);\n for (const p of pipes) {\n const fn = scope.transforms?.[p.name];\n if (!fn) throw new Error(`Unknown transform \"${p.name}\" in \"${expr}\"`);\n value = fn(value, ...p.args);\n }\n return value;\n}\n\n",
6
- "/** Builds requests, reads responses and runs trigger steps. */\nimport type { CatalogOperation, OperationConsumeBinding, Step } from \"./contract\";\nimport { evaluate, type Scope } from \"./expr\";\n\nexport interface HttpRequest {\n method: string;\n /** Path with parameters filled in, e.g. \"/cls/v1/notes/42\". */\n path: string;\n query: Record<string, string>;\n headers: Record<string, string>;\n body?: unknown;\n}\n\n/** Sends a request. Supplied by the host (base URL, auth, errors). */\nexport type Fetcher = (request: HttpRequest, operation: CatalogOperation) => Promise<unknown>;\n\nexport class BindingError extends Error {\n constructor(message: string, readonly detail?: unknown) { super(message); this.name = \"BindingError\"; }\n}\n\nfunction setPointer(target: Record<string, unknown>, keys: string[], value: unknown) {\n let node = target;\n keys.slice(0, -1).forEach(k => { node = (node[k] ??= {}) as Record<string, unknown>; });\n node[keys[keys.length - 1]] = value;\n}\n\nconst decode = (k: string) => k.replace(/~1/g, \"/\").replace(/~0/g, \"~\");\n\nexport function buildRequest(op: CatalogOperation, request: Record<string, string>, scope: Scope): HttpRequest {\n const out: HttpRequest = { method: op.method, path: op.path, query: {}, headers: {} };\n let body: Record<string, unknown> | undefined;\n for (const [pointer, expr] of Object.entries(request)) {\n const value = evaluate(expr, scope);\n if (value === undefined) continue;\n const [, where, ...rest] = pointer.split(\"/\");\n const keys = rest.map(decode);\n if (where === \"path\") out.path = out.path.replace(`{${keys[0]}}`, encodeURIComponent(String(value)));\n else if (where === \"query\") out.query[keys[0]] = String(value);\n else if (where === \"header\") out.headers[keys[0]] = String(value);\n else if (where === \"body\") {\n if (!keys.length) out.body = value;\n else setPointer((body ??= {}), keys, value);\n }\n }\n if (body) out.body = { ...(out.body as object | undefined), ...body };\n const missing = op.parameters.filter(p => p.required && !(p.pointer in request && evaluate(request[p.pointer], scope) !== undefined));\n if (missing.length) throw new BindingError(`Missing required input: ${missing.map(p => p.name).join(\", \")}.`);\n return out;\n}\n\n/** Identical requests share a key, and so one fetch. */\nexport const requestKey = (r: HttpRequest) => JSON.stringify([r.method, r.path, r.query, r.body ?? null]);\n\n/** \"$\", \"$.a.b\" or \"$.a.items[*]\" applied to a response. */\nexport function select(response: unknown, selector: string): unknown {\n const path = selector.replace(/^\\$\\.?/, \"\").replace(/\\[\\*\\]$/, \"\").split(\".\").filter(Boolean);\n return path.reduce<unknown>((v, k) => (v == null ? undefined : (v as Record<string, unknown>)[k]), response);\n}\n\n/** Applies a consume binding's `map` to each item; without a map the items pass through untouched. */\nexport function mapItems(data: unknown, binding: OperationConsumeBinding, scope: Scope): unknown {\n if (!binding.map || !Object.keys(binding.map).length) return data;\n const one = (item: unknown) => Object.fromEntries(Object.entries(binding.map!).map(([k, e]) => [k, evaluate(e, { ...scope, item })]));\n return Array.isArray(data) ? data.map(one) : data == null ? data : one(data);\n}\n\nexport async function runConsume(binding: OperationConsumeBinding, op: CatalogOperation, scope: Scope, fetcher: Fetcher): Promise<unknown> {\n const response = await fetcher(buildRequest(op, binding.request, scope), op);\n return mapItems(select(response, binding.select), binding, scope);\n}\n\nexport interface StepOutcome { step: string; ok: boolean; response?: unknown; error?: unknown }\n\n/** Runs call steps in order. `forEach` runs a call once per item; `onError: \"stop\"` ends the run at the first failure. */\nexport async function runSteps(steps: Step[], operations: Map<string, CatalogOperation>, scope: Scope, fetcher: Fetcher): Promise<StepOutcome[]> {\n const outcomes: StepOutcome[] = [];\n const results: Record<string, unknown> = { ...scope.steps };\n for (const step of steps) {\n const op = operations.get(step.operation);\n if (!op) throw new BindingError(`Operation \"${step.operation}\" is not in the catalog.`);\n const items = step.forEach ? evaluate(step.forEach, scope) : [scope.item];\n const list = Array.isArray(items) ? items : [items];\n const responses: unknown[] = [];\n let failed = false;\n for (const item of list) {\n try {\n responses.push(await fetcher(buildRequest(op, step.request, { ...scope, item, steps: results }), op));\n } catch (error) {\n failed = true;\n outcomes.push({ step: step.id, ok: false, error });\n if (step.onError === \"stop\") return outcomes;\n }\n }\n const response = step.forEach ? responses : responses[0];\n results[step.id] = { response };\n if (!failed) outcomes.push({ step: step.id, ok: true, response });\n }\n return outcomes;\n}\n",
6
+ "/** Builds requests, reads responses and runs trigger steps. */\nimport type { CatalogOperation, OperationConsumeBinding, Step } from \"./contract\";\nimport { evaluate, type Scope } from \"./expr\";\n\nexport interface HttpRequest {\n method: string;\n /** Path with parameters filled in, e.g. \"/cls/v1/notes/42\". */\n path: string;\n query: Record<string, string>;\n headers: Record<string, string>;\n body?: unknown;\n}\n\n/** Sends a request. Supplied by the host (base URL, auth, errors). */\nexport type Fetcher = (request: HttpRequest, operation: CatalogOperation) => Promise<unknown>;\n\nexport class BindingError extends Error {\n constructor(message: string, readonly detail?: unknown) { super(message); this.name = \"BindingError\"; }\n}\n\nfunction setPointer(target: Record<string, unknown>, keys: string[], value: unknown) {\n let node = target;\n keys.slice(0, -1).forEach(k => { node = (node[k] ??= {}) as Record<string, unknown>; });\n node[keys[keys.length - 1]] = value;\n}\n\nconst decode = (k: string) => k.replace(/~1/g, \"/\").replace(/~0/g, \"~\");\n\nexport function buildRequest(op: CatalogOperation, request: Record<string, string>, scope: Scope): HttpRequest {\n const out: HttpRequest = { method: op.method, path: op.path, query: {}, headers: {} };\n let body: Record<string, unknown> | undefined;\n for (const [pointer, expr] of Object.entries(request)) {\n const value = evaluate(expr, scope);\n if (value === undefined) continue;\n const [, where, ...rest] = pointer.split(\"/\");\n const keys = rest.map(decode);\n if (where === \"path\") out.path = out.path.replace(`{${keys[0]}}`, encodeURIComponent(String(value)));\n else if (where === \"query\") out.query[keys[0]] = String(value);\n else if (where === \"header\") out.headers[keys[0]] = String(value);\n else if (where === \"body\") {\n if (!keys.length) out.body = value;\n else setPointer((body ??= {}), keys, value);\n }\n }\n if (body) out.body = { ...(out.body as object | undefined), ...body };\n const missing = op.parameters.filter(p => p.required && !(p.pointer in request && evaluate(request[p.pointer], scope) !== undefined));\n if (missing.length) throw new BindingError(`Missing required input: ${missing.map(p => p.name).join(\", \")}.`);\n return out;\n}\n\n/** Identical requests share a key, and so one fetch. */\nexport const requestKey = (r: HttpRequest) => JSON.stringify([r.method, r.path, r.query, r.body ?? null]);\n\n/** \"$\", \"$.a.b\" or \"$.a.items[*]\" applied to a response. */\nexport function select(response: unknown, selector: string): unknown {\n const path = selector.replace(/^\\$\\.?/, \"\").replace(/\\[\\*\\]$/, \"\").split(\".\").filter(Boolean);\n return path.reduce<unknown>((v, k) => (v == null ? undefined : (v as Record<string, unknown>)[k]), response);\n}\n\n/**\n * Applies a consume binding's `map` to each item. Mapped properties are added to the item, not substituted for it,\n * so a produce slot shaped by this slot (a dropdown's selected option) keeps every field the API returned.\n */\nexport function mapItems(data: unknown, binding: OperationConsumeBinding, scope: Scope): unknown {\n if (!binding.map || !Object.keys(binding.map).length) return data;\n const one = (item: unknown) => ({\n ...(item && typeof item === \"object\" ? item : {}),\n ...Object.fromEntries(Object.entries(binding.map!).map(([k, e]) => [k, evaluate(e, { ...scope, item })])),\n });\n return Array.isArray(data) ? data.map(one) : data == null ? data : one(data);\n}\n\nexport async function runConsume(binding: OperationConsumeBinding, op: CatalogOperation, scope: Scope, fetcher: Fetcher): Promise<unknown> {\n const response = await fetcher(buildRequest(op, binding.request, scope), op);\n return mapItems(select(response, binding.select), binding, scope);\n}\n\nexport interface StepOutcome { step: string; ok: boolean; response?: unknown; error?: unknown }\n\n/** Runs call steps in order. `forEach` runs a call once per item; `onError: \"stop\"` ends the run at the first failure. */\nexport async function runSteps(steps: Step[], operations: Map<string, CatalogOperation>, scope: Scope, fetcher: Fetcher): Promise<StepOutcome[]> {\n const outcomes: StepOutcome[] = [];\n const results: Record<string, unknown> = { ...scope.steps };\n for (const step of steps) {\n const op = operations.get(step.operation);\n if (!op) throw new BindingError(`Operation \"${step.operation}\" is not in the catalog.`);\n const items = step.forEach ? evaluate(step.forEach, scope) : [scope.item];\n const list = Array.isArray(items) ? items : [items];\n const responses: unknown[] = [];\n let failed = false;\n for (const item of list) {\n try {\n responses.push(await fetcher(buildRequest(op, step.request, { ...scope, item, steps: results }), op));\n } catch (error) {\n failed = true;\n outcomes.push({ step: step.id, ok: false, error });\n if (step.onError === \"stop\") return outcomes;\n }\n }\n const response = step.forEach ? responses : responses[0];\n results[step.id] = { response };\n if (!failed) outcomes.push({ step: step.id, ok: true, response });\n }\n return outcomes;\n}\n",
7
7
  "import * as React from \"react\";\nimport type { ScreenId } from \"../framework/contract\";\nimport { useBindingRuntime } from \"./BindingProvider\";\nimport { createScreenStore, type ScreenStore } from \"./screenStore\";\n\nexport interface ScreenScope {\n id: ScreenId;\n store: ScreenStore;\n /** Values passed in, keyed by the registry entry's `context` ids. */\n context: Record<string, unknown>;\n}\n\nconst ScreenContext = React.createContext<ScreenScope | null>(null);\nconst ShownContext = React.createContext(true);\n\nexport function useScreen(): ScreenScope {\n const s = React.useContext(ScreenContext);\n if (!s) throw new Error(\"Use binding hooks inside <BindingScreen id=…>.\");\n return s;\n}\n\n/** Marks a subtree that stays mounted while hidden (inactive tabs, cached views). */\nexport function BindingActive({ value, children }: { value: boolean; children: React.ReactNode }) {\n const parent = React.useContext(ShownContext);\n return <ShownContext.Provider value={parent && value}>{children}</ShownContext.Provider>;\n}\n\nexport interface BindingScreenProps {\n /** The screen's id in the registry. */\n id: ScreenId;\n context?: Record<string, unknown>;\n children: React.ReactNode;\n}\n\nconst NO_CONTEXT: Record<string, unknown> = {};\n\n/** Binding scope for one screen: its produce values and context. */\nexport function BindingScreen({ id, context = NO_CONTEXT, children }: BindingScreenProps) {\n const [store] = React.useState(createScreenStore);\n const shown = React.useContext(ShownContext);\n const { loadSaved, mountScreen } = useBindingRuntime();\n React.useEffect(() => { loadSaved(id); }, [loadSaved, id]);\n React.useEffect(() => mountScreen(id, shown), [mountScreen, id, shown]);\n const scope = React.useMemo(() => ({ id, store, context }), [id, store, context]);\n return <ScreenContext.Provider value={scope}>{children}</ScreenContext.Provider>;\n}\n",
8
8
  "/** A screen's produce values, outside React state; read through useSyncExternalStore. */\nexport interface ScreenStore {\n get: (bindId: string, slot: string) => unknown;\n set: (bindId: string, slot: string, value: unknown) => void;\n subscribe: (listener: () => void) => () => void;\n}\n\nexport function createScreenStore(): ScreenStore {\n const values = new Map<string, unknown>();\n const listeners = new Set<() => void>();\n return {\n get: (b, s) => values.get(`${b}.${s}`),\n set(b, s, value) {\n const k = `${b}.${s}`;\n if (Object.is(values.get(k), value)) return;\n values.set(k, value);\n listeners.forEach(l => l());\n },\n subscribe(l) { listeners.add(l); return () => { listeners.delete(l); }; },\n };\n}\n",
9
9
  "import * as React from \"react\";\nimport type { OperationConsumeBinding } from \"../framework/contract\";\nimport { evaluate, type Scope } from \"../framework/expr\";\nimport { BindingError, buildRequest, mapItems, requestKey, runSteps, select, type StepOutcome } from \"../framework/runner\";\nimport { useBindingRuntime, type BindingRuntime } from \"./BindingProvider\";\nimport { useScreen, type ScreenScope } from \"./BindingScreen\";\n\nfunction scopeOf(runtime: BindingRuntime, screen: ScreenScope, item?: unknown): Scope {\n return { slot: screen.store.get, context: screen.context, providers: runtime.providers(), transforms: runtime.transforms, item };\n}\n\n/** Publishes a produce slot's value. */\nexport function useProduce(bindId: string, slot: string, value: unknown): void {\n const { store } = useScreen();\n React.useEffect(() => { store.set(bindId, slot, value); }, [store, bindId, slot, value]);\n}\n\nexport type SlotStatus = \"unbound\" | \"waiting\" | \"loading\" | \"ready\" | \"error\";\nexport interface SlotResult<T> {\n status: SlotStatus;\n data: T | undefined;\n error: unknown;\n reload: () => void;\n}\n\nconst WAIT = \"\\u0000wait:\";\n\n/** Data for a consume slot. Subscribes to a request key, so it re-renders only when its own inputs change. */\nexport function useSlot<T = unknown>(bindId: string, slot: string): SlotResult<T> {\n const runtime = useBindingRuntime();\n const screen = useScreen();\n const binding = runtime.binding(screen.id, bindId, slot);\n const [nonce, setNonce] = React.useState(0);\n const [state, setState] = React.useState<{ key: string; status: SlotStatus; data?: T; error?: unknown }>({ key: \"\", status: \"loading\" });\n\n const snapshot = React.useCallback((): string => {\n if (!binding) return \"\";\n try {\n const scope = scopeOf(runtime, screen);\n if (binding.type === \"expression\") return JSON.stringify(evaluate(binding.value, scope) ?? null);\n if (binding.type !== \"operation\") return \"\";\n const op = runtime.operations.get(binding.operation);\n return op ? requestKey(buildRequest(op, binding.request, scope)) : WAIT + \"operation missing\";\n } catch (e) {\n return WAIT + (e instanceof Error ? e.message : String(e));\n }\n }, [binding, runtime, screen]);\n const key = React.useSyncExternalStore(screen.store.subscribe, snapshot, snapshot);\n\n React.useEffect(() => {\n if (!binding || binding.type !== \"operation\" || !key || key.startsWith(WAIT)) return;\n const op = runtime.operations.get(binding.operation)!;\n const scope = scopeOf(runtime, screen);\n const request = buildRequest(op, binding.request, scope);\n const k = requestKey(request);\n let live = true;\n setState(s => ({ key, status: \"loading\", data: s.data }));\n let p = nonce ? undefined : runtime.inflight.get(k);\n if (!p) {\n p = runtime.fetcher(request, op).finally(() => runtime.inflight.delete(k));\n runtime.inflight.set(k, p);\n }\n p.then(\n res => { if (live) setState({ key, status: \"ready\", data: mapItems(select(res, binding.select), binding as OperationConsumeBinding, scope) as T }); },\n error => { if (live) setState({ key, status: \"error\", error }); },\n );\n return () => { live = false; };\n }, [binding, key, nonce, runtime, screen]);\n\n const reload = React.useCallback(() => setNonce(n => n + 1), []);\n\n if (!binding || binding.type === \"steps\" || binding.type === \"none\") return { status: \"unbound\", data: undefined, error: undefined, reload };\n if (binding.type === \"expression\") return { status: \"ready\", data: (key ? JSON.parse(key) : undefined) as T, error: undefined, reload };\n if (key.startsWith(WAIT)) return { status: \"waiting\", data: undefined, error: new BindingError(key.slice(WAIT.length)), reload };\n return { status: state.key === key ? state.status : \"loading\", data: state.data, error: state.error, reload };\n}\n\n/** Resolver for a scoped slot (a cell) given its item. */\nexport function useCell<T = unknown>(bindId: string, slot: string): (item: unknown) => T | undefined {\n const runtime = useBindingRuntime();\n const screen = useScreen();\n const binding = runtime.binding(screen.id, bindId, slot);\n return React.useCallback(\n (item: unknown) => (binding?.type === \"expression\" ? (evaluate(binding.value, scopeOf(runtime, screen, item)) as T) : undefined),\n [binding, runtime, screen],\n );\n}\n\nexport interface TriggerHandle {\n /** False without a confirmed binding. */\n bound: boolean;\n running: boolean;\n /** Runs the slot's API calls; `item` is the row for row actions. */\n run: (item?: unknown) => Promise<StepOutcome[]>;\n}\n\nexport function useTrigger(bindId: string, slot: string): TriggerHandle {\n const runtime = useBindingRuntime();\n const screen = useScreen();\n const binding = runtime.binding(screen.id, bindId, slot);\n const [running, setRunning] = React.useState(false);\n const run = React.useCallback(async (item?: unknown) => {\n if (binding?.type !== \"steps\") return [];\n setRunning(true);\n try { return await runSteps(binding.steps, runtime.operations, scopeOf(runtime, screen, item), runtime.fetcher); }\n finally { setRunning(false); }\n }, [binding, runtime, screen]);\n return { bound: binding?.type === \"steps\" || binding?.type === \"none\", running, run };\n}\n"
10
10
  ],
11
- "mappings": "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",
12
- "debugId": "0D89B09671A8D81B64756E2164756E21",
11
+ "mappings": ";;;;;;;;;;;;AA4BA,IAAM,OAAO;AACb,IAAM,QAAQ,IAAI;AAElB,SAAS,QAAQ,CAAC,KAAsB;AAAA,EACtC,MAAM,IAAI,IAAI,KAAK;AAAA,EACnB,IAAI,CAAC;AAAA,IAAG;AAAA,EACR,IAAI;AAAA,IAAE,OAAO,KAAK,MAAM,CAAC;AAAA,IAAK,MAAM;AAAA,IAAE,OAAO;AAAA;AAAA;AAI/C,SAAS,QAAQ,CAAC,MAAwB;AAAA,EACxC,OAAO,KAAK,QAAQ,iBAAiB,KAAK,EAAE,MAAM,GAAG,EAAE,OAAO,OAAO;AAAA;AAGhE,SAAS,KAAK,CAAC,MAAsB;AAAA,EAC1C,MAAM,MAAM,MAAM,IAAI,IAAI;AAAA,EAC1B,IAAI;AAAA,IAAK,OAAO;AAAA,EAChB,OAAO,SAAS,QAAQ,KAAK,MAAM,GAAG;AAAA,EACtC,MAAM,OAAO,SAAS,KAAK,KAAK,CAAC;AAAA,EACjC,IAAI,CAAC,KAAK;AAAA,IAAQ,MAAM,IAAI,MAAM,sBAAsB,OAAO;AAAA,EAE/D,MAAM,QAAQ,KAAK,OAAO,WAAY,KAAK,GAAG,WAAW,GAAG,KAAK,CAAC,CAAC,YAAY,QAAQ,EAAE,SAAS,KAAK,EAAE,IAAK,IAAI;AAAA,EAClH,MAAM,QAAQ,KAAK,IAAI,OAAK;AAAA,IAC1B,MAAM,IAAI,KAAK,KAAK,EAAE,KAAK,CAAC;AAAA,IAC5B,IAAI,CAAC;AAAA,MAAG,MAAM,IAAI,MAAM,kBAAkB,EAAE,KAAK,UAAU,OAAO;AAAA,IAClE,OAAO,EAAE,MAAM,EAAE,IAAI,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,EAAE,IAAI,QAAQ,IAAI,CAAC,EAAE;AAAA,GACtE;AAAA,EACD,MAAM,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,KAAK,GAAG,MAAM,KAAK,MAAM,KAAK,GAAG,MAAM;AAAA,EAC5E,MAAM,IAAI,MAAM,MAAM;AAAA,EACtB,OAAO;AAAA;AAGT,SAAS,IAAI,CAAC,OAAgB,MAAyB;AAAA,EACrD,IAAI,IAAI;AAAA,EACR,SAAS,IAAI,EAAG,IAAI,KAAK,QAAQ,KAAK;AAAA,IACpC,IAAI,KAAK;AAAA,MAAM;AAAA,IACf,IAAI,KAAK,OAAO,KAAK;AAAA,MACnB,IAAI,CAAC,MAAM,QAAQ,CAAC;AAAA,QAAG;AAAA,MACvB,MAAM,OAAO,KAAK,MAAM,IAAI,CAAC;AAAA,MAC7B,OAAO,EAAE,IAAI,OAAK,KAAK,GAAG,IAAI,CAAC;AAAA,IACjC;AAAA,IACA,IAAK,EAA8B,KAAK;AAAA,EAC1C;AAAA,EACA,OAAO;AAAA;AAGF,SAAS,QAAQ,CAAC,MAAc,OAAuB;AAAA,EAC5D,QAAQ,MAAM,MAAM,UAAU,MAAM,IAAI;AAAA,EACxC,IAAI;AAAA,EACJ,IAAI,KAAK,OAAO;AAAA,IAAS,OAAO,MAAM;AAAA,EACtC,KAAK,IAAI,KAAK,OAAO;AAAA,IAAY,OAAO,MAAM,UAAU,KAAK;AAAA,EAC7D,KAAK,IAAI,KAAK,OAAO;AAAA,IAAU,OAAO,MAAM,QAAQ,KAAK;AAAA,EACzD,KAAK,IAAI,KAAK,GAAG,WAAW,GAAG;AAAA,IAAG,OAAO,MAAM,YAAY,KAAK,GAAG,MAAM,CAAC;AAAA,EAC1E;AAAA,IAAK,OAAO,MAAM,KAAK,KAAK,IAAI,KAAK,EAAE;AAAA,EACvC,IAAI,QAAQ,KAAK,MAAM,IAAI;AAAA,EAC3B,WAAW,KAAK,OAAO;AAAA,IACrB,MAAM,KAAK,MAAM,aAAa,EAAE;AAAA,IAChC,IAAI,CAAC;AAAA,MAAI,MAAM,IAAI,MAAM,sBAAsB,EAAE,aAAa,OAAO;AAAA,IACrE,QAAQ,GAAG,OAAO,GAAG,EAAE,IAAI;AAAA,EAC7B;AAAA,EACA,OAAO;AAAA;;ACxEF,MAAM,qBAAqB,MAAM;AAAA,EACA;AAAA,EAAtC,WAAW,CAAC,SAA0B,QAAkB;AAAA,IAAE,MAAM,OAAO;AAAA,IAAjC;AAAA,IAAoC,KAAK,OAAO;AAAA;AACxF;AAEA,SAAS,UAAU,CAAC,QAAiC,MAAgB,OAAgB;AAAA,EACnF,IAAI,OAAO;AAAA,EACX,KAAK,MAAM,GAAG,EAAE,EAAE,QAAQ,OAAK;AAAA,IAAE,OAAQ,KAAK,OAAO,CAAC;AAAA,GAAgC;AAAA,EACtF,KAAK,KAAK,KAAK,SAAS,MAAM;AAAA;AAGhC,IAAM,SAAS,CAAC,MAAc,EAAE,QAAQ,OAAO,GAAG,EAAE,QAAQ,OAAO,GAAG;AAE/D,SAAS,YAAY,CAAC,IAAsB,SAAiC,OAA2B;AAAA,EAC7G,MAAM,MAAmB,EAAE,QAAQ,GAAG,QAAQ,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,SAAS,CAAC,EAAE;AAAA,EACpF,IAAI;AAAA,EACJ,YAAY,SAAS,SAAS,OAAO,QAAQ,OAAO,GAAG;AAAA,IACrD,MAAM,QAAQ,SAAS,MAAM,KAAK;AAAA,IAClC,IAAI,UAAU;AAAA,MAAW;AAAA,IACzB,SAAS,UAAU,QAAQ,QAAQ,MAAM,GAAG;AAAA,IAC5C,MAAM,OAAO,KAAK,IAAI,MAAM;AAAA,IAC5B,IAAI,UAAU;AAAA,MAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,OAAO,mBAAmB,OAAO,KAAK,CAAC,CAAC;AAAA,IACnG,KAAK,IAAI,UAAU;AAAA,MAAS,IAAI,MAAM,KAAK,MAAM,OAAO,KAAK;AAAA,IAC7D,KAAK,IAAI,UAAU;AAAA,MAAU,IAAI,QAAQ,KAAK,MAAM,OAAO,KAAK;AAAA,IAChE,KAAK,IAAI,UAAU,QAAQ;AAAA,MACzB,IAAI,CAAC,KAAK;AAAA,QAAQ,IAAI,OAAO;AAAA,MAC7B;AAAA,QAAK,WAAY,SAAS,CAAC,GAAI,MAAM,KAAK;AAAA,IAC5C;AAAA,EACF;AAAA,EACA,IAAI;AAAA,IAAM,IAAI,OAAO,KAAM,IAAI,SAAgC,KAAK;AAAA,EACpE,MAAM,UAAU,GAAG,WAAW,OAAO,OAAK,EAAE,YAAY,GAAE,EAAE,WAAW,YAAW,SAAS,QAAQ,EAAE,UAAU,KAAK,MAAM,UAAU;AAAA,EACpI,IAAI,QAAQ;AAAA,IAAQ,MAAM,IAAI,aAAa,2BAA2B,QAAQ,IAAI,OAAK,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI;AAAA,EAC5G,OAAO;AAAA;AAIF,IAAM,aAAa,CAAC,MAAmB,KAAK,UAAU,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,IAAI,CAAC;AAGjG,SAAS,MAAM,CAAC,UAAmB,UAA2B;AAAA,EACnE,MAAM,OAAO,SAAS,QAAQ,UAAU,EAAE,EAAE,QAAQ,WAAW,EAAE,EAAE,MAAM,GAAG,EAAE,OAAO,OAAO;AAAA,EAC5F,OAAO,KAAK,OAAgB,CAAC,GAAG,MAAO,KAAK,OAAO,YAAa,EAA8B,IAAK,QAAQ;AAAA;AAOtG,SAAS,QAAQ,CAAC,MAAe,SAAkC,OAAuB;AAAA,EAC/F,IAAI,CAAC,QAAQ,OAAO,CAAC,OAAO,KAAK,QAAQ,GAAG,EAAE;AAAA,IAAQ,OAAO;AAAA,EAC7D,MAAM,MAAM,CAAC,UAAmB;AAAA,OAC1B,QAAQ,OAAO,SAAS,WAAW,OAAO,CAAC;AAAA,OAC5C,OAAO,YAAY,OAAO,QAAQ,QAAQ,GAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,SAAS,GAAG,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAAA,EAC1G;AAAA,EACA,OAAO,MAAM,QAAQ,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,QAAQ,OAAO,OAAO,IAAI,IAAI;AAAA;AAGtE,eAAe,UAAU,CAAC,SAAkC,IAAsB,OAAc,SAAoC;AAAA,EACzI,MAAM,WAAW,MAAM,QAAQ,aAAa,IAAI,QAAQ,SAAS,KAAK,GAAG,EAAE;AAAA,EAC3E,OAAO,SAAS,OAAO,UAAU,QAAQ,MAAM,GAAG,SAAS,KAAK;AAAA;AAM3D,eAAe,QAAQ,CAAC,OAAe,YAA2C,OAAc,SAA0C;AAAA,EAC/I,MAAM,WAA0B,CAAC;AAAA,EACjC,MAAM,UAAmC,KAAK,MAAM,MAAM;AAAA,EAC1D,WAAW,QAAQ,OAAO;AAAA,IACxB,MAAM,KAAK,WAAW,IAAI,KAAK,SAAS;AAAA,IACxC,IAAI,CAAC;AAAA,MAAI,MAAM,IAAI,aAAa,cAAc,KAAK,mCAAmC;AAAA,IACtF,MAAM,QAAQ,KAAK,UAAU,SAAS,KAAK,SAAS,KAAK,IAAI,CAAC,MAAM,IAAI;AAAA,IACxE,MAAM,OAAO,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;AAAA,IAClD,MAAM,YAAuB,CAAC;AAAA,IAC9B,IAAI,SAAS;AAAA,IACb,WAAW,QAAQ,MAAM;AAAA,MACvB,IAAI;AAAA,QACF,UAAU,KAAK,MAAM,QAAQ,aAAa,IAAI,KAAK,SAAS,KAAK,OAAO,MAAM,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC;AAAA,QACpG,OAAO,OAAO;AAAA,QACd,SAAS;AAAA,QACT,SAAS,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC;AAAA,QACjD,IAAI,KAAK,YAAY;AAAA,UAAQ,OAAO;AAAA;AAAA,IAExC;AAAA,IACA,MAAM,WAAW,KAAK,UAAU,YAAY,UAAU;AAAA,IACtD,QAAQ,KAAK,MAAM,EAAE,SAAS;AAAA,IAC9B,IAAI,CAAC;AAAA,MAAQ,SAAS,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,MAAM,SAAS,CAAC;AAAA,EAClE;AAAA,EACA,OAAO;AAAA;;ACvGT;;;ACOO,SAAS,iBAAiB,GAAgB;AAAA,EAC/C,MAAM,SAAS,IAAI;AAAA,EACnB,MAAM,YAAY,IAAI;AAAA,EACtB,OAAO;AAAA,IACL,KAAK,CAAC,GAAG,MAAM,OAAO,IAAI,GAAG,KAAK,GAAG;AAAA,IACrC,GAAG,CAAC,GAAG,GAAG,OAAO;AAAA,MACf,MAAM,IAAI,GAAG,KAAK;AAAA,MAClB,IAAI,OAAO,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK;AAAA,QAAG;AAAA,MACrC,OAAO,IAAI,GAAG,KAAK;AAAA,MACnB,UAAU,QAAQ,OAAK,EAAE,CAAC;AAAA;AAAA,IAE5B,SAAS,CAAC,GAAG;AAAA,MAAE,UAAU,IAAI,CAAC;AAAA,MAAG,OAAO,MAAM;AAAA,QAAE,UAAU,OAAO,CAAC;AAAA;AAAA;AAAA,EACpE;AAAA;;;;ADPF,IAAM,gBAAsB,oBAAkC,IAAI;AAClE,IAAM,eAAqB,oBAAc,IAAI;AAEtC,SAAS,SAAS,GAAgB;AAAA,EACvC,MAAM,IAAU,iBAAW,aAAa;AAAA,EACxC,IAAI,CAAC;AAAA,IAAG,MAAM,IAAI,MAAM,gDAAgD;AAAA,EACxE,OAAO;AAAA;AAIF,SAAS,aAAa,GAAG,OAAO,YAA2D;AAAA,EAChG,MAAM,SAAe,iBAAW,YAAY;AAAA,EAC5C,uBAAO,IAAC,aAAa,UAAd;AAAA,IAAuB,OAAO,UAAU;AAAA,IAAxC;AAAA,GAA2D;AAAA;AAUpE,IAAM,aAAsC,CAAC;AAGtC,SAAS,aAAa,GAAG,IAAI,UAAU,YAAY,YAAgC;AAAA,EACxF,OAAO,SAAe,eAAS,iBAAiB;AAAA,EAChD,MAAM,QAAc,iBAAW,YAAY;AAAA,EAC3C,QAAQ,WAAW,gBAAgB,kBAAkB;AAAA,EAC/C,gBAAU,MAAM;AAAA,IAAE,UAAU,EAAE;AAAA,KAAM,CAAC,WAAW,EAAE,CAAC;AAAA,EACnD,gBAAU,MAAM,YAAY,IAAI,KAAK,GAAG,CAAC,aAAa,IAAI,KAAK,CAAC;AAAA,EACtE,MAAM,QAAc,cAAQ,OAAO,EAAE,IAAI,OAAO,QAAQ,IAAI,CAAC,IAAI,OAAO,OAAO,CAAC;AAAA,EAChF,uBAAO,IAAC,cAAc,UAAf;AAAA,IAAwB,OAAO;AAAA,IAA/B;AAAA,GAAkD;AAAA;;AE5C3D;AAOA,SAAS,OAAO,CAAC,SAAyB,QAAqB,MAAuB;AAAA,EACpF,OAAO,EAAE,MAAM,OAAO,MAAM,KAAK,SAAS,OAAO,SAAS,WAAW,QAAQ,UAAU,GAAG,YAAY,QAAQ,YAAY,KAAK;AAAA;AAI1H,SAAS,UAAU,CAAC,QAAgB,MAAc,OAAsB;AAAA,EAC7E,QAAQ,UAAU,UAAU;AAAA,EACtB,iBAAU,MAAM;AAAA,IAAE,MAAM,IAAI,QAAQ,MAAM,KAAK;AAAA,KAAM,CAAC,OAAO,QAAQ,MAAM,KAAK,CAAC;AAAA;AAWzF,IAAM,OAAO;AAGN,SAAS,OAAoB,CAAC,QAAgB,MAA6B;AAAA,EAChF,MAAM,UAAU,kBAAkB;AAAA,EAClC,MAAM,SAAS,UAAU;AAAA,EACzB,MAAM,UAAU,QAAQ,QAAQ,OAAO,IAAI,QAAQ,IAAI;AAAA,EACvD,OAAO,OAAO,YAAkB,gBAAS,CAAC;AAAA,EAC1C,OAAO,OAAO,YAAkB,gBAAyE,EAAE,KAAK,IAAI,QAAQ,UAAU,CAAC;AAAA,EAEvI,MAAM,WAAiB,mBAAY,MAAc;AAAA,IAC/C,IAAI,CAAC;AAAA,MAAS,OAAO;AAAA,IACrB,IAAI;AAAA,MACF,MAAM,QAAQ,QAAQ,SAAS,MAAM;AAAA,MACrC,IAAI,QAAQ,SAAS;AAAA,QAAc,OAAO,KAAK,UAAU,SAAS,QAAQ,OAAO,KAAK,KAAK,IAAI;AAAA,MAC/F,IAAI,QAAQ,SAAS;AAAA,QAAa,OAAO;AAAA,MACzC,MAAM,KAAK,QAAQ,WAAW,IAAI,QAAQ,SAAS;AAAA,MACnD,OAAO,KAAK,WAAW,aAAa,IAAI,QAAQ,SAAS,KAAK,CAAC,IAAI,OAAO;AAAA,MAC1E,OAAO,GAAG;AAAA,MACV,OAAO,QAAQ,aAAa,QAAQ,EAAE,UAAU,OAAO,CAAC;AAAA;AAAA,KAEzD,CAAC,SAAS,SAAS,MAAM,CAAC;AAAA,EAC7B,MAAM,MAAY,4BAAqB,OAAO,MAAM,WAAW,UAAU,QAAQ;AAAA,EAE3E,iBAAU,MAAM;AAAA,IACpB,IAAI,CAAC,WAAW,QAAQ,SAAS,eAAe,CAAC,OAAO,IAAI,WAAW,IAAI;AAAA,MAAG;AAAA,IAC9E,MAAM,KAAK,QAAQ,WAAW,IAAI,QAAQ,SAAS;AAAA,IACnD,MAAM,QAAQ,QAAQ,SAAS,MAAM;AAAA,IACrC,MAAM,UAAU,aAAa,IAAI,QAAQ,SAAS,KAAK;AAAA,IACvD,MAAM,IAAI,WAAW,OAAO;AAAA,IAC5B,IAAI,OAAO;AAAA,IACX,SAAS,QAAM,EAAE,KAAK,QAAQ,WAAW,MAAM,EAAE,KAAK,EAAE;AAAA,IACxD,IAAI,IAAI,QAAQ,YAAY,QAAQ,SAAS,IAAI,CAAC;AAAA,IAClD,IAAI,CAAC,GAAG;AAAA,MACN,IAAI,QAAQ,QAAQ,SAAS,EAAE,EAAE,QAAQ,MAAM,QAAQ,SAAS,OAAO,CAAC,CAAC;AAAA,MACzE,QAAQ,SAAS,IAAI,GAAG,CAAC;AAAA,IAC3B;AAAA,IACA,EAAE,KACA,SAAO;AAAA,MAAE,IAAI;AAAA,QAAM,SAAS,EAAE,KAAK,QAAQ,SAAS,MAAM,SAAS,OAAO,KAAK,QAAQ,MAAM,GAAG,SAAoC,KAAK,EAAO,CAAC;AAAA,OACjJ,WAAS;AAAA,MAAE,IAAI;AAAA,QAAM,SAAS,EAAE,KAAK,QAAQ,SAAS,MAAM,CAAC;AAAA,KAC/D;AAAA,IACA,OAAO,MAAM;AAAA,MAAE,OAAO;AAAA;AAAA,KACrB,CAAC,SAAS,KAAK,OAAO,SAAS,MAAM,CAAC;AAAA,EAEzC,MAAM,SAAe,mBAAY,MAAM,SAAS,OAAK,IAAI,CAAC,GAAG,CAAC,CAAC;AAAA,EAE/D,IAAI,CAAC,WAAW,QAAQ,SAAS,WAAW,QAAQ,SAAS;AAAA,IAAQ,OAAO,EAAE,QAAQ,WAAW,MAAM,WAAW,OAAO,WAAW,OAAO;AAAA,EAC3I,IAAI,QAAQ,SAAS;AAAA,IAAc,OAAO,EAAE,QAAQ,SAAS,MAAO,MAAM,KAAK,MAAM,GAAG,IAAI,WAAiB,OAAO,WAAW,OAAO;AAAA,EACtI,IAAI,IAAI,WAAW,IAAI;AAAA,IAAG,OAAO,EAAE,QAAQ,WAAW,MAAM,WAAW,OAAO,IAAI,aAAa,IAAI,MAAM,KAAK,MAAM,CAAC,GAAG,OAAO;AAAA,EAC/H,OAAO,EAAE,QAAQ,MAAM,QAAQ,MAAM,MAAM,SAAS,WAAW,MAAM,MAAM,MAAM,OAAO,MAAM,OAAO,OAAO;AAAA;AAIvG,SAAS,OAAoB,CAAC,QAAgB,MAAgD;AAAA,EACnG,MAAM,UAAU,kBAAkB;AAAA,EAClC,MAAM,SAAS,UAAU;AAAA,EACzB,MAAM,UAAU,QAAQ,QAAQ,OAAO,IAAI,QAAQ,IAAI;AAAA,EACvD,OAAa,mBACX,CAAC,SAAmB,SAAS,SAAS,eAAgB,SAAS,QAAQ,OAAO,QAAQ,SAAS,QAAQ,IAAI,CAAC,IAAU,WACtH,CAAC,SAAS,SAAS,MAAM,CAC3B;AAAA;AAWK,SAAS,UAAU,CAAC,QAAgB,MAA6B;AAAA,EACtE,MAAM,UAAU,kBAAkB;AAAA,EAClC,MAAM,SAAS,UAAU;AAAA,EACzB,MAAM,UAAU,QAAQ,QAAQ,OAAO,IAAI,QAAQ,IAAI;AAAA,EACvD,OAAO,SAAS,cAAoB,gBAAS,KAAK;AAAA,EAClD,MAAM,MAAY,mBAAY,OAAO,SAAmB;AAAA,IACtD,IAAI,SAAS,SAAS;AAAA,MAAS,OAAO,CAAC;AAAA,IACvC,WAAW,IAAI;AAAA,IACf,IAAI;AAAA,MAAE,OAAO,MAAM,SAAS,QAAQ,OAAO,QAAQ,YAAY,QAAQ,SAAS,QAAQ,IAAI,GAAG,QAAQ,OAAO;AAAA,MAC9G,QAAQ;AAAA,MAAE,WAAW,KAAK;AAAA;AAAA,KACzB,CAAC,SAAS,SAAS,MAAM,CAAC;AAAA,EAC7B,OAAO,EAAE,OAAO,SAAS,SAAS,WAAW,SAAS,SAAS,QAAQ,SAAS,IAAI;AAAA;",
12
+ "debugId": "64D1E40B946F01F764756E2164756E21",
13
13
  "names": []
14
14
  }
@@ -12,7 +12,7 @@ import {
12
12
  createEngine2,
13
13
  validateRegistry2,
14
14
  useBindingRuntime
15
- } from "../index-e9twc25y.js";
15
+ } from "../index-3q1vx729.js";
16
16
 
17
17
  // src/studio/BindingStudio.tsx
18
18
  import * as React15 from "react";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "api_binding_ui",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "API binding framework: bind any UI component to documented APIs at design time, run the bindings in production.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",