@player-tools/devtools-basic-web-plugin 0.7.1-next.0 → 0.7.1-next.2
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/cjs/index.cjs +8 -8
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/index.legacy-esm.js +8 -8
- package/dist/index.mjs +8 -8
- package/dist/index.mjs.map +1 -1
- package/package.json +7 -6
- package/src/WrapperComponent.tsx +6 -7
- package/src/index.tsx +2 -2
- package/types/content/index.d.ts +2 -9
- package/types/content/schema/index.d.ts +4 -16
- package/types/content/views/index.d.ts +0 -1
- package/types/types.d.ts +0 -1
package/dist/cjs/index.cjs
CHANGED
|
@@ -33,15 +33,15 @@ __export(src_exports, {
|
|
|
33
33
|
BasicWevDevtoolsPlugin: () => BasicWevDevtoolsPlugin
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(src_exports);
|
|
36
|
-
var
|
|
36
|
+
var import_lodash2 = __toESM(require("lodash.set"));
|
|
37
37
|
var import_immer2 = require("immer");
|
|
38
38
|
var import_react2 = __toESM(require("react"));
|
|
39
39
|
|
|
40
40
|
// ../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/WrapperComponent.tsx
|
|
41
41
|
var import_devtools_desktop_plugins_common = require("@player-tools/devtools-desktop-plugins-common");
|
|
42
42
|
var import_dequal = require("dequal");
|
|
43
|
-
var import_merge = require("dset/merge");
|
|
44
43
|
var import_immer = require("immer");
|
|
44
|
+
var import_lodash = __toESM(require("lodash.set"));
|
|
45
45
|
var import_react = __toESM(require("react"));
|
|
46
46
|
|
|
47
47
|
// ../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/constants/index.ts
|
|
@@ -943,7 +943,7 @@ var WrapperComponent = ({
|
|
|
943
943
|
const result = expEvaluator(payload);
|
|
944
944
|
const newState = (0, import_immer.produce)(state, (draft) => {
|
|
945
945
|
const current = state?.plugins?.[id]?.flow?.data?.history || [];
|
|
946
|
-
(0,
|
|
946
|
+
(0, import_lodash.default)(
|
|
947
947
|
draft,
|
|
948
948
|
["plugins", id, "flow", "data", "history"],
|
|
949
949
|
[...current, result]
|
|
@@ -977,7 +977,7 @@ var WrapperComponent = ({
|
|
|
977
977
|
[dispatch, expressionEvaluator, id, state]
|
|
978
978
|
);
|
|
979
979
|
const pluginDataWithPlayerConfig = (0, import_immer.produce)(pluginData, (draft) => {
|
|
980
|
-
(0,
|
|
980
|
+
(0, import_lodash.default)(draft, ["flow", "data", "playerConfig"], playerConfig);
|
|
981
981
|
});
|
|
982
982
|
(0, import_react.useEffect)(() => {
|
|
983
983
|
const transaction = {
|
|
@@ -1004,7 +1004,7 @@ var WrapperComponent = ({
|
|
|
1004
1004
|
(0, import_react.useEffect)(() => {
|
|
1005
1005
|
if ((0, import_dequal.dequal)(state.plugins[id]?.flow?.data?.data, data)) return;
|
|
1006
1006
|
const newState = (0, import_immer.produce)(state, (draft) => {
|
|
1007
|
-
(0,
|
|
1007
|
+
(0, import_lodash.default)(draft, ["plugins", id, "flow", "data", "data"], data);
|
|
1008
1008
|
});
|
|
1009
1009
|
const transaction = genDataChangeTransaction({
|
|
1010
1010
|
playerID,
|
|
@@ -1016,7 +1016,7 @@ var WrapperComponent = ({
|
|
|
1016
1016
|
(0, import_react.useEffect)(() => {
|
|
1017
1017
|
if ((0, import_dequal.dequal)(state.plugins[id]?.flow?.data?.logs, logs)) return;
|
|
1018
1018
|
const newState = (0, import_immer.produce)(state, (draft) => {
|
|
1019
|
-
(0,
|
|
1019
|
+
(0, import_lodash.default)(draft, ["plugins", id, "flow", "data", "logs"], logs);
|
|
1020
1020
|
});
|
|
1021
1021
|
const transaction = genDataChangeTransaction({
|
|
1022
1022
|
playerID,
|
|
@@ -1028,7 +1028,7 @@ var WrapperComponent = ({
|
|
|
1028
1028
|
(0, import_react.useEffect)(() => {
|
|
1029
1029
|
if ((0, import_dequal.dequal)(state.plugins[id]?.flow?.data?.flow, flow)) return;
|
|
1030
1030
|
const newState = (0, import_immer.produce)(state, (draft) => {
|
|
1031
|
-
(0,
|
|
1031
|
+
(0, import_lodash.default)(draft, ["plugins", id, "flow", "data", "flow"], flow);
|
|
1032
1032
|
});
|
|
1033
1033
|
const transaction = genDataChangeTransaction({
|
|
1034
1034
|
playerID,
|
|
@@ -1067,7 +1067,7 @@ var BasicWevDevtoolsPlugin = class {
|
|
|
1067
1067
|
dataController.hooks.onUpdate.tap(this.name, (updates) => {
|
|
1068
1068
|
const newPlayerState = (0, import_immer2.produce)(this.data, (draft) => {
|
|
1069
1069
|
updates.forEach(({ binding, newValue }) => {
|
|
1070
|
-
(0,
|
|
1070
|
+
(0, import_lodash2.default)(draft, ["data", ...binding.asArray()], newValue);
|
|
1071
1071
|
});
|
|
1072
1072
|
});
|
|
1073
1073
|
this.data = newPlayerState;
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/index.tsx","../../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/WrapperComponent.tsx","../../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/constants/index.ts","../../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/helpers/getEvaluateExpression.ts","../../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/helpers/genDataChangeTransaction.ts","../../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/_generated/index.json"],"sourcesContent":["import type {\n DataController,\n ExpressionEvaluator,\n Flow,\n Player,\n ReactPlayer,\n ReactPlayerPlugin,\n ViewInstance,\n} from \"@player-ui/react\";\nimport { dset } from \"dset/merge\";\nimport { produce } from \"immer\";\nimport React from \"react\";\nimport { WrapperComponent } from \"./WrapperComponent\";\nimport { PLUGIN_ID, PLUGIN_INACTIVE_WARNING } from \"./constants\";\n\n/** Taps into the Player and ReactPlayer hooks and leverage the WrapperComponent to define and process the content. */\nexport class BasicWevDevtoolsPlugin implements ReactPlayerPlugin {\n name = PLUGIN_ID;\n\n data: Record<string, unknown> = {};\n\n playerConfig: Record<string, unknown> = {};\n\n logs: {\n severity: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n message: any;\n }[] = [];\n\n flow?: Flow;\n\n expressionEvaluator?: WeakRef<ExpressionEvaluator>;\n\n view?: WeakRef<ViewInstance>;\n\n dataController?: WeakRef<DataController>;\n\n overrideFlow?: ReactPlayer[\"start\"];\n\n checkIfDevtoolsIsActive() {\n return localStorage.getItem(\"player-ui-devtools-active\") === \"true\";\n }\n\n apply(player: Player) {\n if (!this.checkIfDevtoolsIsActive()) {\n console.log(PLUGIN_INACTIVE_WARNING);\n return;\n }\n\n // Config\n this.playerConfig = {\n version: player.getVersion(),\n plugins: player.getPlugins().map((plugin) => plugin.name),\n };\n\n // Data\n player.hooks.dataController.tap(this.name, (dataController) => {\n dataController.hooks.onUpdate.tap(this.name, (updates) => {\n const newPlayerState = produce(this.data, (draft) => {\n updates.forEach(({ binding, newValue }) => {\n dset(draft, [\"data\", ...binding.asArray()], newValue);\n });\n });\n this.data = newPlayerState;\n });\n });\n\n // Logs\n player.logger.hooks.log.tap(this.name, (severity, message) => {\n this.logs = [...this.logs, { severity, message }];\n });\n\n // Flow\n player.hooks.onStart.tap(this.name, (f) => {\n this.flow = f;\n });\n\n // View\n player.hooks.view.tap(this.name, (view) => {\n this.view = new WeakRef(view);\n });\n\n // Expression evaluator\n player.hooks.expressionEvaluator.tap(this.name, (evaluator) => {\n this.expressionEvaluator = new WeakRef(evaluator);\n });\n\n // Override flow\n this.overrideFlow = player.start.bind(player);\n }\n\n applyReact(reactPlayer: ReactPlayer) {\n if (!this.checkIfDevtoolsIsActive()) {\n return;\n }\n\n // eslint-disable-next-line react/display-name\n reactPlayer.hooks.webComponent.tap(this.name, (Comp) => () => {\n const Component = Comp as React.FC;\n\n return (\n <WrapperComponent\n playerConfig={this.playerConfig}\n data={this.data}\n logs={this.logs}\n flow={this.flow}\n view={this.view}\n overrideFlow={this.overrideFlow}\n expressionEvaluator={this.expressionEvaluator}\n >\n <Component />\n </WrapperComponent>\n );\n });\n }\n}\n","import { usePluginState } from \"@player-tools/devtools-desktop-plugins-common\";\nimport type {\n DevtoolsPluginInteractionEvent,\n PlayerInitEvent,\n PluginData,\n Transaction,\n} from \"@player-tools/devtools-types\";\nimport type { Flow } from \"@player-ui/react\";\nimport { dequal } from \"dequal\";\nimport { dset } from \"dset/merge\";\nimport { produce } from \"immer\";\nimport React, { useCallback, useEffect } from \"react\";\nimport { BASE_PLUGIN_DATA, INTERACTIONS } from \"./constants\";\nimport type { Evaluation, WrapperComponentProps } from \"./types\";\nimport { genDataChangeTransaction, getEvaluateExpression } from \"./helpers\";\nimport flow from \"../_generated/index.json\";\n\nconst pluginData: PluginData = {\n ...BASE_PLUGIN_DATA,\n flow: flow as Flow,\n};\n\n/** Defines the content to be rendered into the extension Player UI and process changes */\nexport const WrapperComponent = ({\n children,\n data,\n playerConfig,\n logs,\n flow,\n expressionEvaluator,\n overrideFlow,\n}: WrapperComponentProps): JSX.Element => {\n const [state, playerID, dispatch] = usePluginState();\n const lastProcessedInteraction = React.useRef(0);\n const expEvaluator = useCallback(getEvaluateExpression(expressionEvaluator), [\n expressionEvaluator,\n ]);\n\n const id = pluginData.id;\n\n const processInteraction = useCallback(\n (interaction: DevtoolsPluginInteractionEvent) => {\n const {\n payload: { type, payload },\n } = interaction;\n if (\n type === INTERACTIONS.EVALUATE_EXPRESSION &&\n expressionEvaluator &&\n payload\n ) {\n const result = expEvaluator(payload);\n\n const newState = produce(state, (draft) => {\n const current: Array<Evaluation> =\n (state?.plugins?.[id]?.flow?.data?.history as Array<Evaluation>) ||\n [];\n dset(\n draft,\n [\"plugins\", id, \"flow\", \"data\", \"history\"],\n [...current, result]\n );\n });\n\n dispatch({\n id: -1,\n type: \"PLAYER_DEVTOOLS_PLUGIN_DATA_CHANGE\",\n payload: {\n pluginID: id,\n data: newState.plugins[id].flow.data,\n },\n sender: playerID,\n context: \"player\",\n target: \"player\",\n timestamp: Date.now(),\n _messenger_: true,\n });\n\n lastProcessedInteraction.current += 1;\n }\n\n if (type === INTERACTIONS.OVERRIDE_FLOW && payload && overrideFlow) {\n let newFlow: Flow | undefined;\n\n try {\n newFlow = JSON.parse(payload);\n } catch (e) {\n console.error(\"Error parsing new flow\", e);\n }\n\n newFlow && overrideFlow(newFlow);\n }\n },\n [dispatch, expressionEvaluator, id, state]\n );\n\n // inject playerConfig into the plugin data\n const pluginDataWithPlayerConfig = produce(pluginData, (draft) => {\n dset(draft, [\"flow\", \"data\", \"playerConfig\"], playerConfig);\n });\n\n // Initial plugin content\n useEffect(() => {\n const transaction: Transaction<PlayerInitEvent> = {\n id: -1,\n type: \"PLAYER_DEVTOOLS_PLAYER_INIT\",\n payload: {\n plugins: {\n [id]: pluginDataWithPlayerConfig,\n },\n },\n sender: playerID,\n context: \"player\",\n target: \"player\",\n timestamp: Date.now(),\n _messenger_: true,\n };\n\n dispatch(transaction);\n }, []);\n\n // Process interactions\n useEffect(() => {\n if (lastProcessedInteraction.current < (state.interactions.length ?? 0)) {\n state.interactions\n .slice(lastProcessedInteraction.current)\n .forEach(processInteraction);\n }\n }, [state.interactions.length]);\n\n // Data changes\n useEffect(() => {\n if (dequal(state.plugins[id]?.flow?.data?.data, data)) return;\n\n const newState = produce(state, (draft) => {\n dset(draft, [\"plugins\", id, \"flow\", \"data\", \"data\"], data);\n });\n\n const transaction = genDataChangeTransaction({\n playerID,\n data: newState.plugins[id].flow.data,\n pluginID: id,\n });\n\n dispatch(transaction);\n }, [data]);\n\n // Logs changes\n useEffect(() => {\n if (dequal(state.plugins[id]?.flow?.data?.logs, logs)) return;\n\n const newState = produce(state, (draft) => {\n dset(draft, [\"plugins\", id, \"flow\", \"data\", \"logs\"], logs);\n });\n\n const transaction = genDataChangeTransaction({\n playerID,\n data: newState.plugins[id].flow.data,\n pluginID: id,\n });\n\n dispatch(transaction);\n }, [logs]);\n\n // Flow changes\n useEffect(() => {\n if (dequal(state.plugins[id]?.flow?.data?.flow, flow)) return;\n\n const newState = produce(state, (draft) => {\n dset(draft, [\"plugins\", id, \"flow\", \"data\", \"flow\"], flow);\n });\n\n const transaction = genDataChangeTransaction({\n playerID,\n data: newState.plugins[id].flow.data,\n pluginID: id,\n });\n\n dispatch(transaction);\n }, [flow]);\n\n return children as JSX.Element;\n};\n","import type { PluginData } from \"@player-tools/devtools-types\";\n\nexport const PLUGIN_ID = \"player-ui-basic-devtools-plugin\";\n\nexport const PLUGIN_NAME = \"Standard Devtools\";\n\nexport const PLUGIN_DESCRIPTION = \"Standard Player UI Devtools\";\n\nexport const PLUGIN_VERSION = \"0.0.1\";\n\nexport const VIEWS_IDS = {\n CONFIG: \"Config\",\n FLOW: \"Flow\",\n LOGS: \"Logs\",\n CONSOLE: \"Console\",\n EDITOR: \"Editor\",\n};\n\nexport const INTERACTIONS = {\n EVALUATE_EXPRESSION: \"evaluate-expression\",\n OVERRIDE_FLOW: \"override-flow\",\n};\n\nexport const BASE_PLUGIN_DATA: Omit<PluginData, \"flow\"> = {\n id: PLUGIN_ID,\n name: PLUGIN_NAME,\n description: PLUGIN_DESCRIPTION,\n version: PLUGIN_VERSION,\n};\n\nexport const PLUGIN_INACTIVE_WARNING =\n \"The plugin has been registered, but the Player development tools are not active. If you are working in a production environment, it is recommended to remove the plugin. Either way, you can activate the Player development tools by clicking on the extension popup and refreshing the page.\";\n","import { ExpressionEvaluator } from \"@player-ui/react\";\nimport { v4 as uuid } from \"uuid\";\nimport { Evaluation } from \"../types\";\n\n/**\n * Creates a function to evaluate expressions using an nullable Player-UI's ExpressionEvaluator.\n *\n * This function factory takes an nullable WeakRef to an ExpressionEvaluator and returns\n * a new function that can be used to evaluate expressions. If the ExpressionEvaluator is\n * not available, it returns an error Evaluation. Otherwise, it attempts to evaluate the\n * expression. If the evaluation is successful, it returns the result. If there's an error\n * during evaluation, it captures the error and returns it as part of the Evaluation object.\n */\nexport const getEvaluateExpression =\n (expressionEvaluator?: WeakRef<ExpressionEvaluator>) =>\n (expression: string): Evaluation => {\n if (!expressionEvaluator) {\n return {\n id: uuid(),\n severity: \"error\",\n result: \"Expression evaluator not available\",\n expression,\n };\n }\n\n let result: Evaluation = {\n id: uuid(),\n severity: \"error\",\n result: \"Something went wrong\",\n expression,\n };\n\n try {\n expressionEvaluator.deref()?.hooks.onError.intercept({\n call: (error: Error) => {\n throw error;\n },\n });\n\n const evaluatorResult = expressionEvaluator.deref()?.evaluate(expression);\n\n result = {\n id: uuid(),\n result: evaluatorResult,\n expression,\n };\n } catch (error) {\n if (error instanceof Error) {\n result = {\n id: uuid(),\n severity: \"error\",\n result: error.message,\n expression,\n };\n }\n }\n\n return result;\n };\n","import type {\n DevtoolsDataChangeEvent,\n Transaction,\n} from \"@player-tools/devtools-types\";\nimport type { Flow } from \"@player-ui/react\";\n\nconst NOOP_ID = -1;\n\n/**\n * Generates a data change transaction for the player devtools plugin.\n *\n * This function creates a transaction object that represents a change in data\n * within a player devtools plugin. The transaction includes details such as the\n * plugin ID, the changed data, and the player ID. It is used to communicate\n * changes between the plugin and devtools.\n */\nexport const genDataChangeTransaction = ({\n playerID,\n data,\n pluginID,\n}: {\n playerID: string;\n data: Flow[\"data\"];\n pluginID: string;\n}): Transaction<DevtoolsDataChangeEvent> => {\n return {\n id: NOOP_ID,\n type: \"PLAYER_DEVTOOLS_PLUGIN_DATA_CHANGE\",\n payload: {\n pluginID,\n data,\n },\n sender: playerID,\n context: \"player\",\n target: \"player\",\n timestamp: Date.now(),\n _messenger_: true,\n };\n};\n","{\n \"id\": \"player-ui-basic-devtools-plugin\",\n \"views\": [\n {\n \"id\": \"Config\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Config-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Config-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Config-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Config-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Config-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Config-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Config-main\",\n \"type\": \"object-inspector\",\n \"binding\": \"playerConfig\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-main-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n }\n },\n {\n \"id\": \"Flow\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Flow-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Flow-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Flow-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Flow-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Flow-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Flow-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Flow-main\",\n \"type\": \"object-inspector\",\n \"filter\": true,\n \"binding\": \"flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-main-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n \"footer\": {\n \"asset\": {\n \"id\": \"Flow-footer\",\n \"type\": \"copy-to-clipboard\",\n \"binding\": \"flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-footer-label\",\n \"type\": \"text\",\n \"value\": \"Copy flow to the clipboard\"\n }\n }\n }\n }\n },\n {\n \"id\": \"Logs\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Logs-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Logs-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Logs-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Logs-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Logs-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Logs-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Logs-main\",\n \"type\": \"table\",\n \"binding\": \"logs\"\n }\n }\n },\n {\n \"id\": \"Console\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Console-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Console-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Console-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Console-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Console-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Console-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Console-main\",\n \"type\": \"console\",\n \"exp\": \" publish('evaluate-expression', {{expression}}) \",\n \"binding\": \"history\"\n }\n }\n },\n {\n \"id\": \"Editor\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Editor-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Editor-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Editor-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Editor-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Editor-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Editor-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Editor-main\",\n \"type\": \"code-editor\",\n \"binding\": \"flow\",\n \"exp\": \" publish('override-flow', {{code}}) \"\n }\n }\n }\n ],\n \"navigation\": {\n \"BEGIN\": \"Plugin\",\n \"Plugin\": {\n \"startState\": \"CONFIG\",\n \"CONFIG\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Config\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n },\n \"FLOW\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Flow\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n },\n \"LOGS\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Logs\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n },\n \"CONSOLE\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Console\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n },\n \"EDITOR\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Editor\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n }\n }\n },\n \"schema\": {\n \"ROOT\": {\n \"playerConfig\": {\n \"type\": \"RecordType\"\n },\n \"flow\": {\n \"type\": \"RecordType\"\n },\n \"expression\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"code\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"history\": {\n \"type\": \"historyType\",\n \"isArray\": true\n },\n \"logs\": {\n \"type\": \"logsType\",\n \"isArray\": true\n }\n },\n \"logsType\": {\n \"id\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"time\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"type\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"message\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"severity\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"binding\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"from\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"to\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"state\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"error\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"outcome\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"metricType\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n }\n },\n \"historyType\": {\n \"id\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"expression\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"result\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"severity\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"data\": {\n \"expression\": \"\",\n \"flow\": {},\n \"history\": [],\n \"logs\": [],\n \"playerConfig\": {}\n }\n}"],"mappings":"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","names":["import_merge","import_immer","import_react","uuid","React","React"]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/index.tsx","../../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/WrapperComponent.tsx","../../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/constants/index.ts","../../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/helpers/getEvaluateExpression.ts","../../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/helpers/genDataChangeTransaction.ts","../../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/_generated/index.json"],"sourcesContent":["import type {\n DataController,\n ExpressionEvaluator,\n Flow,\n Player,\n ReactPlayer,\n ReactPlayerPlugin,\n ViewInstance,\n} from \"@player-ui/react\";\nimport set from \"lodash.set\";\nimport { produce } from \"immer\";\nimport React from \"react\";\nimport { WrapperComponent } from \"./WrapperComponent\";\nimport { PLUGIN_ID, PLUGIN_INACTIVE_WARNING } from \"./constants\";\n\n/** Taps into the Player and ReactPlayer hooks and leverage the WrapperComponent to define and process the content. */\nexport class BasicWevDevtoolsPlugin implements ReactPlayerPlugin {\n name = PLUGIN_ID;\n\n data: Record<string, unknown> = {};\n\n playerConfig: Record<string, unknown> = {};\n\n logs: {\n severity: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n message: any;\n }[] = [];\n\n flow?: Flow;\n\n expressionEvaluator?: WeakRef<ExpressionEvaluator>;\n\n view?: WeakRef<ViewInstance>;\n\n dataController?: WeakRef<DataController>;\n\n overrideFlow?: ReactPlayer[\"start\"];\n\n checkIfDevtoolsIsActive() {\n return localStorage.getItem(\"player-ui-devtools-active\") === \"true\";\n }\n\n apply(player: Player) {\n if (!this.checkIfDevtoolsIsActive()) {\n console.log(PLUGIN_INACTIVE_WARNING);\n return;\n }\n\n // Config\n this.playerConfig = {\n version: player.getVersion(),\n plugins: player.getPlugins().map((plugin) => plugin.name),\n };\n\n // Data\n player.hooks.dataController.tap(this.name, (dataController) => {\n dataController.hooks.onUpdate.tap(this.name, (updates) => {\n const newPlayerState = produce(this.data, (draft) => {\n updates.forEach(({ binding, newValue }) => {\n set(draft, [\"data\", ...binding.asArray()], newValue);\n });\n });\n this.data = newPlayerState;\n });\n });\n\n // Logs\n player.logger.hooks.log.tap(this.name, (severity, message) => {\n this.logs = [...this.logs, { severity, message }];\n });\n\n // Flow\n player.hooks.onStart.tap(this.name, (f) => {\n this.flow = f;\n });\n\n // View\n player.hooks.view.tap(this.name, (view) => {\n this.view = new WeakRef(view);\n });\n\n // Expression evaluator\n player.hooks.expressionEvaluator.tap(this.name, (evaluator) => {\n this.expressionEvaluator = new WeakRef(evaluator);\n });\n\n // Override flow\n this.overrideFlow = player.start.bind(player);\n }\n\n applyReact(reactPlayer: ReactPlayer) {\n if (!this.checkIfDevtoolsIsActive()) {\n return;\n }\n\n // eslint-disable-next-line react/display-name\n reactPlayer.hooks.webComponent.tap(this.name, (Comp) => () => {\n const Component = Comp as React.FC;\n\n return (\n <WrapperComponent\n playerConfig={this.playerConfig}\n data={this.data}\n logs={this.logs}\n flow={this.flow}\n view={this.view}\n overrideFlow={this.overrideFlow}\n expressionEvaluator={this.expressionEvaluator}\n >\n <Component />\n </WrapperComponent>\n );\n });\n }\n}\n","import { usePluginState } from \"@player-tools/devtools-desktop-plugins-common\";\nimport type {\n DevtoolsPluginInteractionEvent,\n PlayerInitEvent,\n PluginData,\n Transaction,\n} from \"@player-tools/devtools-types\";\nimport type { Flow } from \"@player-ui/react\";\nimport { dequal } from \"dequal\";\nimport { produce } from \"immer\";\nimport set from \"lodash.set\";\nimport React, { useCallback, useEffect } from \"react\";\nimport { BASE_PLUGIN_DATA, INTERACTIONS } from \"./constants\";\nimport type { Evaluation, WrapperComponentProps } from \"./types\";\nimport { genDataChangeTransaction, getEvaluateExpression } from \"./helpers\";\nimport flow from \"../_generated/index.json\";\n\nconst pluginData: PluginData = {\n ...BASE_PLUGIN_DATA,\n flow: flow as Flow,\n};\n\n/** Defines the content to be rendered into the extension Player UI and process changes */\nexport const WrapperComponent = ({\n children,\n data,\n playerConfig,\n logs,\n flow,\n expressionEvaluator,\n overrideFlow,\n}: WrapperComponentProps): JSX.Element => {\n const [state, playerID, dispatch] = usePluginState();\n const lastProcessedInteraction = React.useRef(0);\n const expEvaluator = useCallback(getEvaluateExpression(expressionEvaluator), [\n expressionEvaluator,\n ]);\n\n const id = pluginData.id;\n\n const processInteraction = useCallback(\n (interaction: DevtoolsPluginInteractionEvent) => {\n const {\n payload: { type, payload },\n } = interaction;\n if (\n type === INTERACTIONS.EVALUATE_EXPRESSION &&\n expressionEvaluator &&\n payload\n ) {\n const result = expEvaluator(payload);\n const newState = produce(state, (draft) => {\n const current: Array<Evaluation> =\n (state?.plugins?.[id]?.flow?.data?.history as Array<Evaluation>) ||\n [];\n set(\n draft,\n [\"plugins\", id, \"flow\", \"data\", \"history\"],\n [...current, result]\n );\n });\n\n dispatch({\n id: -1,\n type: \"PLAYER_DEVTOOLS_PLUGIN_DATA_CHANGE\",\n payload: {\n pluginID: id,\n data: newState.plugins[id].flow.data,\n },\n sender: playerID,\n context: \"player\",\n target: \"player\",\n timestamp: Date.now(),\n _messenger_: true,\n });\n\n lastProcessedInteraction.current += 1;\n }\n\n if (type === INTERACTIONS.OVERRIDE_FLOW && payload && overrideFlow) {\n let newFlow: Flow | undefined;\n\n try {\n newFlow = JSON.parse(payload);\n } catch (e) {\n console.error(\"Error parsing new flow\", e);\n }\n\n newFlow && overrideFlow(newFlow);\n }\n },\n [dispatch, expressionEvaluator, id, state]\n );\n\n // inject playerConfig into the plugin data\n const pluginDataWithPlayerConfig = produce(pluginData, (draft) => {\n set(draft, [\"flow\", \"data\", \"playerConfig\"], playerConfig);\n });\n\n // Initial plugin content\n useEffect(() => {\n const transaction: Transaction<PlayerInitEvent> = {\n id: -1,\n type: \"PLAYER_DEVTOOLS_PLAYER_INIT\",\n payload: {\n plugins: {\n [id]: pluginDataWithPlayerConfig,\n },\n },\n sender: playerID,\n context: \"player\",\n target: \"player\",\n timestamp: Date.now(),\n _messenger_: true,\n };\n\n dispatch(transaction);\n }, []);\n\n // Process interactions\n useEffect(() => {\n if (lastProcessedInteraction.current < (state.interactions.length ?? 0)) {\n state.interactions\n .slice(lastProcessedInteraction.current)\n .forEach(processInteraction);\n }\n }, [state.interactions.length]);\n\n // Data changes\n useEffect(() => {\n if (dequal(state.plugins[id]?.flow?.data?.data, data)) return;\n\n const newState = produce(state, (draft) => {\n set(draft, [\"plugins\", id, \"flow\", \"data\", \"data\"], data);\n });\n\n const transaction = genDataChangeTransaction({\n playerID,\n data: newState.plugins[id].flow.data,\n pluginID: id,\n });\n\n dispatch(transaction);\n }, [data]);\n\n // Logs changes\n useEffect(() => {\n if (dequal(state.plugins[id]?.flow?.data?.logs, logs)) return;\n\n const newState = produce(state, (draft) => {\n set(draft, [\"plugins\", id, \"flow\", \"data\", \"logs\"], logs);\n });\n\n const transaction = genDataChangeTransaction({\n playerID,\n data: newState.plugins[id].flow.data,\n pluginID: id,\n });\n\n dispatch(transaction);\n }, [logs]);\n\n // Flow changes\n useEffect(() => {\n if (dequal(state.plugins[id]?.flow?.data?.flow, flow)) return;\n\n const newState = produce(state, (draft) => {\n set(draft, [\"plugins\", id, \"flow\", \"data\", \"flow\"], flow);\n });\n\n const transaction = genDataChangeTransaction({\n playerID,\n data: newState.plugins[id].flow.data,\n pluginID: id,\n });\n\n dispatch(transaction);\n }, [flow]);\n\n return children as JSX.Element;\n};\n","import type { PluginData } from \"@player-tools/devtools-types\";\n\nexport const PLUGIN_ID = \"player-ui-basic-devtools-plugin\";\n\nexport const PLUGIN_NAME = \"Standard Devtools\";\n\nexport const PLUGIN_DESCRIPTION = \"Standard Player UI Devtools\";\n\nexport const PLUGIN_VERSION = \"0.0.1\";\n\nexport const VIEWS_IDS = {\n CONFIG: \"Config\",\n FLOW: \"Flow\",\n LOGS: \"Logs\",\n CONSOLE: \"Console\",\n EDITOR: \"Editor\",\n};\n\nexport const INTERACTIONS = {\n EVALUATE_EXPRESSION: \"evaluate-expression\",\n OVERRIDE_FLOW: \"override-flow\",\n};\n\nexport const BASE_PLUGIN_DATA: Omit<PluginData, \"flow\"> = {\n id: PLUGIN_ID,\n name: PLUGIN_NAME,\n description: PLUGIN_DESCRIPTION,\n version: PLUGIN_VERSION,\n};\n\nexport const PLUGIN_INACTIVE_WARNING =\n \"The plugin has been registered, but the Player development tools are not active. If you are working in a production environment, it is recommended to remove the plugin. Either way, you can activate the Player development tools by clicking on the extension popup and refreshing the page.\";\n","import { ExpressionEvaluator } from \"@player-ui/react\";\nimport { v4 as uuid } from \"uuid\";\nimport { Evaluation } from \"../types\";\n\n/**\n * Creates a function to evaluate expressions using an nullable Player-UI's ExpressionEvaluator.\n *\n * This function factory takes an nullable WeakRef to an ExpressionEvaluator and returns\n * a new function that can be used to evaluate expressions. If the ExpressionEvaluator is\n * not available, it returns an error Evaluation. Otherwise, it attempts to evaluate the\n * expression. If the evaluation is successful, it returns the result. If there's an error\n * during evaluation, it captures the error and returns it as part of the Evaluation object.\n */\nexport const getEvaluateExpression =\n (expressionEvaluator?: WeakRef<ExpressionEvaluator>) =>\n (expression: string): Evaluation => {\n if (!expressionEvaluator) {\n return {\n id: uuid(),\n severity: \"error\",\n result: \"Expression evaluator not available\",\n expression,\n };\n }\n\n let result: Evaluation = {\n id: uuid(),\n severity: \"error\",\n result: \"Something went wrong\",\n expression,\n };\n\n try {\n expressionEvaluator.deref()?.hooks.onError.intercept({\n call: (error: Error) => {\n throw error;\n },\n });\n\n const evaluatorResult = expressionEvaluator.deref()?.evaluate(expression);\n\n result = {\n id: uuid(),\n result: evaluatorResult,\n expression,\n };\n } catch (error) {\n if (error instanceof Error) {\n result = {\n id: uuid(),\n severity: \"error\",\n result: error.message,\n expression,\n };\n }\n }\n\n return result;\n };\n","import type {\n DevtoolsDataChangeEvent,\n Transaction,\n} from \"@player-tools/devtools-types\";\nimport type { Flow } from \"@player-ui/react\";\n\nconst NOOP_ID = -1;\n\n/**\n * Generates a data change transaction for the player devtools plugin.\n *\n * This function creates a transaction object that represents a change in data\n * within a player devtools plugin. The transaction includes details such as the\n * plugin ID, the changed data, and the player ID. It is used to communicate\n * changes between the plugin and devtools.\n */\nexport const genDataChangeTransaction = ({\n playerID,\n data,\n pluginID,\n}: {\n playerID: string;\n data: Flow[\"data\"];\n pluginID: string;\n}): Transaction<DevtoolsDataChangeEvent> => {\n return {\n id: NOOP_ID,\n type: \"PLAYER_DEVTOOLS_PLUGIN_DATA_CHANGE\",\n payload: {\n pluginID,\n data,\n },\n sender: playerID,\n context: \"player\",\n target: \"player\",\n timestamp: Date.now(),\n _messenger_: true,\n };\n};\n","{\n \"id\": \"player-ui-basic-devtools-plugin\",\n \"views\": [\n {\n \"id\": \"Config\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Config-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Config-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Config-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Config-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Config-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Config-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Config-main\",\n \"type\": \"object-inspector\",\n \"binding\": \"playerConfig\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-main-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n }\n },\n {\n \"id\": \"Flow\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Flow-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Flow-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Flow-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Flow-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Flow-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Flow-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Flow-main\",\n \"type\": \"object-inspector\",\n \"filter\": true,\n \"binding\": \"flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-main-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n \"footer\": {\n \"asset\": {\n \"id\": \"Flow-footer\",\n \"type\": \"copy-to-clipboard\",\n \"binding\": \"flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-footer-label\",\n \"type\": \"text\",\n \"value\": \"Copy flow to the clipboard\"\n }\n }\n }\n }\n },\n {\n \"id\": \"Logs\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Logs-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Logs-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Logs-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Logs-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Logs-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Logs-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Logs-main\",\n \"type\": \"table\",\n \"binding\": \"logs\"\n }\n }\n },\n {\n \"id\": \"Console\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Console-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Console-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Console-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Console-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Console-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Console-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Console-main\",\n \"type\": \"console\",\n \"exp\": \" publish('evaluate-expression', {{expression}}) \",\n \"binding\": \"history\"\n }\n }\n },\n {\n \"id\": \"Editor\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Editor-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Editor-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Editor-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Editor-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Editor-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Editor-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Editor-main\",\n \"type\": \"code-editor\",\n \"binding\": \"flow\",\n \"exp\": \" publish('override-flow', {{code}}) \"\n }\n }\n }\n ],\n \"navigation\": {\n \"BEGIN\": \"Plugin\",\n \"Plugin\": {\n \"startState\": \"CONFIG\",\n \"CONFIG\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Config\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n },\n \"FLOW\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Flow\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n },\n \"LOGS\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Logs\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n },\n \"CONSOLE\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Console\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n },\n \"EDITOR\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Editor\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n }\n }\n },\n \"schema\": {\n \"ROOT\": {\n \"playerConfig\": {\n \"type\": \"RecordType\"\n },\n \"flow\": {\n \"type\": \"RecordType\"\n },\n \"expression\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"code\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"history\": {\n \"type\": \"historyType\",\n \"isArray\": true\n },\n \"logs\": {\n \"type\": \"logsType\",\n \"isArray\": true\n }\n },\n \"logsType\": {\n \"id\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"time\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"type\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"message\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"severity\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"binding\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"from\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"to\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"state\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"error\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"outcome\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"metricType\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n }\n },\n \"historyType\": {\n \"id\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"expression\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"result\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"severity\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"data\": {\n \"expression\": \"\",\n \"flow\": {},\n \"history\": [],\n \"logs\": [],\n \"playerConfig\": {}\n }\n}"],"mappings":"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","names":["import_lodash","import_immer","import_react","uuid","React","set","set","React"]}
|
package/dist/index.legacy-esm.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// ../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/index.tsx
|
|
2
|
-
import
|
|
2
|
+
import set2 from "lodash.set";
|
|
3
3
|
import { produce as produce2 } from "immer";
|
|
4
4
|
import React2 from "react";
|
|
5
5
|
|
|
6
6
|
// ../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/WrapperComponent.tsx
|
|
7
7
|
import { usePluginState } from "@player-tools/devtools-desktop-plugins-common";
|
|
8
8
|
import { dequal } from "dequal";
|
|
9
|
-
import { dset } from "dset/merge";
|
|
10
9
|
import { produce } from "immer";
|
|
10
|
+
import set from "lodash.set";
|
|
11
11
|
import React, { useCallback, useEffect } from "react";
|
|
12
12
|
|
|
13
13
|
// ../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/constants/index.ts
|
|
@@ -909,7 +909,7 @@ var WrapperComponent = ({
|
|
|
909
909
|
const result = expEvaluator(payload);
|
|
910
910
|
const newState = produce(state, (draft) => {
|
|
911
911
|
const current = state?.plugins?.[id]?.flow?.data?.history || [];
|
|
912
|
-
|
|
912
|
+
set(
|
|
913
913
|
draft,
|
|
914
914
|
["plugins", id, "flow", "data", "history"],
|
|
915
915
|
[...current, result]
|
|
@@ -943,7 +943,7 @@ var WrapperComponent = ({
|
|
|
943
943
|
[dispatch, expressionEvaluator, id, state]
|
|
944
944
|
);
|
|
945
945
|
const pluginDataWithPlayerConfig = produce(pluginData, (draft) => {
|
|
946
|
-
|
|
946
|
+
set(draft, ["flow", "data", "playerConfig"], playerConfig);
|
|
947
947
|
});
|
|
948
948
|
useEffect(() => {
|
|
949
949
|
const transaction = {
|
|
@@ -970,7 +970,7 @@ var WrapperComponent = ({
|
|
|
970
970
|
useEffect(() => {
|
|
971
971
|
if (dequal(state.plugins[id]?.flow?.data?.data, data)) return;
|
|
972
972
|
const newState = produce(state, (draft) => {
|
|
973
|
-
|
|
973
|
+
set(draft, ["plugins", id, "flow", "data", "data"], data);
|
|
974
974
|
});
|
|
975
975
|
const transaction = genDataChangeTransaction({
|
|
976
976
|
playerID,
|
|
@@ -982,7 +982,7 @@ var WrapperComponent = ({
|
|
|
982
982
|
useEffect(() => {
|
|
983
983
|
if (dequal(state.plugins[id]?.flow?.data?.logs, logs)) return;
|
|
984
984
|
const newState = produce(state, (draft) => {
|
|
985
|
-
|
|
985
|
+
set(draft, ["plugins", id, "flow", "data", "logs"], logs);
|
|
986
986
|
});
|
|
987
987
|
const transaction = genDataChangeTransaction({
|
|
988
988
|
playerID,
|
|
@@ -994,7 +994,7 @@ var WrapperComponent = ({
|
|
|
994
994
|
useEffect(() => {
|
|
995
995
|
if (dequal(state.plugins[id]?.flow?.data?.flow, flow)) return;
|
|
996
996
|
const newState = produce(state, (draft) => {
|
|
997
|
-
|
|
997
|
+
set(draft, ["plugins", id, "flow", "data", "flow"], flow);
|
|
998
998
|
});
|
|
999
999
|
const transaction = genDataChangeTransaction({
|
|
1000
1000
|
playerID,
|
|
@@ -1033,7 +1033,7 @@ var BasicWevDevtoolsPlugin = class {
|
|
|
1033
1033
|
dataController.hooks.onUpdate.tap(this.name, (updates) => {
|
|
1034
1034
|
const newPlayerState = produce2(this.data, (draft) => {
|
|
1035
1035
|
updates.forEach(({ binding, newValue }) => {
|
|
1036
|
-
|
|
1036
|
+
set2(draft, ["data", ...binding.asArray()], newValue);
|
|
1037
1037
|
});
|
|
1038
1038
|
});
|
|
1039
1039
|
this.data = newPlayerState;
|
package/dist/index.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// ../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/index.tsx
|
|
2
|
-
import
|
|
2
|
+
import set2 from "lodash.set";
|
|
3
3
|
import { produce as produce2 } from "immer";
|
|
4
4
|
import React2 from "react";
|
|
5
5
|
|
|
6
6
|
// ../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/WrapperComponent.tsx
|
|
7
7
|
import { usePluginState } from "@player-tools/devtools-desktop-plugins-common";
|
|
8
8
|
import { dequal } from "dequal";
|
|
9
|
-
import { dset } from "dset/merge";
|
|
10
9
|
import { produce } from "immer";
|
|
10
|
+
import set from "lodash.set";
|
|
11
11
|
import React, { useCallback, useEffect } from "react";
|
|
12
12
|
|
|
13
13
|
// ../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/constants/index.ts
|
|
@@ -909,7 +909,7 @@ var WrapperComponent = ({
|
|
|
909
909
|
const result = expEvaluator(payload);
|
|
910
910
|
const newState = produce(state, (draft) => {
|
|
911
911
|
const current = state?.plugins?.[id]?.flow?.data?.history || [];
|
|
912
|
-
|
|
912
|
+
set(
|
|
913
913
|
draft,
|
|
914
914
|
["plugins", id, "flow", "data", "history"],
|
|
915
915
|
[...current, result]
|
|
@@ -943,7 +943,7 @@ var WrapperComponent = ({
|
|
|
943
943
|
[dispatch, expressionEvaluator, id, state]
|
|
944
944
|
);
|
|
945
945
|
const pluginDataWithPlayerConfig = produce(pluginData, (draft) => {
|
|
946
|
-
|
|
946
|
+
set(draft, ["flow", "data", "playerConfig"], playerConfig);
|
|
947
947
|
});
|
|
948
948
|
useEffect(() => {
|
|
949
949
|
const transaction = {
|
|
@@ -970,7 +970,7 @@ var WrapperComponent = ({
|
|
|
970
970
|
useEffect(() => {
|
|
971
971
|
if (dequal(state.plugins[id]?.flow?.data?.data, data)) return;
|
|
972
972
|
const newState = produce(state, (draft) => {
|
|
973
|
-
|
|
973
|
+
set(draft, ["plugins", id, "flow", "data", "data"], data);
|
|
974
974
|
});
|
|
975
975
|
const transaction = genDataChangeTransaction({
|
|
976
976
|
playerID,
|
|
@@ -982,7 +982,7 @@ var WrapperComponent = ({
|
|
|
982
982
|
useEffect(() => {
|
|
983
983
|
if (dequal(state.plugins[id]?.flow?.data?.logs, logs)) return;
|
|
984
984
|
const newState = produce(state, (draft) => {
|
|
985
|
-
|
|
985
|
+
set(draft, ["plugins", id, "flow", "data", "logs"], logs);
|
|
986
986
|
});
|
|
987
987
|
const transaction = genDataChangeTransaction({
|
|
988
988
|
playerID,
|
|
@@ -994,7 +994,7 @@ var WrapperComponent = ({
|
|
|
994
994
|
useEffect(() => {
|
|
995
995
|
if (dequal(state.plugins[id]?.flow?.data?.flow, flow)) return;
|
|
996
996
|
const newState = produce(state, (draft) => {
|
|
997
|
-
|
|
997
|
+
set(draft, ["plugins", id, "flow", "data", "flow"], flow);
|
|
998
998
|
});
|
|
999
999
|
const transaction = genDataChangeTransaction({
|
|
1000
1000
|
playerID,
|
|
@@ -1033,7 +1033,7 @@ var BasicWevDevtoolsPlugin = class {
|
|
|
1033
1033
|
dataController.hooks.onUpdate.tap(this.name, (updates) => {
|
|
1034
1034
|
const newPlayerState = produce2(this.data, (draft) => {
|
|
1035
1035
|
updates.forEach(({ binding, newValue }) => {
|
|
1036
|
-
|
|
1036
|
+
set2(draft, ["data", ...binding.asArray()], newValue);
|
|
1037
1037
|
});
|
|
1038
1038
|
});
|
|
1039
1039
|
this.data = newPlayerState;
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/index.tsx","../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/WrapperComponent.tsx","../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/constants/index.ts","../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/helpers/getEvaluateExpression.ts","../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/helpers/genDataChangeTransaction.ts","../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/_generated/index.json"],"sourcesContent":["import type {\n DataController,\n ExpressionEvaluator,\n Flow,\n Player,\n ReactPlayer,\n ReactPlayerPlugin,\n ViewInstance,\n} from \"@player-ui/react\";\nimport { dset } from \"dset/merge\";\nimport { produce } from \"immer\";\nimport React from \"react\";\nimport { WrapperComponent } from \"./WrapperComponent\";\nimport { PLUGIN_ID, PLUGIN_INACTIVE_WARNING } from \"./constants\";\n\n/** Taps into the Player and ReactPlayer hooks and leverage the WrapperComponent to define and process the content. */\nexport class BasicWevDevtoolsPlugin implements ReactPlayerPlugin {\n name = PLUGIN_ID;\n\n data: Record<string, unknown> = {};\n\n playerConfig: Record<string, unknown> = {};\n\n logs: {\n severity: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n message: any;\n }[] = [];\n\n flow?: Flow;\n\n expressionEvaluator?: WeakRef<ExpressionEvaluator>;\n\n view?: WeakRef<ViewInstance>;\n\n dataController?: WeakRef<DataController>;\n\n overrideFlow?: ReactPlayer[\"start\"];\n\n checkIfDevtoolsIsActive() {\n return localStorage.getItem(\"player-ui-devtools-active\") === \"true\";\n }\n\n apply(player: Player) {\n if (!this.checkIfDevtoolsIsActive()) {\n console.log(PLUGIN_INACTIVE_WARNING);\n return;\n }\n\n // Config\n this.playerConfig = {\n version: player.getVersion(),\n plugins: player.getPlugins().map((plugin) => plugin.name),\n };\n\n // Data\n player.hooks.dataController.tap(this.name, (dataController) => {\n dataController.hooks.onUpdate.tap(this.name, (updates) => {\n const newPlayerState = produce(this.data, (draft) => {\n updates.forEach(({ binding, newValue }) => {\n dset(draft, [\"data\", ...binding.asArray()], newValue);\n });\n });\n this.data = newPlayerState;\n });\n });\n\n // Logs\n player.logger.hooks.log.tap(this.name, (severity, message) => {\n this.logs = [...this.logs, { severity, message }];\n });\n\n // Flow\n player.hooks.onStart.tap(this.name, (f) => {\n this.flow = f;\n });\n\n // View\n player.hooks.view.tap(this.name, (view) => {\n this.view = new WeakRef(view);\n });\n\n // Expression evaluator\n player.hooks.expressionEvaluator.tap(this.name, (evaluator) => {\n this.expressionEvaluator = new WeakRef(evaluator);\n });\n\n // Override flow\n this.overrideFlow = player.start.bind(player);\n }\n\n applyReact(reactPlayer: ReactPlayer) {\n if (!this.checkIfDevtoolsIsActive()) {\n return;\n }\n\n // eslint-disable-next-line react/display-name\n reactPlayer.hooks.webComponent.tap(this.name, (Comp) => () => {\n const Component = Comp as React.FC;\n\n return (\n <WrapperComponent\n playerConfig={this.playerConfig}\n data={this.data}\n logs={this.logs}\n flow={this.flow}\n view={this.view}\n overrideFlow={this.overrideFlow}\n expressionEvaluator={this.expressionEvaluator}\n >\n <Component />\n </WrapperComponent>\n );\n });\n }\n}\n","import { usePluginState } from \"@player-tools/devtools-desktop-plugins-common\";\nimport type {\n DevtoolsPluginInteractionEvent,\n PlayerInitEvent,\n PluginData,\n Transaction,\n} from \"@player-tools/devtools-types\";\nimport type { Flow } from \"@player-ui/react\";\nimport { dequal } from \"dequal\";\nimport { dset } from \"dset/merge\";\nimport { produce } from \"immer\";\nimport React, { useCallback, useEffect } from \"react\";\nimport { BASE_PLUGIN_DATA, INTERACTIONS } from \"./constants\";\nimport type { Evaluation, WrapperComponentProps } from \"./types\";\nimport { genDataChangeTransaction, getEvaluateExpression } from \"./helpers\";\nimport flow from \"../_generated/index.json\";\n\nconst pluginData: PluginData = {\n ...BASE_PLUGIN_DATA,\n flow: flow as Flow,\n};\n\n/** Defines the content to be rendered into the extension Player UI and process changes */\nexport const WrapperComponent = ({\n children,\n data,\n playerConfig,\n logs,\n flow,\n expressionEvaluator,\n overrideFlow,\n}: WrapperComponentProps): JSX.Element => {\n const [state, playerID, dispatch] = usePluginState();\n const lastProcessedInteraction = React.useRef(0);\n const expEvaluator = useCallback(getEvaluateExpression(expressionEvaluator), [\n expressionEvaluator,\n ]);\n\n const id = pluginData.id;\n\n const processInteraction = useCallback(\n (interaction: DevtoolsPluginInteractionEvent) => {\n const {\n payload: { type, payload },\n } = interaction;\n if (\n type === INTERACTIONS.EVALUATE_EXPRESSION &&\n expressionEvaluator &&\n payload\n ) {\n const result = expEvaluator(payload);\n\n const newState = produce(state, (draft) => {\n const current: Array<Evaluation> =\n (state?.plugins?.[id]?.flow?.data?.history as Array<Evaluation>) ||\n [];\n dset(\n draft,\n [\"plugins\", id, \"flow\", \"data\", \"history\"],\n [...current, result]\n );\n });\n\n dispatch({\n id: -1,\n type: \"PLAYER_DEVTOOLS_PLUGIN_DATA_CHANGE\",\n payload: {\n pluginID: id,\n data: newState.plugins[id].flow.data,\n },\n sender: playerID,\n context: \"player\",\n target: \"player\",\n timestamp: Date.now(),\n _messenger_: true,\n });\n\n lastProcessedInteraction.current += 1;\n }\n\n if (type === INTERACTIONS.OVERRIDE_FLOW && payload && overrideFlow) {\n let newFlow: Flow | undefined;\n\n try {\n newFlow = JSON.parse(payload);\n } catch (e) {\n console.error(\"Error parsing new flow\", e);\n }\n\n newFlow && overrideFlow(newFlow);\n }\n },\n [dispatch, expressionEvaluator, id, state]\n );\n\n // inject playerConfig into the plugin data\n const pluginDataWithPlayerConfig = produce(pluginData, (draft) => {\n dset(draft, [\"flow\", \"data\", \"playerConfig\"], playerConfig);\n });\n\n // Initial plugin content\n useEffect(() => {\n const transaction: Transaction<PlayerInitEvent> = {\n id: -1,\n type: \"PLAYER_DEVTOOLS_PLAYER_INIT\",\n payload: {\n plugins: {\n [id]: pluginDataWithPlayerConfig,\n },\n },\n sender: playerID,\n context: \"player\",\n target: \"player\",\n timestamp: Date.now(),\n _messenger_: true,\n };\n\n dispatch(transaction);\n }, []);\n\n // Process interactions\n useEffect(() => {\n if (lastProcessedInteraction.current < (state.interactions.length ?? 0)) {\n state.interactions\n .slice(lastProcessedInteraction.current)\n .forEach(processInteraction);\n }\n }, [state.interactions.length]);\n\n // Data changes\n useEffect(() => {\n if (dequal(state.plugins[id]?.flow?.data?.data, data)) return;\n\n const newState = produce(state, (draft) => {\n dset(draft, [\"plugins\", id, \"flow\", \"data\", \"data\"], data);\n });\n\n const transaction = genDataChangeTransaction({\n playerID,\n data: newState.plugins[id].flow.data,\n pluginID: id,\n });\n\n dispatch(transaction);\n }, [data]);\n\n // Logs changes\n useEffect(() => {\n if (dequal(state.plugins[id]?.flow?.data?.logs, logs)) return;\n\n const newState = produce(state, (draft) => {\n dset(draft, [\"plugins\", id, \"flow\", \"data\", \"logs\"], logs);\n });\n\n const transaction = genDataChangeTransaction({\n playerID,\n data: newState.plugins[id].flow.data,\n pluginID: id,\n });\n\n dispatch(transaction);\n }, [logs]);\n\n // Flow changes\n useEffect(() => {\n if (dequal(state.plugins[id]?.flow?.data?.flow, flow)) return;\n\n const newState = produce(state, (draft) => {\n dset(draft, [\"plugins\", id, \"flow\", \"data\", \"flow\"], flow);\n });\n\n const transaction = genDataChangeTransaction({\n playerID,\n data: newState.plugins[id].flow.data,\n pluginID: id,\n });\n\n dispatch(transaction);\n }, [flow]);\n\n return children as JSX.Element;\n};\n","import type { PluginData } from \"@player-tools/devtools-types\";\n\nexport const PLUGIN_ID = \"player-ui-basic-devtools-plugin\";\n\nexport const PLUGIN_NAME = \"Standard Devtools\";\n\nexport const PLUGIN_DESCRIPTION = \"Standard Player UI Devtools\";\n\nexport const PLUGIN_VERSION = \"0.0.1\";\n\nexport const VIEWS_IDS = {\n CONFIG: \"Config\",\n FLOW: \"Flow\",\n LOGS: \"Logs\",\n CONSOLE: \"Console\",\n EDITOR: \"Editor\",\n};\n\nexport const INTERACTIONS = {\n EVALUATE_EXPRESSION: \"evaluate-expression\",\n OVERRIDE_FLOW: \"override-flow\",\n};\n\nexport const BASE_PLUGIN_DATA: Omit<PluginData, \"flow\"> = {\n id: PLUGIN_ID,\n name: PLUGIN_NAME,\n description: PLUGIN_DESCRIPTION,\n version: PLUGIN_VERSION,\n};\n\nexport const PLUGIN_INACTIVE_WARNING =\n \"The plugin has been registered, but the Player development tools are not active. If you are working in a production environment, it is recommended to remove the plugin. Either way, you can activate the Player development tools by clicking on the extension popup and refreshing the page.\";\n","import { ExpressionEvaluator } from \"@player-ui/react\";\nimport { v4 as uuid } from \"uuid\";\nimport { Evaluation } from \"../types\";\n\n/**\n * Creates a function to evaluate expressions using an nullable Player-UI's ExpressionEvaluator.\n *\n * This function factory takes an nullable WeakRef to an ExpressionEvaluator and returns\n * a new function that can be used to evaluate expressions. If the ExpressionEvaluator is\n * not available, it returns an error Evaluation. Otherwise, it attempts to evaluate the\n * expression. If the evaluation is successful, it returns the result. If there's an error\n * during evaluation, it captures the error and returns it as part of the Evaluation object.\n */\nexport const getEvaluateExpression =\n (expressionEvaluator?: WeakRef<ExpressionEvaluator>) =>\n (expression: string): Evaluation => {\n if (!expressionEvaluator) {\n return {\n id: uuid(),\n severity: \"error\",\n result: \"Expression evaluator not available\",\n expression,\n };\n }\n\n let result: Evaluation = {\n id: uuid(),\n severity: \"error\",\n result: \"Something went wrong\",\n expression,\n };\n\n try {\n expressionEvaluator.deref()?.hooks.onError.intercept({\n call: (error: Error) => {\n throw error;\n },\n });\n\n const evaluatorResult = expressionEvaluator.deref()?.evaluate(expression);\n\n result = {\n id: uuid(),\n result: evaluatorResult,\n expression,\n };\n } catch (error) {\n if (error instanceof Error) {\n result = {\n id: uuid(),\n severity: \"error\",\n result: error.message,\n expression,\n };\n }\n }\n\n return result;\n };\n","import type {\n DevtoolsDataChangeEvent,\n Transaction,\n} from \"@player-tools/devtools-types\";\nimport type { Flow } from \"@player-ui/react\";\n\nconst NOOP_ID = -1;\n\n/**\n * Generates a data change transaction for the player devtools plugin.\n *\n * This function creates a transaction object that represents a change in data\n * within a player devtools plugin. The transaction includes details such as the\n * plugin ID, the changed data, and the player ID. It is used to communicate\n * changes between the plugin and devtools.\n */\nexport const genDataChangeTransaction = ({\n playerID,\n data,\n pluginID,\n}: {\n playerID: string;\n data: Flow[\"data\"];\n pluginID: string;\n}): Transaction<DevtoolsDataChangeEvent> => {\n return {\n id: NOOP_ID,\n type: \"PLAYER_DEVTOOLS_PLUGIN_DATA_CHANGE\",\n payload: {\n pluginID,\n data,\n },\n sender: playerID,\n context: \"player\",\n target: \"player\",\n timestamp: Date.now(),\n _messenger_: true,\n };\n};\n","{\n \"id\": \"player-ui-basic-devtools-plugin\",\n \"views\": [\n {\n \"id\": \"Config\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Config-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Config-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Config-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Config-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Config-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Config-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Config-main\",\n \"type\": \"object-inspector\",\n \"binding\": \"playerConfig\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-main-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n }\n },\n {\n \"id\": \"Flow\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Flow-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Flow-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Flow-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Flow-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Flow-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Flow-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Flow-main\",\n \"type\": \"object-inspector\",\n \"filter\": true,\n \"binding\": \"flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-main-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n \"footer\": {\n \"asset\": {\n \"id\": \"Flow-footer\",\n \"type\": \"copy-to-clipboard\",\n \"binding\": \"flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-footer-label\",\n \"type\": \"text\",\n \"value\": \"Copy flow to the clipboard\"\n }\n }\n }\n }\n },\n {\n \"id\": \"Logs\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Logs-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Logs-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Logs-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Logs-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Logs-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Logs-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Logs-main\",\n \"type\": \"table\",\n \"binding\": \"logs\"\n }\n }\n },\n {\n \"id\": \"Console\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Console-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Console-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Console-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Console-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Console-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Console-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Console-main\",\n \"type\": \"console\",\n \"exp\": \" publish('evaluate-expression', {{expression}}) \",\n \"binding\": \"history\"\n }\n }\n },\n {\n \"id\": \"Editor\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Editor-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Editor-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Editor-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Editor-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Editor-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Editor-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Editor-main\",\n \"type\": \"code-editor\",\n \"binding\": \"flow\",\n \"exp\": \" publish('override-flow', {{code}}) \"\n }\n }\n }\n ],\n \"navigation\": {\n \"BEGIN\": \"Plugin\",\n \"Plugin\": {\n \"startState\": \"CONFIG\",\n \"CONFIG\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Config\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n },\n \"FLOW\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Flow\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n },\n \"LOGS\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Logs\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n },\n \"CONSOLE\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Console\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n },\n \"EDITOR\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Editor\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n }\n }\n },\n \"schema\": {\n \"ROOT\": {\n \"playerConfig\": {\n \"type\": \"RecordType\"\n },\n \"flow\": {\n \"type\": \"RecordType\"\n },\n \"expression\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"code\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"history\": {\n \"type\": \"historyType\",\n \"isArray\": true\n },\n \"logs\": {\n \"type\": \"logsType\",\n \"isArray\": true\n }\n },\n \"logsType\": {\n \"id\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"time\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"type\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"message\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"severity\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"binding\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"from\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"to\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"state\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"error\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"outcome\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"metricType\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n }\n },\n \"historyType\": {\n \"id\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"expression\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"result\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"severity\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"data\": {\n \"expression\": \"\",\n \"flow\": {},\n \"history\": [],\n \"logs\": [],\n \"playerConfig\": {}\n }\n}"],"mappings":"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","names":["dset","produce","React","produce","dset","React"]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/index.tsx","../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/WrapperComponent.tsx","../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/constants/index.ts","../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/helpers/getEvaluateExpression.ts","../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/src/helpers/genDataChangeTransaction.ts","../../../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/devtools/plugins/desktop/basic/_generated/index.json"],"sourcesContent":["import type {\n DataController,\n ExpressionEvaluator,\n Flow,\n Player,\n ReactPlayer,\n ReactPlayerPlugin,\n ViewInstance,\n} from \"@player-ui/react\";\nimport set from \"lodash.set\";\nimport { produce } from \"immer\";\nimport React from \"react\";\nimport { WrapperComponent } from \"./WrapperComponent\";\nimport { PLUGIN_ID, PLUGIN_INACTIVE_WARNING } from \"./constants\";\n\n/** Taps into the Player and ReactPlayer hooks and leverage the WrapperComponent to define and process the content. */\nexport class BasicWevDevtoolsPlugin implements ReactPlayerPlugin {\n name = PLUGIN_ID;\n\n data: Record<string, unknown> = {};\n\n playerConfig: Record<string, unknown> = {};\n\n logs: {\n severity: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n message: any;\n }[] = [];\n\n flow?: Flow;\n\n expressionEvaluator?: WeakRef<ExpressionEvaluator>;\n\n view?: WeakRef<ViewInstance>;\n\n dataController?: WeakRef<DataController>;\n\n overrideFlow?: ReactPlayer[\"start\"];\n\n checkIfDevtoolsIsActive() {\n return localStorage.getItem(\"player-ui-devtools-active\") === \"true\";\n }\n\n apply(player: Player) {\n if (!this.checkIfDevtoolsIsActive()) {\n console.log(PLUGIN_INACTIVE_WARNING);\n return;\n }\n\n // Config\n this.playerConfig = {\n version: player.getVersion(),\n plugins: player.getPlugins().map((plugin) => plugin.name),\n };\n\n // Data\n player.hooks.dataController.tap(this.name, (dataController) => {\n dataController.hooks.onUpdate.tap(this.name, (updates) => {\n const newPlayerState = produce(this.data, (draft) => {\n updates.forEach(({ binding, newValue }) => {\n set(draft, [\"data\", ...binding.asArray()], newValue);\n });\n });\n this.data = newPlayerState;\n });\n });\n\n // Logs\n player.logger.hooks.log.tap(this.name, (severity, message) => {\n this.logs = [...this.logs, { severity, message }];\n });\n\n // Flow\n player.hooks.onStart.tap(this.name, (f) => {\n this.flow = f;\n });\n\n // View\n player.hooks.view.tap(this.name, (view) => {\n this.view = new WeakRef(view);\n });\n\n // Expression evaluator\n player.hooks.expressionEvaluator.tap(this.name, (evaluator) => {\n this.expressionEvaluator = new WeakRef(evaluator);\n });\n\n // Override flow\n this.overrideFlow = player.start.bind(player);\n }\n\n applyReact(reactPlayer: ReactPlayer) {\n if (!this.checkIfDevtoolsIsActive()) {\n return;\n }\n\n // eslint-disable-next-line react/display-name\n reactPlayer.hooks.webComponent.tap(this.name, (Comp) => () => {\n const Component = Comp as React.FC;\n\n return (\n <WrapperComponent\n playerConfig={this.playerConfig}\n data={this.data}\n logs={this.logs}\n flow={this.flow}\n view={this.view}\n overrideFlow={this.overrideFlow}\n expressionEvaluator={this.expressionEvaluator}\n >\n <Component />\n </WrapperComponent>\n );\n });\n }\n}\n","import { usePluginState } from \"@player-tools/devtools-desktop-plugins-common\";\nimport type {\n DevtoolsPluginInteractionEvent,\n PlayerInitEvent,\n PluginData,\n Transaction,\n} from \"@player-tools/devtools-types\";\nimport type { Flow } from \"@player-ui/react\";\nimport { dequal } from \"dequal\";\nimport { produce } from \"immer\";\nimport set from \"lodash.set\";\nimport React, { useCallback, useEffect } from \"react\";\nimport { BASE_PLUGIN_DATA, INTERACTIONS } from \"./constants\";\nimport type { Evaluation, WrapperComponentProps } from \"./types\";\nimport { genDataChangeTransaction, getEvaluateExpression } from \"./helpers\";\nimport flow from \"../_generated/index.json\";\n\nconst pluginData: PluginData = {\n ...BASE_PLUGIN_DATA,\n flow: flow as Flow,\n};\n\n/** Defines the content to be rendered into the extension Player UI and process changes */\nexport const WrapperComponent = ({\n children,\n data,\n playerConfig,\n logs,\n flow,\n expressionEvaluator,\n overrideFlow,\n}: WrapperComponentProps): JSX.Element => {\n const [state, playerID, dispatch] = usePluginState();\n const lastProcessedInteraction = React.useRef(0);\n const expEvaluator = useCallback(getEvaluateExpression(expressionEvaluator), [\n expressionEvaluator,\n ]);\n\n const id = pluginData.id;\n\n const processInteraction = useCallback(\n (interaction: DevtoolsPluginInteractionEvent) => {\n const {\n payload: { type, payload },\n } = interaction;\n if (\n type === INTERACTIONS.EVALUATE_EXPRESSION &&\n expressionEvaluator &&\n payload\n ) {\n const result = expEvaluator(payload);\n const newState = produce(state, (draft) => {\n const current: Array<Evaluation> =\n (state?.plugins?.[id]?.flow?.data?.history as Array<Evaluation>) ||\n [];\n set(\n draft,\n [\"plugins\", id, \"flow\", \"data\", \"history\"],\n [...current, result]\n );\n });\n\n dispatch({\n id: -1,\n type: \"PLAYER_DEVTOOLS_PLUGIN_DATA_CHANGE\",\n payload: {\n pluginID: id,\n data: newState.plugins[id].flow.data,\n },\n sender: playerID,\n context: \"player\",\n target: \"player\",\n timestamp: Date.now(),\n _messenger_: true,\n });\n\n lastProcessedInteraction.current += 1;\n }\n\n if (type === INTERACTIONS.OVERRIDE_FLOW && payload && overrideFlow) {\n let newFlow: Flow | undefined;\n\n try {\n newFlow = JSON.parse(payload);\n } catch (e) {\n console.error(\"Error parsing new flow\", e);\n }\n\n newFlow && overrideFlow(newFlow);\n }\n },\n [dispatch, expressionEvaluator, id, state]\n );\n\n // inject playerConfig into the plugin data\n const pluginDataWithPlayerConfig = produce(pluginData, (draft) => {\n set(draft, [\"flow\", \"data\", \"playerConfig\"], playerConfig);\n });\n\n // Initial plugin content\n useEffect(() => {\n const transaction: Transaction<PlayerInitEvent> = {\n id: -1,\n type: \"PLAYER_DEVTOOLS_PLAYER_INIT\",\n payload: {\n plugins: {\n [id]: pluginDataWithPlayerConfig,\n },\n },\n sender: playerID,\n context: \"player\",\n target: \"player\",\n timestamp: Date.now(),\n _messenger_: true,\n };\n\n dispatch(transaction);\n }, []);\n\n // Process interactions\n useEffect(() => {\n if (lastProcessedInteraction.current < (state.interactions.length ?? 0)) {\n state.interactions\n .slice(lastProcessedInteraction.current)\n .forEach(processInteraction);\n }\n }, [state.interactions.length]);\n\n // Data changes\n useEffect(() => {\n if (dequal(state.plugins[id]?.flow?.data?.data, data)) return;\n\n const newState = produce(state, (draft) => {\n set(draft, [\"plugins\", id, \"flow\", \"data\", \"data\"], data);\n });\n\n const transaction = genDataChangeTransaction({\n playerID,\n data: newState.plugins[id].flow.data,\n pluginID: id,\n });\n\n dispatch(transaction);\n }, [data]);\n\n // Logs changes\n useEffect(() => {\n if (dequal(state.plugins[id]?.flow?.data?.logs, logs)) return;\n\n const newState = produce(state, (draft) => {\n set(draft, [\"plugins\", id, \"flow\", \"data\", \"logs\"], logs);\n });\n\n const transaction = genDataChangeTransaction({\n playerID,\n data: newState.plugins[id].flow.data,\n pluginID: id,\n });\n\n dispatch(transaction);\n }, [logs]);\n\n // Flow changes\n useEffect(() => {\n if (dequal(state.plugins[id]?.flow?.data?.flow, flow)) return;\n\n const newState = produce(state, (draft) => {\n set(draft, [\"plugins\", id, \"flow\", \"data\", \"flow\"], flow);\n });\n\n const transaction = genDataChangeTransaction({\n playerID,\n data: newState.plugins[id].flow.data,\n pluginID: id,\n });\n\n dispatch(transaction);\n }, [flow]);\n\n return children as JSX.Element;\n};\n","import type { PluginData } from \"@player-tools/devtools-types\";\n\nexport const PLUGIN_ID = \"player-ui-basic-devtools-plugin\";\n\nexport const PLUGIN_NAME = \"Standard Devtools\";\n\nexport const PLUGIN_DESCRIPTION = \"Standard Player UI Devtools\";\n\nexport const PLUGIN_VERSION = \"0.0.1\";\n\nexport const VIEWS_IDS = {\n CONFIG: \"Config\",\n FLOW: \"Flow\",\n LOGS: \"Logs\",\n CONSOLE: \"Console\",\n EDITOR: \"Editor\",\n};\n\nexport const INTERACTIONS = {\n EVALUATE_EXPRESSION: \"evaluate-expression\",\n OVERRIDE_FLOW: \"override-flow\",\n};\n\nexport const BASE_PLUGIN_DATA: Omit<PluginData, \"flow\"> = {\n id: PLUGIN_ID,\n name: PLUGIN_NAME,\n description: PLUGIN_DESCRIPTION,\n version: PLUGIN_VERSION,\n};\n\nexport const PLUGIN_INACTIVE_WARNING =\n \"The plugin has been registered, but the Player development tools are not active. If you are working in a production environment, it is recommended to remove the plugin. Either way, you can activate the Player development tools by clicking on the extension popup and refreshing the page.\";\n","import { ExpressionEvaluator } from \"@player-ui/react\";\nimport { v4 as uuid } from \"uuid\";\nimport { Evaluation } from \"../types\";\n\n/**\n * Creates a function to evaluate expressions using an nullable Player-UI's ExpressionEvaluator.\n *\n * This function factory takes an nullable WeakRef to an ExpressionEvaluator and returns\n * a new function that can be used to evaluate expressions. If the ExpressionEvaluator is\n * not available, it returns an error Evaluation. Otherwise, it attempts to evaluate the\n * expression. If the evaluation is successful, it returns the result. If there's an error\n * during evaluation, it captures the error and returns it as part of the Evaluation object.\n */\nexport const getEvaluateExpression =\n (expressionEvaluator?: WeakRef<ExpressionEvaluator>) =>\n (expression: string): Evaluation => {\n if (!expressionEvaluator) {\n return {\n id: uuid(),\n severity: \"error\",\n result: \"Expression evaluator not available\",\n expression,\n };\n }\n\n let result: Evaluation = {\n id: uuid(),\n severity: \"error\",\n result: \"Something went wrong\",\n expression,\n };\n\n try {\n expressionEvaluator.deref()?.hooks.onError.intercept({\n call: (error: Error) => {\n throw error;\n },\n });\n\n const evaluatorResult = expressionEvaluator.deref()?.evaluate(expression);\n\n result = {\n id: uuid(),\n result: evaluatorResult,\n expression,\n };\n } catch (error) {\n if (error instanceof Error) {\n result = {\n id: uuid(),\n severity: \"error\",\n result: error.message,\n expression,\n };\n }\n }\n\n return result;\n };\n","import type {\n DevtoolsDataChangeEvent,\n Transaction,\n} from \"@player-tools/devtools-types\";\nimport type { Flow } from \"@player-ui/react\";\n\nconst NOOP_ID = -1;\n\n/**\n * Generates a data change transaction for the player devtools plugin.\n *\n * This function creates a transaction object that represents a change in data\n * within a player devtools plugin. The transaction includes details such as the\n * plugin ID, the changed data, and the player ID. It is used to communicate\n * changes between the plugin and devtools.\n */\nexport const genDataChangeTransaction = ({\n playerID,\n data,\n pluginID,\n}: {\n playerID: string;\n data: Flow[\"data\"];\n pluginID: string;\n}): Transaction<DevtoolsDataChangeEvent> => {\n return {\n id: NOOP_ID,\n type: \"PLAYER_DEVTOOLS_PLUGIN_DATA_CHANGE\",\n payload: {\n pluginID,\n data,\n },\n sender: playerID,\n context: \"player\",\n target: \"player\",\n timestamp: Date.now(),\n _messenger_: true,\n };\n};\n","{\n \"id\": \"player-ui-basic-devtools-plugin\",\n \"views\": [\n {\n \"id\": \"Config\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Config-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Config-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Config-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Config-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Config-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Config-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Config-main\",\n \"type\": \"object-inspector\",\n \"binding\": \"playerConfig\",\n \"label\": {\n \"asset\": {\n \"id\": \"Config-main-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n }\n },\n {\n \"id\": \"Flow\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Flow-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Flow-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Flow-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Flow-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Flow-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Flow-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Flow-main\",\n \"type\": \"object-inspector\",\n \"filter\": true,\n \"binding\": \"flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-main-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n \"footer\": {\n \"asset\": {\n \"id\": \"Flow-footer\",\n \"type\": \"copy-to-clipboard\",\n \"binding\": \"flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Flow-footer-label\",\n \"type\": \"text\",\n \"value\": \"Copy flow to the clipboard\"\n }\n }\n }\n }\n },\n {\n \"id\": \"Logs\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Logs-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Logs-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Logs-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Logs-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Logs-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Logs-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Logs-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Logs-main\",\n \"type\": \"table\",\n \"binding\": \"logs\"\n }\n }\n },\n {\n \"id\": \"Console\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Console-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Console-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Console-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Console-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Console-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Console-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Console-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Console-main\",\n \"type\": \"console\",\n \"exp\": \" publish('evaluate-expression', {{expression}}) \",\n \"binding\": \"history\"\n }\n }\n },\n {\n \"id\": \"Editor\",\n \"type\": \"stacked-view\",\n \"header\": {\n \"asset\": {\n \"id\": \"Editor-header\",\n \"type\": \"navigation\",\n \"values\": [\n {\n \"asset\": {\n \"id\": \"Editor-header-values-0\",\n \"type\": \"action\",\n \"value\": \"Config\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-0-label\",\n \"type\": \"text\",\n \"value\": \"Config\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Editor-header-values-1\",\n \"type\": \"action\",\n \"value\": \"Flow\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-1-label\",\n \"type\": \"text\",\n \"value\": \"Flow\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Editor-header-values-2\",\n \"type\": \"action\",\n \"value\": \"Logs\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-2-label\",\n \"type\": \"text\",\n \"value\": \"Logs\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Editor-header-values-3\",\n \"type\": \"action\",\n \"value\": \"Console\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-3-label\",\n \"type\": \"text\",\n \"value\": \"Console\"\n }\n }\n }\n },\n {\n \"asset\": {\n \"id\": \"Editor-header-values-4\",\n \"type\": \"action\",\n \"value\": \"Editor\",\n \"label\": {\n \"asset\": {\n \"id\": \"Editor-header-values-4-label\",\n \"type\": \"text\",\n \"value\": \"Editor\"\n }\n }\n }\n }\n ]\n }\n },\n \"main\": {\n \"asset\": {\n \"id\": \"Editor-main\",\n \"type\": \"code-editor\",\n \"binding\": \"flow\",\n \"exp\": \" publish('override-flow', {{code}}) \"\n }\n }\n }\n ],\n \"navigation\": {\n \"BEGIN\": \"Plugin\",\n \"Plugin\": {\n \"startState\": \"CONFIG\",\n \"CONFIG\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Config\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n },\n \"FLOW\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Flow\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n },\n \"LOGS\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Logs\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n },\n \"CONSOLE\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Console\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n },\n \"EDITOR\": {\n \"state_type\": \"VIEW\",\n \"ref\": \"Editor\",\n \"transitions\": {\n \"Config\": \"CONFIG\",\n \"Flow\": \"FLOW\",\n \"Logs\": \"LOGS\",\n \"Console\": \"CONSOLE\",\n \"Editor\": \"EDITOR\"\n }\n }\n }\n },\n \"schema\": {\n \"ROOT\": {\n \"playerConfig\": {\n \"type\": \"RecordType\"\n },\n \"flow\": {\n \"type\": \"RecordType\"\n },\n \"expression\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"code\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"history\": {\n \"type\": \"historyType\",\n \"isArray\": true\n },\n \"logs\": {\n \"type\": \"logsType\",\n \"isArray\": true\n }\n },\n \"logsType\": {\n \"id\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"time\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"type\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"message\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"severity\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"binding\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"from\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"to\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"state\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"error\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"outcome\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"metricType\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n }\n },\n \"historyType\": {\n \"id\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"expression\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"result\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n },\n \"severity\": {\n \"type\": \"StringType\",\n \"default\": \"\",\n \"validation\": [\n {\n \"type\": \"string\"\n }\n ],\n \"format\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"data\": {\n \"expression\": \"\",\n \"flow\": {},\n \"history\": [],\n \"logs\": [],\n \"playerConfig\": {}\n }\n}"],"mappings":"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","names":["set","produce","React","produce","set","React"]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@player-tools/devtools-basic-web-plugin",
|
|
3
|
-
"version": "0.7.1-next.
|
|
3
|
+
"version": "0.7.1-next.2",
|
|
4
4
|
"main": "dist/cjs/index.cjs",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@player-tools/
|
|
7
|
-
"@player-tools/devtools-desktop-plugins-common": "0.7.1-next.
|
|
8
|
-
"@player-tools/
|
|
9
|
-
"@player-tools/
|
|
6
|
+
"@player-tools/cli": "0.7.1-next.2",
|
|
7
|
+
"@player-tools/devtools-desktop-plugins-common": "0.7.1-next.2",
|
|
8
|
+
"@player-tools/devtools-types": "0.7.1-next.2",
|
|
9
|
+
"@player-tools/dsl": "0.7.1-next.2",
|
|
10
10
|
"@player-ui/common-types-plugin": "0.7.3",
|
|
11
11
|
"@player-ui/react": "0.7.3",
|
|
12
12
|
"@devtools-ui/plugin": "0.3.0",
|
|
@@ -15,8 +15,9 @@
|
|
|
15
15
|
"react": "^18.2.0",
|
|
16
16
|
"immer": "^10.0.3",
|
|
17
17
|
"uuid": "^8.3.2",
|
|
18
|
+
"lodash.set": "^4.3.2",
|
|
19
|
+
"@types/lodash.set": "^4.3.9",
|
|
18
20
|
"@types/uuid": "^8.3.4",
|
|
19
|
-
"dset": "^3.1.3",
|
|
20
21
|
"dequal": "^2.0.2",
|
|
21
22
|
"tslib": "^2.6.2"
|
|
22
23
|
},
|
package/src/WrapperComponent.tsx
CHANGED
|
@@ -7,8 +7,8 @@ import type {
|
|
|
7
7
|
} from "@player-tools/devtools-types";
|
|
8
8
|
import type { Flow } from "@player-ui/react";
|
|
9
9
|
import { dequal } from "dequal";
|
|
10
|
-
import { dset } from "dset/merge";
|
|
11
10
|
import { produce } from "immer";
|
|
11
|
+
import set from "lodash.set";
|
|
12
12
|
import React, { useCallback, useEffect } from "react";
|
|
13
13
|
import { BASE_PLUGIN_DATA, INTERACTIONS } from "./constants";
|
|
14
14
|
import type { Evaluation, WrapperComponentProps } from "./types";
|
|
@@ -49,12 +49,11 @@ export const WrapperComponent = ({
|
|
|
49
49
|
payload
|
|
50
50
|
) {
|
|
51
51
|
const result = expEvaluator(payload);
|
|
52
|
-
|
|
53
52
|
const newState = produce(state, (draft) => {
|
|
54
53
|
const current: Array<Evaluation> =
|
|
55
54
|
(state?.plugins?.[id]?.flow?.data?.history as Array<Evaluation>) ||
|
|
56
55
|
[];
|
|
57
|
-
|
|
56
|
+
set(
|
|
58
57
|
draft,
|
|
59
58
|
["plugins", id, "flow", "data", "history"],
|
|
60
59
|
[...current, result]
|
|
@@ -95,7 +94,7 @@ export const WrapperComponent = ({
|
|
|
95
94
|
|
|
96
95
|
// inject playerConfig into the plugin data
|
|
97
96
|
const pluginDataWithPlayerConfig = produce(pluginData, (draft) => {
|
|
98
|
-
|
|
97
|
+
set(draft, ["flow", "data", "playerConfig"], playerConfig);
|
|
99
98
|
});
|
|
100
99
|
|
|
101
100
|
// Initial plugin content
|
|
@@ -132,7 +131,7 @@ export const WrapperComponent = ({
|
|
|
132
131
|
if (dequal(state.plugins[id]?.flow?.data?.data, data)) return;
|
|
133
132
|
|
|
134
133
|
const newState = produce(state, (draft) => {
|
|
135
|
-
|
|
134
|
+
set(draft, ["plugins", id, "flow", "data", "data"], data);
|
|
136
135
|
});
|
|
137
136
|
|
|
138
137
|
const transaction = genDataChangeTransaction({
|
|
@@ -149,7 +148,7 @@ export const WrapperComponent = ({
|
|
|
149
148
|
if (dequal(state.plugins[id]?.flow?.data?.logs, logs)) return;
|
|
150
149
|
|
|
151
150
|
const newState = produce(state, (draft) => {
|
|
152
|
-
|
|
151
|
+
set(draft, ["plugins", id, "flow", "data", "logs"], logs);
|
|
153
152
|
});
|
|
154
153
|
|
|
155
154
|
const transaction = genDataChangeTransaction({
|
|
@@ -166,7 +165,7 @@ export const WrapperComponent = ({
|
|
|
166
165
|
if (dequal(state.plugins[id]?.flow?.data?.flow, flow)) return;
|
|
167
166
|
|
|
168
167
|
const newState = produce(state, (draft) => {
|
|
169
|
-
|
|
168
|
+
set(draft, ["plugins", id, "flow", "data", "flow"], flow);
|
|
170
169
|
});
|
|
171
170
|
|
|
172
171
|
const transaction = genDataChangeTransaction({
|
package/src/index.tsx
CHANGED
|
@@ -7,7 +7,7 @@ import type {
|
|
|
7
7
|
ReactPlayerPlugin,
|
|
8
8
|
ViewInstance,
|
|
9
9
|
} from "@player-ui/react";
|
|
10
|
-
import
|
|
10
|
+
import set from "lodash.set";
|
|
11
11
|
import { produce } from "immer";
|
|
12
12
|
import React from "react";
|
|
13
13
|
import { WrapperComponent } from "./WrapperComponent";
|
|
@@ -58,7 +58,7 @@ export class BasicWevDevtoolsPlugin implements ReactPlayerPlugin {
|
|
|
58
58
|
dataController.hooks.onUpdate.tap(this.name, (updates) => {
|
|
59
59
|
const newPlayerState = produce(this.data, (draft) => {
|
|
60
60
|
updates.forEach(({ binding, newValue }) => {
|
|
61
|
-
|
|
61
|
+
set(draft, ["data", ...binding.asArray()], newValue);
|
|
62
62
|
});
|
|
63
63
|
});
|
|
64
64
|
this.data = newPlayerState;
|
package/types/content/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
declare const _default: {
|
|
3
2
|
id: string;
|
|
4
3
|
views: import("react").JSX.Element[];
|
|
@@ -13,14 +12,8 @@ declare const _default: {
|
|
|
13
12
|
flow: import("@player-ui/types").Schema.DataType<Record<string, unknown>>;
|
|
14
13
|
expression: import("@player-ui/types").Schema.DataType<string>;
|
|
15
14
|
code: import("@player-ui/types").Schema.DataType<string>;
|
|
16
|
-
history: [import("@player-tools/dsl").DSLSchema
|
|
17
|
-
|
|
18
|
-
validation?: import("@player-ui/types").Validation.Reference[] | undefined;
|
|
19
|
-
}>];
|
|
20
|
-
logs: [import("@player-tools/dsl").DSLSchema<Omit<import("@player-ui/types").Schema.DataType<unknown>, "type" | "validation"> & {
|
|
21
|
-
type: string | number;
|
|
22
|
-
validation?: import("@player-ui/types").Validation.Reference[] | undefined;
|
|
23
|
-
}>];
|
|
15
|
+
history: [import("@player-tools/dsl").DSLSchema];
|
|
16
|
+
logs: [import("@player-tools/dsl").DSLSchema];
|
|
24
17
|
};
|
|
25
18
|
data: {
|
|
26
19
|
expression: string;
|
|
@@ -5,27 +5,15 @@ export declare const schema: {
|
|
|
5
5
|
flow: Schema.DataType<Record<string, unknown>>;
|
|
6
6
|
expression: Schema.DataType<string>;
|
|
7
7
|
code: Schema.DataType<string>;
|
|
8
|
-
history: [DSLSchema
|
|
9
|
-
|
|
10
|
-
validation?: import("@player-ui/types").Validation.Reference[] | undefined;
|
|
11
|
-
}>];
|
|
12
|
-
logs: [DSLSchema<Omit<Schema.DataType<unknown>, "type" | "validation"> & {
|
|
13
|
-
type: string | number;
|
|
14
|
-
validation?: import("@player-ui/types").Validation.Reference[] | undefined;
|
|
15
|
-
}>];
|
|
8
|
+
history: [DSLSchema];
|
|
9
|
+
logs: [DSLSchema];
|
|
16
10
|
};
|
|
17
11
|
export declare const bindings: import("@player-tools/dsl").MakeBindingRefable<{
|
|
18
12
|
playerConfig: Schema.DataType<Record<string, unknown>>;
|
|
19
13
|
flow: Schema.DataType<Record<string, unknown>>;
|
|
20
14
|
expression: Schema.DataType<string>;
|
|
21
15
|
code: Schema.DataType<string>;
|
|
22
|
-
history: [DSLSchema
|
|
23
|
-
|
|
24
|
-
validation?: import("@player-ui/types").Validation.Reference[] | undefined;
|
|
25
|
-
}>];
|
|
26
|
-
logs: [DSLSchema<Omit<Schema.DataType<unknown>, "type" | "validation"> & {
|
|
27
|
-
type: string | number;
|
|
28
|
-
validation?: import("@player-ui/types").Validation.Reference[] | undefined;
|
|
29
|
-
}>];
|
|
16
|
+
history: [DSLSchema];
|
|
17
|
+
logs: [DSLSchema];
|
|
30
18
|
}>;
|
|
31
19
|
//# sourceMappingURL=index.d.ts.map
|
package/types/types.d.ts
CHANGED