yaml-flow 5.1.0 → 5.2.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/{examples/example-board/reusable-server-runtime.js → board-livecards-server-runtime.js} +42 -20
- package/{examples/example-board/reusable-board-runtime-client.js → browser/board-livecards-runtime-client.js} +6 -2
- package/browser/{board-livegraph-runtime.js → board-livegraph-engine.js} +212 -16
- package/browser/board-livegraph-engine.js.map +1 -0
- package/browser/live-cards.js +362 -38
- package/browser/live-cards.schema.json +20 -4
- package/dist/board-livegraph-runtime/index.cjs +210 -14
- package/dist/board-livegraph-runtime/index.cjs.map +1 -1
- package/dist/board-livegraph-runtime/index.d.cts +49 -5
- package/dist/board-livegraph-runtime/index.d.ts +49 -5
- package/dist/board-livegraph-runtime/index.js +209 -15
- package/dist/board-livegraph-runtime/index.js.map +1 -1
- package/dist/card-compute/index.cjs +63 -7
- package/dist/card-compute/index.cjs.map +1 -1
- package/dist/card-compute/index.d.cts +2 -2
- package/dist/card-compute/index.d.ts +2 -2
- package/dist/card-compute/index.js +63 -7
- package/dist/card-compute/index.js.map +1 -1
- package/dist/cli/board-live-cards-cli.cjs +664 -75
- package/dist/cli/board-live-cards-cli.cjs.map +1 -1
- package/dist/cli/board-live-cards-cli.d.cts +33 -5
- package/dist/cli/board-live-cards-cli.d.ts +33 -5
- package/dist/cli/board-live-cards-cli.js +661 -76
- package/dist/cli/board-live-cards-cli.js.map +1 -1
- package/dist/{constants-ozjf1Ejw.d.cts → constants-BzZUyYlp.d.cts} +1 -1
- package/dist/{constants-DuzE5n03.d.ts → constants-oCEbNpul.d.ts} +1 -1
- package/dist/continuous-event-graph/index.cjs +47 -14
- package/dist/continuous-event-graph/index.cjs.map +1 -1
- package/dist/continuous-event-graph/index.d.cts +9 -9
- package/dist/continuous-event-graph/index.d.ts +9 -9
- package/dist/continuous-event-graph/index.js +47 -14
- package/dist/continuous-event-graph/index.js.map +1 -1
- package/dist/event-graph/index.cjs +29 -12
- package/dist/event-graph/index.cjs.map +1 -1
- package/dist/event-graph/index.d.cts +5 -5
- package/dist/event-graph/index.d.ts +5 -5
- package/dist/event-graph/index.js +29 -12
- package/dist/event-graph/index.js.map +1 -1
- package/dist/index.cjs +93 -20
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -7
- package/dist/index.d.ts +7 -7
- package/dist/index.js +93 -20
- package/dist/index.js.map +1 -1
- package/dist/inference/index.cjs +29 -12
- package/dist/inference/index.cjs.map +1 -1
- package/dist/inference/index.d.cts +2 -2
- package/dist/inference/index.d.ts +2 -2
- package/dist/inference/index.js +29 -12
- package/dist/inference/index.js.map +1 -1
- package/dist/{journal-NLYuqege.d.ts → journal-9HEgs7dU.d.ts} +1 -1
- package/dist/{journal-DRfJiheM.d.cts → journal-B-JCfQnh.d.cts} +1 -1
- package/dist/{live-cards-bridge-Or7fdEJV.d.ts → live-cards-bridge-CeNxiVcm.d.ts} +6 -2
- package/dist/{live-cards-bridge-vGJ6tMzN.d.cts → live-cards-bridge-z_rJCSbi.d.cts} +6 -2
- package/dist/{schedule-CMcZe5Ny.d.ts → schedule-Cszq9LYY.d.ts} +1 -1
- package/dist/{schedule-CiucyCan.d.cts → schedule-qWNL0RQh.d.cts} +1 -1
- package/dist/{types-CMFSIjpc.d.cts → types-BBhqYGhE.d.cts} +4 -0
- package/dist/{types-CMFSIjpc.d.ts → types-BBhqYGhE.d.ts} +4 -0
- package/dist/{types-BzLD8bjb.d.cts → types-CHSdoAAA.d.cts} +1 -1
- package/dist/{types-C2eJ7DAV.d.ts → types-CoW0gQl3.d.ts} +1 -1
- package/dist/{validate-DJQTQ6bP.d.ts → validate-BAVzUJWa.d.ts} +1 -1
- package/dist/{validate-ke92Cleg.d.cts → validate-Dbu7ygys.d.cts} +1 -1
- package/examples/browser/boards/portfolio-tracker/cards/portfolio-risk-assessment.json +28 -0
- package/examples/browser/boards/portfolio-tracker/cards/rebalancing-strategy.json +28 -0
- package/examples/browser/boards/portfolio-tracker/portfolio-tracker-inference-adapter.js +187 -0
- package/examples/browser/boards/portfolio-tracker/portfolio-tracker.js +139 -5
- package/examples/example-board/agent-instructions-cardlayout.md +28 -0
- package/examples/example-board/agent-instructions.md +603 -0
- package/examples/example-board/cards/card-concentration.json +42 -0
- package/examples/example-board/cards/card-market-prices.json +51 -0
- package/examples/example-board/cards/card-portfolio-action.json +19 -0
- package/examples/example-board/cards/card-portfolio-risks.json +19 -0
- package/examples/example-board/cards/card-portfolio-value.json +62 -0
- package/examples/example-board/cards/card-portfolio.json +44 -0
- package/examples/example-board/demo-chat-handler.js +373 -33
- package/examples/example-board/demo-server-config.json +0 -2
- package/examples/example-board/demo-server.js +46 -7
- package/examples/example-board/demo-shell-browser.html +75 -207
- package/examples/example-board/demo-shell-with-server.html +14 -9
- package/examples/example-board/demo-shell.html +1 -1
- package/examples/example-board/demo-task-executor.js +259 -41
- package/package.json +6 -2
- package/schema/live-cards.schema.json +20 -4
- package/browser/board-livegraph-runtime.js.map +0 -1
- package/examples/example-board/board.yaml +0 -23
- package/examples/example-board/bootstrap_payload.json +0 -1
- package/examples/example-board/cards/card-chain-region-alert.json +0 -39
- package/examples/example-board/cards/card-chain-region-totals.json +0 -26
- package/examples/example-board/cards/card-chain-top-region.json +0 -24
- package/examples/example-board/cards/card-ex-actions.json +0 -32
- package/examples/example-board/cards/card-ex-chart.json +0 -30
- package/examples/example-board/cards/card-ex-filter.json +0 -36
- package/examples/example-board/cards/card-ex-filtered-by-preference.json +0 -59
- package/examples/example-board/cards/card-ex-form.json +0 -91
- package/examples/example-board/cards/card-ex-list.json +0 -22
- package/examples/example-board/cards/card-ex-markdown.json +0 -17
- package/examples/example-board/cards/card-ex-metric.json +0 -19
- package/examples/example-board/cards/card-ex-narrative.json +0 -36
- package/examples/example-board/cards/card-ex-source-http.json +0 -28
- package/examples/example-board/cards/card-ex-source.json +0 -21
- package/examples/example-board/cards/card-ex-status.json +0 -35
- package/examples/example-board/cards/card-ex-table.json +0 -30
- package/examples/example-board/cards/card-ex-todo.json +0 -29
- package/examples/example-board/mock.db +0 -15
- package/examples/example-board/reusable-runtime-artifacts-adapter.js +0 -233
|
@@ -6549,9 +6549,9 @@ var live_cards_schema_default = {
|
|
|
6549
6549
|
}
|
|
6550
6550
|
},
|
|
6551
6551
|
source_def: {
|
|
6552
|
-
description: "One source entry. The engine
|
|
6552
|
+
description: "One source entry. The engine requires 'bindTo' (compute namespace key) and 'outputFile' (delivery signal path). bindTo and outputFile must be unique across all sources in a card. Every other property is yours \u2014 add whatever your task-executor needs: kind, url, headers, mailbox, channel, model, query, etc. The full object is passed verbatim as the --in JSON to the executor.",
|
|
6553
6553
|
type: "object",
|
|
6554
|
-
required: ["bindTo"],
|
|
6554
|
+
required: ["bindTo", "outputFile"],
|
|
6555
6555
|
additionalProperties: true,
|
|
6556
6556
|
properties: {
|
|
6557
6557
|
bindTo: { type: "string", description: "Key under fetched_sources.* available in compute expressions" },
|
|
@@ -6570,6 +6570,7 @@ var live_cards_schema_default = {
|
|
|
6570
6570
|
enum: [
|
|
6571
6571
|
"metric",
|
|
6572
6572
|
"table",
|
|
6573
|
+
"editable-table",
|
|
6573
6574
|
"chart",
|
|
6574
6575
|
"form",
|
|
6575
6576
|
"filter",
|
|
@@ -6687,7 +6688,7 @@ var live_cards_schema_default = {
|
|
|
6687
6688
|
view: { $ref: "#/definitions/view" },
|
|
6688
6689
|
card_data: {
|
|
6689
6690
|
type: "object",
|
|
6690
|
-
description: "Authored card data
|
|
6691
|
+
description: "Authored card data and runtime metadata. Includes uploaded-file metadata maintained by host handlers and inference evaluation results.",
|
|
6691
6692
|
properties: {
|
|
6692
6693
|
files: {
|
|
6693
6694
|
type: "array",
|
|
@@ -6715,6 +6716,18 @@ var live_cards_schema_default = {
|
|
|
6715
6716
|
},
|
|
6716
6717
|
additionalProperties: false
|
|
6717
6718
|
}
|
|
6719
|
+
},
|
|
6720
|
+
llm_task_completion_inference: {
|
|
6721
|
+
type: "object",
|
|
6722
|
+
description: "Runtime state written by the inference adapter (advanced/undocumented). Prefer the standard sources \u2192 compute \u2192 provides pattern for LLM-based signals.",
|
|
6723
|
+
properties: {
|
|
6724
|
+
inferenceRequested: { type: "string", format: "date-time", description: "Timestamp when the latest inference request was initiated" },
|
|
6725
|
+
inferenceCompletedAt: { type: "string", format: "date-time", description: "Timestamp when the latest inference request completed" },
|
|
6726
|
+
isTaskCompleted: { type: "boolean", description: "Whether the task is considered complete by the adapter" },
|
|
6727
|
+
reasoning: { type: "string", description: "Explanation of completion decision" },
|
|
6728
|
+
evidence: { type: "array", description: "Supporting evidence from sources/compute" }
|
|
6729
|
+
},
|
|
6730
|
+
additionalProperties: true
|
|
6718
6731
|
}
|
|
6719
6732
|
},
|
|
6720
6733
|
additionalProperties: true
|
|
@@ -6728,6 +6741,10 @@ var live_cards_schema_default = {
|
|
|
6728
6741
|
type: "array",
|
|
6729
6742
|
description: "Ordered array of compute steps. Each reads card_data.*/requires.*/fetched_sources.*/computed_values.* and writes to ephemeral computed_values[bindTo].",
|
|
6730
6743
|
items: { $ref: "#/definitions/compute_step" }
|
|
6744
|
+
},
|
|
6745
|
+
when_is_task_completed: {
|
|
6746
|
+
type: "string",
|
|
6747
|
+
description: "Advanced/undocumented: invokes a registered inference adapter instead of the default source-delivery completion gate. Prefer the standard pattern: use an LLM-backed source, compute a verdict token, and publish it via provides."
|
|
6731
6748
|
}
|
|
6732
6749
|
}
|
|
6733
6750
|
};
|
|
@@ -6796,12 +6813,35 @@ function getValidator() {
|
|
|
6796
6813
|
function validateLiveCardSchema(node) {
|
|
6797
6814
|
const validate = getValidator();
|
|
6798
6815
|
const valid = validate(node);
|
|
6799
|
-
if (valid) return { ok: true, errors: [] };
|
|
6800
6816
|
const errors = (validate.errors ?? []).map((e) => {
|
|
6801
6817
|
const path = e.instancePath || "/";
|
|
6802
6818
|
return `${path}: ${e.message ?? "unknown error"}`;
|
|
6803
6819
|
});
|
|
6804
|
-
|
|
6820
|
+
if (node && typeof node === "object" && !Array.isArray(node)) {
|
|
6821
|
+
const sources = node.sources;
|
|
6822
|
+
if (Array.isArray(sources)) {
|
|
6823
|
+
const bindTos = /* @__PURE__ */ new Set();
|
|
6824
|
+
const outputFiles = /* @__PURE__ */ new Set();
|
|
6825
|
+
sources.forEach((src, i) => {
|
|
6826
|
+
if (!src || typeof src !== "object" || Array.isArray(src)) return;
|
|
6827
|
+
const s = src;
|
|
6828
|
+
if (typeof s.bindTo === "string" && s.bindTo) {
|
|
6829
|
+
if (bindTos.has(s.bindTo)) {
|
|
6830
|
+
errors.push(`/sources/${i}/bindTo: bindTo "${s.bindTo}" must be unique across all sources`);
|
|
6831
|
+
}
|
|
6832
|
+
bindTos.add(s.bindTo);
|
|
6833
|
+
}
|
|
6834
|
+
if (typeof s.outputFile === "string" && s.outputFile) {
|
|
6835
|
+
if (outputFiles.has(s.outputFile)) {
|
|
6836
|
+
errors.push(`/sources/${i}/outputFile: outputFile "${s.outputFile}" must be unique across all sources`);
|
|
6837
|
+
}
|
|
6838
|
+
outputFiles.add(s.outputFile);
|
|
6839
|
+
}
|
|
6840
|
+
});
|
|
6841
|
+
}
|
|
6842
|
+
}
|
|
6843
|
+
if (!valid || errors.length > 0) return { ok: false, errors };
|
|
6844
|
+
return { ok: true, errors: [] };
|
|
6805
6845
|
}
|
|
6806
6846
|
function validateLiveCardRuntimeExpressions(node) {
|
|
6807
6847
|
const errors = [];
|
|
@@ -6971,13 +7011,29 @@ function validateNode(node) {
|
|
|
6971
7011
|
if (!Array.isArray(n.sources)) {
|
|
6972
7012
|
errors.push("sources: must be an array");
|
|
6973
7013
|
} else {
|
|
7014
|
+
const bindTos = /* @__PURE__ */ new Set();
|
|
7015
|
+
const outputFiles = /* @__PURE__ */ new Set();
|
|
6974
7016
|
n.sources.forEach((src, i) => {
|
|
6975
7017
|
if (!src || typeof src !== "object" || Array.isArray(src)) {
|
|
6976
7018
|
errors.push(`sources[${i}]: must be an object`);
|
|
6977
7019
|
} else {
|
|
6978
7020
|
const s = src;
|
|
6979
|
-
if (typeof s.bindTo !== "string" || !s.bindTo)
|
|
6980
|
-
|
|
7021
|
+
if (typeof s.bindTo !== "string" || !s.bindTo) {
|
|
7022
|
+
errors.push(`sources[${i}]: missing required "bindTo" property`);
|
|
7023
|
+
} else {
|
|
7024
|
+
if (bindTos.has(s.bindTo)) {
|
|
7025
|
+
errors.push(`sources[${i}]: bindTo "${s.bindTo}" is not unique across sources`);
|
|
7026
|
+
}
|
|
7027
|
+
bindTos.add(s.bindTo);
|
|
7028
|
+
}
|
|
7029
|
+
if (typeof s.outputFile !== "string" || !s.outputFile) {
|
|
7030
|
+
errors.push(`sources[${i}]: missing required "outputFile" property`);
|
|
7031
|
+
} else {
|
|
7032
|
+
if (outputFiles.has(s.outputFile)) {
|
|
7033
|
+
errors.push(`sources[${i}]: outputFile "${s.outputFile}" is not unique across sources`);
|
|
7034
|
+
}
|
|
7035
|
+
outputFiles.add(s.outputFile);
|
|
7036
|
+
}
|
|
6981
7037
|
if (s.optionalForCompletionGating != null && typeof s.optionalForCompletionGating !== "boolean") {
|
|
6982
7038
|
errors.push(`sources[${i}]: optionalForCompletionGating must be a boolean`);
|
|
6983
7039
|
}
|