vscode-behavior3 2.5.1 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +147 -50
- package/README.zh-CN.md +317 -0
- package/dist/build-cli.js +888 -31
- package/dist/extension.js +1493 -1095
- package/dist/webview/assets/editor-DyFYJCLB.js +8 -0
- package/dist/webview/index.html +1 -1
- package/dist/webview/locales/en.json +13 -0
- package/dist/webview/locales/zh.json +13 -0
- package/package.json +1 -1
- package/webview/shared/b3build-model.d.ts +2 -0
- package/webview/shared/b3type.ts +2 -1
- package/dist/webview/assets/editor-BPxOdZMY.js +0 -8
package/dist/build-cli.js
CHANGED
|
@@ -212351,7 +212351,7 @@ var stringifyJson = (data, option) => {
|
|
|
212351
212351
|
};
|
|
212352
212352
|
|
|
212353
212353
|
// webview/shared/b3type.ts
|
|
212354
|
-
var DOCUMENT_VERSION = "2.
|
|
212354
|
+
var DOCUMENT_VERSION = "2.7.0";
|
|
212355
212355
|
var keyWords = ["true", "false", "null", "undefined", "NaN", "Infinity"];
|
|
212356
212356
|
var isIntType = (type) => type.startsWith("int");
|
|
212357
212357
|
var isFloatType = (type) => type.startsWith("float");
|
|
@@ -212428,6 +212428,473 @@ var checkOneof = (arg, argValue, inputValue) => {
|
|
|
212428
212428
|
return normalizedArgValue !== "" && normalizedInputValue === "" || normalizedArgValue === "" && normalizedInputValue !== "";
|
|
212429
212429
|
};
|
|
212430
212430
|
|
|
212431
|
+
// media/locales/en.json
|
|
212432
|
+
var en_default = {
|
|
212433
|
+
about: "About Behavior3",
|
|
212434
|
+
actuaSize: "Actual Size",
|
|
212435
|
+
actualSize: "Actual Size",
|
|
212436
|
+
add: "Add",
|
|
212437
|
+
alertNewVersion: "This file is created by a newer version of Behavior3({{version}}), please upgrade to the latest version.",
|
|
212438
|
+
batch: "Batch Script",
|
|
212439
|
+
batchCompleted: "Batch completed",
|
|
212440
|
+
batchFailed: "Batch failed, more information can be found in the console.",
|
|
212441
|
+
build: "Build",
|
|
212442
|
+
buildCompleted: "Build completed",
|
|
212443
|
+
buildFailed: "Build failed, more information can be found in the console.",
|
|
212444
|
+
cancel: "Cancel",
|
|
212445
|
+
compact: "Compact",
|
|
212446
|
+
console: "Console",
|
|
212447
|
+
copy: "Copy",
|
|
212448
|
+
createProject: "Create Project",
|
|
212449
|
+
checkExpr: "Check expression",
|
|
212450
|
+
cut: "Cut",
|
|
212451
|
+
delete: "Delete",
|
|
212452
|
+
deleteNode: "Delete Node",
|
|
212453
|
+
devTools: "Toggle Developer Tools",
|
|
212454
|
+
donotSave: "Don't Save",
|
|
212455
|
+
duplicate: "Duplicate",
|
|
212456
|
+
editSubtree: "Edit Subtree",
|
|
212457
|
+
fieldRequired: "Field '{{field}}' is required",
|
|
212458
|
+
forceReload: "Force Reload",
|
|
212459
|
+
fullscreen: "Toggle Full Screen",
|
|
212460
|
+
hide: "Hide Behavior3",
|
|
212461
|
+
hideOthers: "Hide Others",
|
|
212462
|
+
insertNode: "Insert Node",
|
|
212463
|
+
jumpNode: "Jump Node",
|
|
212464
|
+
language: "Language",
|
|
212465
|
+
moveToTrash: "Move to Trash",
|
|
212466
|
+
newFile: "New File...",
|
|
212467
|
+
newFolder: "New Folder...",
|
|
212468
|
+
newWindow: "New Window",
|
|
212469
|
+
nodeDefinition: "NODES",
|
|
212470
|
+
normal: "Normal",
|
|
212471
|
+
open: "Open...",
|
|
212472
|
+
openProject: "Open Project",
|
|
212473
|
+
paste: "Paste",
|
|
212474
|
+
quit: "Quit Behavior3",
|
|
212475
|
+
recent: "Recent",
|
|
212476
|
+
redo: "Redo",
|
|
212477
|
+
reload: "Reload",
|
|
212478
|
+
reset: "Reset",
|
|
212479
|
+
"reset.confirm": "Reset to original value?",
|
|
212480
|
+
"reset.defaultConfirm": "Reset to default value?",
|
|
212481
|
+
rename: "Rename...",
|
|
212482
|
+
replace: "Replace",
|
|
212483
|
+
reportIssue: "Report Issue",
|
|
212484
|
+
revealFileOnMac: "Reveal in Finder",
|
|
212485
|
+
revealFileOnWindows: "Reveal in File Explorer",
|
|
212486
|
+
save: "Save",
|
|
212487
|
+
saveAll: "Save All",
|
|
212488
|
+
saveAs: "Save As...",
|
|
212489
|
+
saveAsSubtree: "Save As Subtree",
|
|
212490
|
+
searchFile: "Search File",
|
|
212491
|
+
searchNode: "Search Node",
|
|
212492
|
+
selectAll: "Select All",
|
|
212493
|
+
services: "Services",
|
|
212494
|
+
setupBuildScript: "Setup Build Script",
|
|
212495
|
+
start: "Start",
|
|
212496
|
+
undo: "Undo",
|
|
212497
|
+
unhide: "Show All",
|
|
212498
|
+
zoomIn: "Zoom In",
|
|
212499
|
+
zoomOut: "Zoom Out",
|
|
212500
|
+
"menu.edit": "Edit",
|
|
212501
|
+
"menu.file": "File",
|
|
212502
|
+
"menu.view": "View",
|
|
212503
|
+
"menu.window": "Window",
|
|
212504
|
+
"menu.help": "Help",
|
|
212505
|
+
"workspace.saveAllOnClose": "Do you want to save the changes to the following {{count}} files?",
|
|
212506
|
+
"workspace.saveOnClose": "Do you want to save the changes you made to '{{name}}'?",
|
|
212507
|
+
"workspace.reloadFile": "'{{name}}' has changed, do you want to reload now?",
|
|
212508
|
+
"explorer.deleteFile": "Are you sure you want delete '{{name}}'?",
|
|
212509
|
+
"explorer.deleteFolder": "Are you sure you want delete '{{name}}' and its contents?",
|
|
212510
|
+
"explorer.replaceFile": "Are you sure you want replace '{{name}}'?",
|
|
212511
|
+
"explorer.restoreFileInfo": "You can restore this file from the Trash.",
|
|
212512
|
+
"explorer.title": "Explorer",
|
|
212513
|
+
"tree.overview": "Overview",
|
|
212514
|
+
"tree.name": "Tree name",
|
|
212515
|
+
"tree.desc": "Tree desc",
|
|
212516
|
+
"tree.export": "Export",
|
|
212517
|
+
"tree.prefix": "ID prefix",
|
|
212518
|
+
"tree.group": "Enable Node Grouping",
|
|
212519
|
+
"tree.group.placeholder": "Select node groups",
|
|
212520
|
+
"tree.vars": "Define Variables",
|
|
212521
|
+
"tree.vars.local": "Local Variables",
|
|
212522
|
+
"tree.vars.add": "Add Variable",
|
|
212523
|
+
"tree.vars.name": "name",
|
|
212524
|
+
"tree.vars.invalidName": "Invalid variable name",
|
|
212525
|
+
"tree.vars.desc": "description",
|
|
212526
|
+
"tree.vars.imports": "Import Variables",
|
|
212527
|
+
"tree.vars.subtree": "Subtree Variables",
|
|
212528
|
+
"tree.import.add": "Add Import",
|
|
212529
|
+
"tree.custom": "Custom Data",
|
|
212530
|
+
"tree.custom.add": "Add Entry",
|
|
212531
|
+
"tree.custom.key": "key",
|
|
212532
|
+
"tree.custom.value": "value",
|
|
212533
|
+
"tree.custom.type.string": "String value",
|
|
212534
|
+
"tree.custom.type.number": "Number value",
|
|
212535
|
+
"tree.custom.type.boolean": "Boolean value",
|
|
212536
|
+
"tree.custom.type.invalid": "Invalid custom value",
|
|
212537
|
+
"regnode.input": "Input: ",
|
|
212538
|
+
"regnode.output": "Output: ",
|
|
212539
|
+
"regnode.args": "Args: ",
|
|
212540
|
+
"regnode.mark": "Mark: ",
|
|
212541
|
+
"regnode.subtree": "Subtree: ",
|
|
212542
|
+
"node.args": "Const arguments",
|
|
212543
|
+
"node.children.unlimited": "Unlimited",
|
|
212544
|
+
"node.children": "Num children",
|
|
212545
|
+
"node.debug": "Debug",
|
|
212546
|
+
"node.deleteRootNodeDenied": "Unable to delete the root node",
|
|
212547
|
+
"node.dropDenied": "This node position is denied to drop the node",
|
|
212548
|
+
"node.desc": "Node desc",
|
|
212549
|
+
"node.disabled": "Disabled",
|
|
212550
|
+
"node.editSubtreeDenied": "Unable to edit the subtree node",
|
|
212551
|
+
"node.editFailed": "Node '{{name}}' edit failed",
|
|
212552
|
+
"node.group": "Node group",
|
|
212553
|
+
"node.groupNotEnabled": "One of '{{group}}' node group is not enabled in current file",
|
|
212554
|
+
"node.id": "Node id",
|
|
212555
|
+
"node.inputVariable": "Input variables",
|
|
212556
|
+
"node.invalidChildren": "Invalid number of children",
|
|
212557
|
+
"node.invalidExpression": "Invalid expression",
|
|
212558
|
+
"node.invalidValue": "Invalid value",
|
|
212559
|
+
"node.invalidVariableName": "Invalid variable name, should start with a letter or underscore",
|
|
212560
|
+
"node.name": "Node name",
|
|
212561
|
+
"node.noNodeSelected": "No node selected",
|
|
212562
|
+
"node.notFound": "Node '{{name}}' not found",
|
|
212563
|
+
"node.oneof.error": "Only one is allowed between input '{{input}}' and argument '{{desc}}({{arg}})'",
|
|
212564
|
+
"node.oneof.inputNotfound": "Input '{{input}}' not found",
|
|
212565
|
+
"node.outputVariable": "Output variables",
|
|
212566
|
+
"node.pasteDataError": "Paste data error",
|
|
212567
|
+
"node.rootNodeAsSubtree": "Root node cann't be save as subtree",
|
|
212568
|
+
"node.subtree": "Subtree",
|
|
212569
|
+
"node.subtreeMissing": "Subtree file is missing: {{path}}",
|
|
212570
|
+
"node.subtreeInvalid": "Subtree file is invalid: {{path}}",
|
|
212571
|
+
"node.subtreeCyclic": "Subtree reference is cyclic: {{path}}",
|
|
212572
|
+
"node.subtreeOpenFailed": "Failed to open subtree: file not found or unreadable ({{path}})",
|
|
212573
|
+
"node.subtreePathError": "You should save the subtree inside the current workspace",
|
|
212574
|
+
"node.subtreeSaveRootError": "Root node cann't be save as subtree",
|
|
212575
|
+
"node.subtreeSaveSuccess": "Saved and converted to subtree node: {{path}}",
|
|
212576
|
+
"node.moveSubtreeDenied": "Cannot move nodes inside a subtree",
|
|
212577
|
+
"node.dropSubtreeInternalDenied": "Cannot drop onto a subtree internal node",
|
|
212578
|
+
"node.moveRootDenied": "Cannot move the root node",
|
|
212579
|
+
"node.dropAroundRootDenied": "Cannot place a node before or after the root",
|
|
212580
|
+
"node.addChildToSubtreeRefDenied": "Cannot add child nodes to a subtree reference",
|
|
212581
|
+
"node.moveIntoDescendantDenied": "Cannot move a node into its own descendant",
|
|
212582
|
+
"node.type": "Node type",
|
|
212583
|
+
"node.undefinedVariable": "Variable '{{variable}}' is not defined",
|
|
212584
|
+
"node.jsonData": "JSON Data",
|
|
212585
|
+
"node.unknown.title": "Unknown Node",
|
|
212586
|
+
"node.unknownType": "Unknown",
|
|
212587
|
+
"node.resolutionError": "Resolution Error",
|
|
212588
|
+
"node.unknown.desc": "New node",
|
|
212589
|
+
"build.success": "Build completed.",
|
|
212590
|
+
"build.failed": "Build failed.",
|
|
212591
|
+
"editor.loading": "Loading editor...",
|
|
212592
|
+
"editor.externalChangeConflict": "External file change detected while the document has unsaved edits.",
|
|
212593
|
+
"editor.reloadFromDisk": "Reload",
|
|
212594
|
+
"editor.dismissConflict": "Dismiss",
|
|
212595
|
+
"editor.newerVersionEditDenied": "This file is created by a newer version of Behavior3({{version}}). Please upgrade to the latest version.",
|
|
212596
|
+
"inspector.noActiveDocument": "Open a Behavior3 editor to inspect and edit the active tree.",
|
|
212597
|
+
"inspector.embeddedModeNotice": "Inspector is configured to appear inside the Behavior3 editor.",
|
|
212598
|
+
"inspector.embeddedToolbar.build": "Build Behavior Tree",
|
|
212599
|
+
"inspector.embeddedToolbar.toggleEditorMode": "Toggle Editor Mode",
|
|
212600
|
+
"inspector.embeddedToolbar.toggleInspectorNodeJson": "Toggle Raw Node JSON",
|
|
212601
|
+
"inspector.embeddedToolbar.createProject": "Create Project",
|
|
212602
|
+
"inspector.embeddedToolbar.createTree": "Create Behavior Tree",
|
|
212603
|
+
"mutation.invalidJsonPath": "Invalid JSON path: {{path}}",
|
|
212604
|
+
"mutation.missingSelectedNode": "No selected node is available for this mutation.",
|
|
212605
|
+
"mutation.selectedNodeMismatch": "The selected node changed before the mutation was applied.",
|
|
212606
|
+
"mutation.missingTargetNode": "The target node could not be found.",
|
|
212607
|
+
"mutation.missingSourceNode": "The source node could not be found.",
|
|
212608
|
+
"mutation.missingSubtreeOriginal": "Missing subtree original snapshot for this mutation.",
|
|
212609
|
+
"mutation.missingDetachedSubtreeRoot": "Missing detached subtree snapshot for this mutation.",
|
|
212610
|
+
"mutation.moveRootDenied": "Cannot move the root node.",
|
|
212611
|
+
"mutation.dropAroundRootDenied": "Cannot drop before or after the root node.",
|
|
212612
|
+
"mutation.addChildToSubtreeRefDenied": "Cannot add a child directly to a subtree reference.",
|
|
212613
|
+
"mutation.moveIntoDescendantDenied": "Cannot move a node into its own descendant.",
|
|
212614
|
+
"mutation.deleteRootNodeDenied": "Cannot delete the root node.",
|
|
212615
|
+
"mutation.editSubtreeDenied": "Cannot edit structure on a subtree reference.",
|
|
212616
|
+
"mutation.saveSelectedAsSubtreeRootDenied": "The root node cannot be saved as a subtree.",
|
|
212617
|
+
"mutation.saveSelectedAsSubtreeMissingTarget": "The target node could not be saved as a subtree.",
|
|
212618
|
+
"mutation.saveSelectedAsSubtreePostSaveMissingTarget": "The target node could not be found after saving the subtree.",
|
|
212619
|
+
"runtime.nodeCheckRuntimeHasErrors": "Checker runtime has errors.",
|
|
212620
|
+
"runtime.invalidSavedSubtreePath": "Host returned an invalid saved subtree path.",
|
|
212621
|
+
"runtime.unsupportedDocumentMutation": "Unsupported document mutation.",
|
|
212622
|
+
"runtime.visibleHookNotRegistered": "Visible '{{name}}' is not registered.",
|
|
212623
|
+
"runtime.visibleHookFailed": "Visible '{{name}}' failed: {{error}}",
|
|
212624
|
+
"runtime.visibleExpressionDisabled": "Visible expression is disabled; enable settings.allowNewFunction.",
|
|
212625
|
+
"runtime.visibleExpressionCompileFailed": "Visible expression failed to compile: {{error}}",
|
|
212626
|
+
"runtime.visibleExpressionFailed": "Visible expression failed: {{error}}",
|
|
212627
|
+
"runtime.visibleExpressionUnknownArg": "Visible expression referenced args.{{property}}, but '{{property}}' is not in the defined arg scope (defined args: {{definedArgs}}).",
|
|
212628
|
+
"runtime.visibleExpressionNoArgs": "Visible expression referenced args.{{property}}, but this node defines no args.",
|
|
212629
|
+
"runtime.visibleExpressionUnknownSlotIndex": "Visible expression referenced {{fieldKind}}[{{index}}], but {{definedScope}}.",
|
|
212630
|
+
"runtime.visibleExpressionInvalidSlotProperty": "Visible expression referenced {{fieldKind}}.{{property}}, but {{fieldKind}} only supports defined numeric slot indices.",
|
|
212631
|
+
"runtime.visibleSlotScopeNone": "this node defines no {{fieldKind}} slots",
|
|
212632
|
+
"runtime.visibleSlotScopeIndex": "the defined {{fieldKind}} index is {{start}}",
|
|
212633
|
+
"runtime.visibleSlotScopeRange": "the defined {{fieldKind}} indices are {{start}}..{{end}}",
|
|
212634
|
+
"runtime.visibleSlotScopeRangeVariadic": "the defined {{fieldKind}} indices are {{start}}..{{end}}+",
|
|
212635
|
+
"override.resetTitle": "Reset this override?",
|
|
212636
|
+
"form.enterJsonArray": "Enter JSON array",
|
|
212637
|
+
"form.enterJsonValue": "Enter JSON value",
|
|
212638
|
+
"form.unset": "Unset",
|
|
212639
|
+
"form.true": "True",
|
|
212640
|
+
"form.false": "False",
|
|
212641
|
+
"validation.jsonArray": "{{name}} must be a JSON array",
|
|
212642
|
+
"validation.integer": "{{field}} must be an integer",
|
|
212643
|
+
"validation.number": "{{field}} must be a number",
|
|
212644
|
+
"validation.missingOneofInput": "Missing input slot for oneof '{{input}}'",
|
|
212645
|
+
"validation.oneof": "Only one of '{{left}}' and '{{right}}' can be set",
|
|
212646
|
+
"validation.invalidJsonPath": "Path must be a workdir-relative .json file: {{path}}",
|
|
212647
|
+
"validation.variableDescriptionRequired": "Variable description is required",
|
|
212648
|
+
"validation.customKeyRequired": "Custom key is required",
|
|
212649
|
+
"validation.customKeyDuplicate": "Custom key '{{key}}' is duplicated",
|
|
212650
|
+
"validation.customValueInvalid": "Custom value must be a string, number, or boolean"
|
|
212651
|
+
};
|
|
212652
|
+
|
|
212653
|
+
// media/locales/zh.json
|
|
212654
|
+
var zh_default = {
|
|
212655
|
+
about: "\u5173\u4E8E Behavior3",
|
|
212656
|
+
actualSize: "\u5B9E\u9645\u5927\u5C0F",
|
|
212657
|
+
add: "\u6DFB\u52A0",
|
|
212658
|
+
alertNewVersion: "\u6B64\u6587\u4EF6\u7531\u65B0\u7248\u672C Behavior3({{version}}) \u521B\u5EFA\uFF0C\u8BF7\u5347\u7EA7\u5230\u6700\u65B0\u7248\u672C\u3002",
|
|
212659
|
+
batch: "\u6279\u5904\u7406\u811A\u672C",
|
|
212660
|
+
batchCompleted: "\u6279\u5904\u7406\u5B8C\u6210",
|
|
212661
|
+
batchFailed: "\u6279\u5904\u7406\u51FA\u73B0\u9519\u8BEF\uFF0C\u8BE6\u60C5\u8BF7\u67E5\u770B\u63A7\u5236\u53F0\uFF01",
|
|
212662
|
+
build: "\u6784\u5EFA",
|
|
212663
|
+
buildCompleted: "\u6784\u5EFA\u5B8C\u6210",
|
|
212664
|
+
buildFailed: "\u6784\u5EFA\u51FA\u73B0\u9519\u8BEF\uFF0C\u8BE6\u60C5\u8BF7\u67E5\u770B\u63A7\u5236\u53F0\uFF01",
|
|
212665
|
+
cancel: "\u53D6\u6D88",
|
|
212666
|
+
compact: "\u7D27\u51D1",
|
|
212667
|
+
console: "\u63A7\u5236\u53F0",
|
|
212668
|
+
checkExpr: "\u68C0\u67E5\u8868\u8FBE\u5F0F",
|
|
212669
|
+
copy: "\u590D\u5236",
|
|
212670
|
+
createProject: "\u65B0\u5EFA\u9879\u76EE",
|
|
212671
|
+
cut: "\u526A\u5207",
|
|
212672
|
+
delete: "\u5220\u9664",
|
|
212673
|
+
deleteNode: "\u5220\u9664\u8282\u70B9",
|
|
212674
|
+
devTools: "\u5207\u6362\u5F00\u53D1\u8005\u5DE5\u5177",
|
|
212675
|
+
donotSave: "\u4E0D\u4FDD\u5B58",
|
|
212676
|
+
duplicate: "\u751F\u6210\u526F\u672C",
|
|
212677
|
+
editSubtree: "\u7F16\u8F91\u5B50\u6811",
|
|
212678
|
+
fieldRequired: "\u5B57\u6BB5\u201C{{field}}\u201D\u5FC5\u586B",
|
|
212679
|
+
forceReload: "\u5F3A\u5236\u91CD\u65B0\u52A0\u8F7D",
|
|
212680
|
+
fullscreen: "\u5207\u6362\u5168\u5C4F",
|
|
212681
|
+
hide: "\u9690\u85CF Behavior3",
|
|
212682
|
+
hideOthers: "\u9690\u85CF\u5176\u5B83",
|
|
212683
|
+
insertNode: "\u63D2\u5165\u8282\u70B9",
|
|
212684
|
+
jumpNode: "\u8DF3\u8F6C\u8282\u70B9",
|
|
212685
|
+
language: "\u8BED\u8A00",
|
|
212686
|
+
moveToTrash: "\u79FB\u81F3\u56DE\u6536\u7AD9",
|
|
212687
|
+
newFile: "\u65B0\u5EFA\u884C\u4E3A\u6811...",
|
|
212688
|
+
newFolder: "\u65B0\u5EFA\u76EE\u5F55...",
|
|
212689
|
+
newWindow: "\u65B0\u5EFA\u7A97\u53E3",
|
|
212690
|
+
nodeDefinition: "\u8282\u70B9\u5B9A\u4E49",
|
|
212691
|
+
normal: "\u6B63\u5E38",
|
|
212692
|
+
open: "\u6253\u5F00...",
|
|
212693
|
+
openProject: "\u6253\u5F00\u9879\u76EE",
|
|
212694
|
+
paste: "\u7C98\u8D34",
|
|
212695
|
+
quit: "\u9000\u51FA Behavior3",
|
|
212696
|
+
recent: "\u6700\u8FD1\u6253\u5F00",
|
|
212697
|
+
redo: "\u91CD\u505A",
|
|
212698
|
+
reload: "\u91CD\u65B0\u52A0\u8F7D",
|
|
212699
|
+
reset: "\u91CD\u7F6E",
|
|
212700
|
+
"reset.confirm": "\u91CD\u7F6E\u4E3A\u539F\u59CB\u503C\uFF1F",
|
|
212701
|
+
"reset.defaultConfirm": "\u91CD\u7F6E\u4E3A\u9ED8\u8BA4\u503C\uFF1F",
|
|
212702
|
+
rename: "\u91CD\u547D\u540D...",
|
|
212703
|
+
replace: "\u66FF\u6362",
|
|
212704
|
+
reportIssue: "\u95EE\u9898\u53CD\u9988",
|
|
212705
|
+
revealFileOnMac: "\u5728 Finder \u4E2D\u663E\u793A",
|
|
212706
|
+
revealFileOnWindows: "\u5728\u6587\u4EF6\u7BA1\u7406\u5668\u4E2D\u6253\u5F00",
|
|
212707
|
+
save: "\u4FDD\u5B58",
|
|
212708
|
+
saveAll: "\u4FDD\u5B58\u5168\u90E8",
|
|
212709
|
+
saveAs: "\u53E6\u5B58\u4E3A...",
|
|
212710
|
+
saveAsSubtree: "\u53E6\u5B58\u4E3A\u5B50\u6811",
|
|
212711
|
+
searchFile: "\u641C\u7D22\u6587\u4EF6",
|
|
212712
|
+
searchNode: "\u641C\u7D22\u8282\u70B9",
|
|
212713
|
+
selectAll: "\u5168\u9009",
|
|
212714
|
+
services: "\u670D\u52A1",
|
|
212715
|
+
setupBuildScript: "\u8BBE\u7F6E\u6784\u5EFA\u811A\u672C",
|
|
212716
|
+
start: "\u5F00\u59CB",
|
|
212717
|
+
undo: "\u64A4\u9500",
|
|
212718
|
+
unhide: "\u663E\u793A\u6240\u6709",
|
|
212719
|
+
zoomIn: "\u653E\u5927",
|
|
212720
|
+
zoomOut: "\u7F29\u5C0F",
|
|
212721
|
+
"menu.file": "\u6587\u4EF6",
|
|
212722
|
+
"menu.edit": "\u7F16\u8F91",
|
|
212723
|
+
"menu.view": "\u89C6\u56FE",
|
|
212724
|
+
"menu.window": "\u7A97\u53E3",
|
|
212725
|
+
"menu.help": "\u5E2E\u52A9",
|
|
212726
|
+
"workspace.saveAllOnClose": "\u4F60\u9700\u8981\u4FDD\u5B58\u5BF9\u4EE5\u4E0B {{count}} \u4E2A\u6587\u4EF6\u7684\u4FEE\u6539\u5417\uFF1F",
|
|
212727
|
+
"workspace.saveOnClose": "\u4F60\u9700\u8981\u4FDD\u5B58\u5BF9\u6587\u4EF6 {{name}} \u7684\u4FEE\u6539\u5417\uFF1F",
|
|
212728
|
+
"workspace.reloadFile": "\u6587\u4EF6 {{name}} \u53D1\u751F\u6539\u53D8\uFF0C\u4F60\u9700\u8981\u91CD\u65B0\u52A0\u8F7D\u5417\uFF1F",
|
|
212729
|
+
"explorer.deleteFile": "\u4F60\u786E\u5B9A\u8981\u5220\u9664\u6587\u4EF6 '{{name}}'\uFF1F",
|
|
212730
|
+
"explorer.deleteFolder": "\u4F60\u786E\u5B9A\u8981\u5220\u9664\u76EE\u5F55 '{{name}}'\uFF1F",
|
|
212731
|
+
"explorer.replaceFile": "\u4F60\u786E\u5B9A\u8981\u66FF\u6362\u6587\u4EF6 '{{name}}'\uFF1F",
|
|
212732
|
+
"explorer.restoreFileInfo": "\u4F60\u53EF\u4EE5\u4ECE\u56DE\u6536\u7AD9\u6062\u590D\u6B64\u6587\u4EF6\u3002",
|
|
212733
|
+
"explorer.title": "\u8D44\u6E90\u6D4F\u89C8",
|
|
212734
|
+
"tree.overview": "\u6982\u51B5",
|
|
212735
|
+
"tree.name": "\u884C\u4E3A\u6811",
|
|
212736
|
+
"tree.desc": "\u8BF4\u660E",
|
|
212737
|
+
"tree.export": "\u5BFC\u51FA",
|
|
212738
|
+
"tree.prefix": "\u6807\u8BC6\u524D\u7F00",
|
|
212739
|
+
"tree.group": "\u542F\u7528\u8282\u70B9\u5206\u7EC4",
|
|
212740
|
+
"tree.group.placeholder": "\u9009\u62E9\u8282\u70B9\u5206\u7EC4",
|
|
212741
|
+
"tree.vars": "\u5B9A\u4E49\u53D8\u91CF",
|
|
212742
|
+
"tree.vars.local": "\u672C\u5730\u53D8\u91CF",
|
|
212743
|
+
"tree.vars.add": "\u6DFB\u52A0\u53D8\u91CF",
|
|
212744
|
+
"tree.vars.name": "\u53D8\u91CF\u540D",
|
|
212745
|
+
"tree.vars.invalidName": "\u53D8\u91CF\u540D\u4E0D\u5408\u6CD5",
|
|
212746
|
+
"tree.vars.desc": "\u53D8\u91CF\u8BF4\u660E",
|
|
212747
|
+
"tree.vars.imports": "\u5BFC\u5165\u53D8\u91CF",
|
|
212748
|
+
"tree.vars.subtree": "\u5B50\u6811\u53D8\u91CF",
|
|
212749
|
+
"tree.import.add": "\u6DFB\u52A0\u5BFC\u5165",
|
|
212750
|
+
"tree.custom": "\u81EA\u5B9A\u4E49\u6570\u636E",
|
|
212751
|
+
"tree.custom.add": "\u6DFB\u52A0\u6761\u76EE",
|
|
212752
|
+
"tree.custom.key": "\u952E",
|
|
212753
|
+
"tree.custom.value": "\u503C",
|
|
212754
|
+
"tree.custom.type.string": "\u5B57\u7B26\u4E32\u503C",
|
|
212755
|
+
"tree.custom.type.number": "\u6570\u5B57\u503C",
|
|
212756
|
+
"tree.custom.type.boolean": "\u5E03\u5C14\u503C",
|
|
212757
|
+
"tree.custom.type.invalid": "\u975E\u6CD5\u7684\u81EA\u5B9A\u4E49\u503C",
|
|
212758
|
+
"regnode.input": "\u8F93\u5165\uFF1A",
|
|
212759
|
+
"regnode.output": "\u8F93\u51FA\uFF1A",
|
|
212760
|
+
"regnode.args": "\u53C2\u6570\uFF1A",
|
|
212761
|
+
"regnode.mark": "\u5907\u6CE8\uFF1A",
|
|
212762
|
+
"regnode.subtree": "\u5B50\u6811\uFF1A",
|
|
212763
|
+
"node.args": "\u5E38\u91CF\u53C2\u6570",
|
|
212764
|
+
"node.children.unlimited": "\u65E0\u9650\u5236",
|
|
212765
|
+
"node.children": "\u5B50\u8282\u70B9\u6570\u91CF",
|
|
212766
|
+
"node.debug": "\u8C03\u8BD5",
|
|
212767
|
+
"node.deleteRootNodeDenied": "\u4E0D\u80FD\u5220\u9664\u6839\u8282\u70B9",
|
|
212768
|
+
"node.dropDenied": "\u6B64\u8282\u70B9\u4F4D\u7F6E\u4E0D\u5141\u8BB8\u653E\u7F6E\u62D6\u62FD\u7684\u8282\u70B9",
|
|
212769
|
+
"node.desc": "\u8282\u70B9\u8BF4\u660E",
|
|
212770
|
+
"node.disabled": "\u7981\u7528",
|
|
212771
|
+
"node.editSubtreeDenied": "\u4E0D\u80FD\u7F16\u8F91\u5B50\u6811\u8282\u70B9",
|
|
212772
|
+
"node.editFailed": "\u8282\u70B9 {{name}} \u7F16\u8F91\u5931\u8D25",
|
|
212773
|
+
"node.group": "\u8282\u70B9\u5206\u7EC4",
|
|
212774
|
+
"node.groupNotEnabled": "\u8282\u70B9\u5206\u7EC4 \u201C{{group}}\u201D \u4EFB\u610F\u4E00\u4E2A\u672A\u5728\u5F53\u524D\u6587\u4EF6\u4E2D\u542F\u7528",
|
|
212775
|
+
"node.id": "\u8282\u70B9\u6807\u8BC6",
|
|
212776
|
+
"node.inputVariable": "\u8F93\u5165\u53D8\u91CF",
|
|
212777
|
+
"node.invalidChildren": "\u5B50\u8282\u70B9\u6570\u91CF\u4E0D\u5408\u6CD5",
|
|
212778
|
+
"node.invalidExpression": "\u8868\u8FBE\u5F0F\u4E0D\u5408\u6CD5",
|
|
212779
|
+
"node.invalidValue": "\u65E0\u6548\u7684\u503C",
|
|
212780
|
+
"node.invalidVariableName": "\u53D8\u91CF\u540D\u5FC5\u987B\u4EE5\u5B57\u6BCD\u6216\u4E0B\u5212\u7EBF\u5F00\u5934",
|
|
212781
|
+
"node.name": "\u8282\u70B9\u540D\u79F0",
|
|
212782
|
+
"node.noNodeSelected": "\u672A\u9009\u62E9\u4EFB\u52A1\u8282\u70B9",
|
|
212783
|
+
"node.notFound": "\u8282\u70B9 \u201C{{name}}\u201D \u4E0D\u5B58\u5728",
|
|
212784
|
+
"node.oneof.error": "\u8F93\u5165\u9879 \u201C{{input}}\u201D \u548C\u53C2\u6570 \u201C{{desc}}({{arg}})\u201D \u4E4B\u4E2D\uFF0C\u53EA\u80FD\u9009\u62E9\u8BBE\u7F6E\u5176\u4E2D\u4E4B\u4E00",
|
|
212785
|
+
"node.oneof.inputNotfound": "\u8F93\u5165\u9879\u201C{{input}}\u201D\u4E0D\u5B58\u5728",
|
|
212786
|
+
"node.outputVariable": "\u8F93\u51FA\u53D8\u91CF",
|
|
212787
|
+
"node.pasteDataError": "\u7C98\u8D34\u6570\u636E\u51FA\u9519",
|
|
212788
|
+
"node.rootNodeAsSubtree": "\u6839\u8282\u70B9\u4E0D\u80FD\u4FDD\u5B58\u4E3A\u5B50\u6811",
|
|
212789
|
+
"node.subtree": "\u5B50\u6811",
|
|
212790
|
+
"node.subtreeMissing": "\u5B50\u6811\u6587\u4EF6\u7F3A\u5931\uFF1A{{path}}",
|
|
212791
|
+
"node.subtreeInvalid": "\u5B50\u6811\u6587\u4EF6\u65E0\u6548\uFF1A{{path}}",
|
|
212792
|
+
"node.subtreeCyclic": "\u5B50\u6811\u5F15\u7528\u51FA\u73B0\u5FAA\u73AF\uFF1A{{path}}",
|
|
212793
|
+
"node.subtreeOpenFailed": "\u6253\u5F00\u5B50\u6811\u5931\u8D25\uFF1A\u6587\u4EF6\u4E0D\u5B58\u5728\u6216\u4E0D\u53EF\u8BFB\uFF08{{path}}\uFF09",
|
|
212794
|
+
"node.subtreePathError": "\u5B50\u6811\u5FC5\u987B\u4FDD\u5B58\u5728\u5F53\u524D\u5DE5\u4F5C\u533A\u7684\u76EE\u5F55\u5185",
|
|
212795
|
+
"node.subtreeSaveRootError": "\u6839\u8282\u70B9\u4E0D\u80FD\u4FDD\u5B58\u4E3A\u5B50\u6811",
|
|
212796
|
+
"node.subtreeSaveSuccess": "\u5DF2\u4FDD\u5B58\u5E76\u8F6C\u6362\u4E3A\u5B50\u6811\u8282\u70B9\uFF1A{{path}}",
|
|
212797
|
+
"node.moveSubtreeDenied": "\u4E0D\u80FD\u79FB\u52A8\u5B50\u6811\u5185\u90E8\u8282\u70B9",
|
|
212798
|
+
"node.dropSubtreeInternalDenied": "\u4E0D\u80FD\u62D6\u653E\u5230\u5B50\u6811\u5185\u90E8\u8282\u70B9",
|
|
212799
|
+
"node.moveRootDenied": "\u4E0D\u80FD\u79FB\u52A8\u6839\u8282\u70B9",
|
|
212800
|
+
"node.dropAroundRootDenied": "\u4E0D\u80FD\u5C06\u8282\u70B9\u653E\u5230\u6839\u8282\u70B9\u4E4B\u524D\u6216\u4E4B\u540E",
|
|
212801
|
+
"node.addChildToSubtreeRefDenied": "\u4E0D\u80FD\u5411\u5B50\u6811\u5F15\u7528\u6DFB\u52A0\u5B50\u8282\u70B9",
|
|
212802
|
+
"node.moveIntoDescendantDenied": "\u4E0D\u80FD\u5C06\u8282\u70B9\u79FB\u52A8\u5230\u81EA\u5DF1\u7684\u540E\u4EE3\u8282\u70B9\u4E2D",
|
|
212803
|
+
"node.type": "\u8282\u70B9\u7C7B\u578B",
|
|
212804
|
+
"node.undefinedVariable": "\u53D8\u91CF \u201C{{variable}}\u201D \u672A\u5B9A\u4E49",
|
|
212805
|
+
"node.jsonData": "JSON \u6570\u636E",
|
|
212806
|
+
"node.unknown.title": "\u672A\u77E5\u8282\u70B9",
|
|
212807
|
+
"node.unknownType": "\u672A\u77E5",
|
|
212808
|
+
"node.resolutionError": "\u89E3\u6790\u9519\u8BEF",
|
|
212809
|
+
"node.unknown.desc": "\u65B0\u5EFA\u8282\u70B9",
|
|
212810
|
+
"build.success": "\u6784\u5EFA\u5B8C\u6210\u3002",
|
|
212811
|
+
"build.failed": "\u6784\u5EFA\u5931\u8D25\u3002",
|
|
212812
|
+
"editor.loading": "\u6B63\u5728\u52A0\u8F7D\u7F16\u8F91\u5668...",
|
|
212813
|
+
"editor.externalChangeConflict": "\u68C0\u6D4B\u5230\u5916\u90E8\u6587\u4EF6\u53D8\u66F4\uFF0C\u5F53\u524D\u6587\u6863\u8FD8\u6709\u672A\u4FDD\u5B58\u4FEE\u6539\u3002",
|
|
212814
|
+
"editor.reloadFromDisk": "\u91CD\u65B0\u8F7D\u5165",
|
|
212815
|
+
"editor.dismissConflict": "\u5FFD\u7565",
|
|
212816
|
+
"editor.newerVersionEditDenied": "\u6B64\u6587\u4EF6\u7531\u65B0\u7248\u672C Behavior3({{version}}) \u521B\u5EFA\uFF0C\u8BF7\u5347\u7EA7\u5230\u6700\u65B0\u7248\u672C\u540E\u518D\u7F16\u8F91\u3002",
|
|
212817
|
+
"inspector.noActiveDocument": "\u6253\u5F00\u4E00\u4E2A Behavior3 \u7F16\u8F91\u5668\u540E\uFF0C\u8FD9\u91CC\u4F1A\u663E\u793A\u5F53\u524D\u884C\u4E3A\u6811\u7684 Inspector\uFF0C\u5E76\u652F\u6301\u76F4\u63A5\u7F16\u8F91\u3002",
|
|
212818
|
+
"inspector.embeddedModeNotice": "Inspector \u5F53\u524D\u914D\u7F6E\u4E3A\u5728 Behavior3 \u7F16\u8F91\u5668\u5185\u90E8\u663E\u793A\u3002",
|
|
212819
|
+
"inspector.embeddedToolbar.build": "\u6784\u5EFA\u884C\u4E3A\u6811",
|
|
212820
|
+
"inspector.embeddedToolbar.toggleEditorMode": "\u5207\u6362\u7F16\u8F91\u5668\u6A21\u5F0F",
|
|
212821
|
+
"inspector.embeddedToolbar.toggleInspectorNodeJson": "\u5207\u6362\u539F\u59CB\u8282\u70B9 JSON",
|
|
212822
|
+
"inspector.embeddedToolbar.createProject": "\u65B0\u5EFA\u9879\u76EE",
|
|
212823
|
+
"inspector.embeddedToolbar.createTree": "\u65B0\u5EFA\u884C\u4E3A\u6811",
|
|
212824
|
+
"mutation.invalidJsonPath": "\u65E0\u6548\u7684 JSON \u8DEF\u5F84: {{path}}",
|
|
212825
|
+
"mutation.missingSelectedNode": "\u5F53\u524D\u6CA1\u6709\u53EF\u7528\u4E8E\u63D0\u4EA4\u6B64\u4FEE\u6539\u7684\u9009\u4E2D\u8282\u70B9\u3002",
|
|
212826
|
+
"mutation.selectedNodeMismatch": "\u5F53\u524D\u9009\u4E2D\u8282\u70B9\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u8BD5\u3002",
|
|
212827
|
+
"mutation.missingTargetNode": "\u672A\u627E\u5230\u76EE\u6807\u8282\u70B9\uFF0C\u8BF7\u91CD\u8BD5\u3002",
|
|
212828
|
+
"mutation.missingSourceNode": "\u672A\u627E\u5230\u6E90\u8282\u70B9\uFF0C\u8BF7\u91CD\u8BD5\u3002",
|
|
212829
|
+
"mutation.missingSubtreeOriginal": "\u7F3A\u5C11 subtree \u539F\u59CB\u8282\u70B9\u5FEB\u7167\uFF0C\u8BF7\u91CD\u8BD5\u3002",
|
|
212830
|
+
"mutation.missingDetachedSubtreeRoot": "\u7F3A\u5C11\u7528\u4E8E\u89E3\u7ED1 subtree \u5F15\u7528\u7684\u5FEB\u7167\uFF0C\u8BF7\u91CD\u8BD5\u3002",
|
|
212831
|
+
"mutation.moveRootDenied": "\u4E0D\u80FD\u79FB\u52A8\u6839\u8282\u70B9\u3002",
|
|
212832
|
+
"mutation.dropAroundRootDenied": "\u4E0D\u80FD\u56F4\u7ED5\u6839\u8282\u70B9\u63D2\u5165\u3002",
|
|
212833
|
+
"mutation.addChildToSubtreeRefDenied": "\u4E0D\u80FD\u76F4\u63A5\u5411 subtree \u5F15\u7528\u6DFB\u52A0\u5B50\u8282\u70B9\u3002",
|
|
212834
|
+
"mutation.moveIntoDescendantDenied": "\u4E0D\u80FD\u79FB\u52A8\u5230\u81EA\u5DF1\u7684\u540E\u4EE3\u4E0B\u3002",
|
|
212835
|
+
"mutation.deleteRootNodeDenied": "\u4E0D\u80FD\u5220\u9664\u6839\u8282\u70B9\u3002",
|
|
212836
|
+
"mutation.editSubtreeDenied": "\u4E0D\u80FD\u5728 subtree \u5F15\u7528\u4E0A\u76F4\u63A5\u4FEE\u6539\u7ED3\u6784\u3002",
|
|
212837
|
+
"mutation.saveSelectedAsSubtreeRootDenied": "\u6839\u8282\u70B9\u4E0D\u80FD\u53E6\u5B58\u4E3A subtree\u3002",
|
|
212838
|
+
"mutation.saveSelectedAsSubtreeMissingTarget": "\u672A\u627E\u5230\u53EF\u53E6\u5B58\u4E3A subtree \u7684\u76EE\u6807\u8282\u70B9\u3002",
|
|
212839
|
+
"mutation.saveSelectedAsSubtreePostSaveMissingTarget": "\u63D0\u4EA4 subtree \u4FDD\u5B58\u7ED3\u679C\u65F6\u672A\u627E\u5230\u76EE\u6807\u8282\u70B9\u3002",
|
|
212840
|
+
"runtime.nodeCheckRuntimeHasErrors": "checker \u8FD0\u884C\u65F6\u5B58\u5728\u9519\u8BEF\u3002",
|
|
212841
|
+
"runtime.invalidSavedSubtreePath": "\u5BBF\u4E3B\u8FD4\u56DE\u4E86\u65E0\u6548\u7684 subtree \u4FDD\u5B58\u8DEF\u5F84\u3002",
|
|
212842
|
+
"runtime.unsupportedDocumentMutation": "\u4E0D\u652F\u6301\u6B64\u6587\u6863\u4FEE\u6539\u3002",
|
|
212843
|
+
"runtime.visibleHookNotRegistered": "visible \u201C{{name}}\u201D \u672A\u6CE8\u518C\u3002",
|
|
212844
|
+
"runtime.visibleHookFailed": "visible \u201C{{name}}\u201D \u6267\u884C\u5931\u8D25\uFF1A{{error}}",
|
|
212845
|
+
"runtime.visibleExpressionDisabled": "visible \u8868\u8FBE\u5F0F\u5DF2\u7981\u7528\uFF1B\u8BF7\u542F\u7528 settings.allowNewFunction\u3002",
|
|
212846
|
+
"runtime.visibleExpressionCompileFailed": "visible \u8868\u8FBE\u5F0F\u7F16\u8BD1\u5931\u8D25\uFF1A{{error}}",
|
|
212847
|
+
"runtime.visibleExpressionFailed": "visible \u8868\u8FBE\u5F0F\u6267\u884C\u5931\u8D25\uFF1A{{error}}",
|
|
212848
|
+
"runtime.visibleExpressionUnknownArg": "visible \u8868\u8FBE\u5F0F\u5F15\u7528\u4E86 args.{{property}}\uFF0C\u4F46 \u201C{{property}}\u201D \u4E0D\u5728\u5DF2\u5B9A\u4E49\u7684\u53C2\u6570\u8303\u56F4\u5185\uFF08\u5DF2\u5B9A\u4E49\u53C2\u6570\uFF1A{{definedArgs}}\uFF09\u3002",
|
|
212849
|
+
"runtime.visibleExpressionNoArgs": "visible \u8868\u8FBE\u5F0F\u5F15\u7528\u4E86 args.{{property}}\uFF0C\u4F46\u5F53\u524D\u8282\u70B9\u672A\u5B9A\u4E49\u53C2\u6570\u3002",
|
|
212850
|
+
"runtime.visibleExpressionUnknownSlotIndex": "visible \u8868\u8FBE\u5F0F\u5F15\u7528\u4E86 {{fieldKind}}[{{index}}]\uFF0C\u4F46{{definedScope}}\u3002",
|
|
212851
|
+
"runtime.visibleExpressionInvalidSlotProperty": "visible \u8868\u8FBE\u5F0F\u5F15\u7528\u4E86 {{fieldKind}}.{{property}}\uFF0C\u4F46 {{fieldKind}} \u4EC5\u652F\u6301\u5DF2\u5B9A\u4E49\u7684\u6570\u5B57\u69FD\u4F4D\u7D22\u5F15\u3002",
|
|
212852
|
+
"runtime.visibleSlotScopeNone": "\u5F53\u524D\u8282\u70B9\u672A\u5B9A\u4E49{{fieldKind}}\u69FD\u4F4D",
|
|
212853
|
+
"runtime.visibleSlotScopeIndex": "\u5DF2\u5B9A\u4E49\u7684{{fieldKind}}\u69FD\u4F4D\u7D22\u5F15\u53EA\u6709 {{start}}",
|
|
212854
|
+
"runtime.visibleSlotScopeRange": "\u5DF2\u5B9A\u4E49\u7684{{fieldKind}}\u69FD\u4F4D\u7D22\u5F15\u8303\u56F4\u662F {{start}}..{{end}}",
|
|
212855
|
+
"runtime.visibleSlotScopeRangeVariadic": "\u5DF2\u5B9A\u4E49\u7684{{fieldKind}}\u69FD\u4F4D\u7D22\u5F15\u8303\u56F4\u662F {{start}}..{{end}}+",
|
|
212856
|
+
"override.resetTitle": "\u91CD\u7F6E\u6B64\u8986\u76D6\uFF1F",
|
|
212857
|
+
"form.enterJsonArray": "\u8F93\u5165 JSON \u6570\u7EC4",
|
|
212858
|
+
"form.enterJsonValue": "\u8F93\u5165 JSON \u503C",
|
|
212859
|
+
"form.unset": "\u672A\u8BBE\u7F6E",
|
|
212860
|
+
"form.true": "\u662F",
|
|
212861
|
+
"form.false": "\u5426",
|
|
212862
|
+
"validation.jsonArray": "{{name}} \u5FC5\u987B\u662F JSON \u6570\u7EC4",
|
|
212863
|
+
"validation.integer": "{{field}} \u5FC5\u987B\u662F\u6574\u6570",
|
|
212864
|
+
"validation.number": "{{field}} \u5FC5\u987B\u662F\u6570\u5B57",
|
|
212865
|
+
"validation.missingOneofInput": "\u7F3A\u5C11 oneof \u8F93\u5165\u9879 \u201C{{input}}\u201D",
|
|
212866
|
+
"validation.oneof": "\u201C{{left}}\u201D \u548C \u201C{{right}}\u201D \u53EA\u80FD\u8BBE\u7F6E\u5176\u4E2D\u4E4B\u4E00",
|
|
212867
|
+
"validation.invalidJsonPath": "\u8DEF\u5F84\u5FC5\u987B\u662F\u5DE5\u4F5C\u76EE\u5F55\u5185\u7684\u76F8\u5BF9 .json \u6587\u4EF6\uFF1A{{path}}",
|
|
212868
|
+
"validation.variableDescriptionRequired": "\u53D8\u91CF\u8BF4\u660E\u5FC5\u586B",
|
|
212869
|
+
"validation.customKeyRequired": "\u81EA\u5B9A\u4E49 key \u5FC5\u586B",
|
|
212870
|
+
"validation.customKeyDuplicate": "\u81EA\u5B9A\u4E49 key \u201C{{key}}\u201D \u91CD\u590D\u4E86",
|
|
212871
|
+
"validation.customValueInvalid": "\u81EA\u5B9A\u4E49\u503C\u5FC5\u987B\u662F\u5B57\u7B26\u4E32\u3001\u6570\u5B57\u6216\u5E03\u5C14\u503C"
|
|
212872
|
+
};
|
|
212873
|
+
|
|
212874
|
+
// webview/shared/runtime-i18n.ts
|
|
212875
|
+
var runtimeTranslations = {
|
|
212876
|
+
en: en_default,
|
|
212877
|
+
zh: zh_default
|
|
212878
|
+
};
|
|
212879
|
+
var INTERPOLATION_PATTERN = /\{\{\s*([^{}\s]+)\s*\}\}/g;
|
|
212880
|
+
var normalizeI18nLanguage = (language) => {
|
|
212881
|
+
const value = (language ?? "").toLowerCase();
|
|
212882
|
+
return value.startsWith("zh") ? "zh" : "en";
|
|
212883
|
+
};
|
|
212884
|
+
var interpolateRuntimeMessage = (template, params) => {
|
|
212885
|
+
if (!params) {
|
|
212886
|
+
return template;
|
|
212887
|
+
}
|
|
212888
|
+
return template.replace(INTERPOLATION_PATTERN, (match, key) => {
|
|
212889
|
+
const value = params[key];
|
|
212890
|
+
return value === void 0 || value === null ? match : String(value);
|
|
212891
|
+
});
|
|
212892
|
+
};
|
|
212893
|
+
var translateRuntimeMessage = (language, key, params) => {
|
|
212894
|
+
const template = runtimeTranslations[language][key] ?? runtimeTranslations.en[key] ?? key;
|
|
212895
|
+
return interpolateRuntimeMessage(template, params);
|
|
212896
|
+
};
|
|
212897
|
+
|
|
212431
212898
|
// webview/shared/protocol.ts
|
|
212432
212899
|
var URI_SCHEME_PATTERN = /^[a-zA-Z][a-zA-Z0-9+.-]*:/;
|
|
212433
212900
|
var WINDOWS_ABSOLUTE_PATTERN = /^[a-zA-Z]:[\\/]/;
|
|
@@ -212881,6 +213348,7 @@ var normalizeWorkspaceModel = (value) => {
|
|
|
212881
213348
|
}
|
|
212882
213349
|
return {
|
|
212883
213350
|
settings: {
|
|
213351
|
+
allowNewFunction: typeof settingsRecord.allowNewFunction === "boolean" ? settingsRecord.allowNewFunction : void 0,
|
|
212884
213352
|
checkExpr: typeof settingsRecord.checkExpr === "boolean" ? settingsRecord.checkExpr : void 0,
|
|
212885
213353
|
buildScript: asOptionalString(settingsRecord.buildScript),
|
|
212886
213354
|
checkScripts: settingsRecord.checkScripts === void 0 ? void 0 : Array.isArray(settingsRecord.checkScripts) ? settingsRecord.checkScripts.map(
|
|
@@ -213449,6 +213917,7 @@ var markVisibleHook = (nameOrCtor, _context) => {
|
|
|
213449
213917
|
var isDecoratedBuildHookCtor = (value) => typeof value === "function" && value[BUILD_HOOK_MARKER] === true;
|
|
213450
213918
|
var isDecoratedBatchHookCtor = (value) => typeof value === "function" && value[BATCH_HOOK_MARKER] === true;
|
|
213451
213919
|
var isDecoratedCheckCtor = (value) => typeof value === "function" && value[CHECK_HOOK_MARKER] === true;
|
|
213920
|
+
var isDecoratedVisibleCtor = (value) => typeof value === "function" && value[VISIBLE_HOOK_MARKER] === true;
|
|
213452
213921
|
var findDecoratedBuildHookCtor = (moduleRecord) => {
|
|
213453
213922
|
const decorated = Array.from(new Set(Object.values(moduleRecord))).filter(
|
|
213454
213923
|
isDecoratedBuildHookCtor
|
|
@@ -213480,6 +213949,7 @@ var findDecoratedBatchHookCtor = (moduleRecord) => {
|
|
|
213480
213949
|
return legacyDecorated[0];
|
|
213481
213950
|
};
|
|
213482
213951
|
var findDecoratedCheckCtors = (moduleRecord) => Array.from(new Set(Object.values(moduleRecord))).filter(isDecoratedCheckCtor);
|
|
213952
|
+
var findDecoratedVisibleCtors = (moduleRecord) => Array.from(new Set(Object.values(moduleRecord))).filter(isDecoratedVisibleCtor);
|
|
213483
213953
|
var createBuildHooks = (moduleExports, env, reportMissing = true) => {
|
|
213484
213954
|
if (!moduleExports || typeof moduleExports !== "object") {
|
|
213485
213955
|
return void 0;
|
|
@@ -213565,6 +214035,342 @@ var createNodeFieldCheckers = (moduleExports, env) => {
|
|
|
213565
214035
|
}
|
|
213566
214036
|
return { checkers, hasError, hasCheckers: decorated.length > 0 };
|
|
213567
214037
|
};
|
|
214038
|
+
var normalizeNodeFieldVisibleResult = (result) => result !== false;
|
|
214039
|
+
var VISIBLE_HANDLER_NAME_PATTERN = /^\w+$/;
|
|
214040
|
+
var VISIBLE_EXPRESSION_TOKEN_PATTERN = /[\s()[\].!=<>|&+*\/?:'"]/;
|
|
214041
|
+
var VISIBLE_ARRAY_INDEX_PATTERN = /^(0|[1-9]\d*)$/;
|
|
214042
|
+
var visibleExpressionCache = /* @__PURE__ */ new Map();
|
|
214043
|
+
var getBuildEnvLanguage = (env) => normalizeI18nLanguage(env.language);
|
|
214044
|
+
var translateVisibleRuntimeMessage = (env, key, params) => translateRuntimeMessage(getBuildEnvLanguage(env), key, params);
|
|
214045
|
+
var formatVisibleArgScope = (env, definedArgNames) => getBuildEnvLanguage(env) === "zh" ? definedArgNames.join("\u3001") : definedArgNames.join(", ");
|
|
214046
|
+
var getVisibleFieldKindLabel = (env, fieldKind) => {
|
|
214047
|
+
if (getBuildEnvLanguage(env) === "zh") {
|
|
214048
|
+
return fieldKind === "input" ? "\u8F93\u5165" : "\u8F93\u51FA";
|
|
214049
|
+
}
|
|
214050
|
+
return fieldKind;
|
|
214051
|
+
};
|
|
214052
|
+
var parseVisibleArrayIndex = (property) => {
|
|
214053
|
+
if (typeof property === "number") {
|
|
214054
|
+
return Number.isInteger(property) && property >= 0 ? property : null;
|
|
214055
|
+
}
|
|
214056
|
+
if (typeof property === "string" && VISIBLE_ARRAY_INDEX_PATTERN.test(property)) {
|
|
214057
|
+
return Number(property);
|
|
214058
|
+
}
|
|
214059
|
+
return null;
|
|
214060
|
+
};
|
|
214061
|
+
var isVisibleSlotIndexDefined = (slotDefs, index) => {
|
|
214062
|
+
if (index < 0) {
|
|
214063
|
+
return false;
|
|
214064
|
+
}
|
|
214065
|
+
const slotCount = slotDefs?.length ?? 0;
|
|
214066
|
+
if (slotCount === 0) {
|
|
214067
|
+
return false;
|
|
214068
|
+
}
|
|
214069
|
+
if (index < slotCount) {
|
|
214070
|
+
return true;
|
|
214071
|
+
}
|
|
214072
|
+
const normalizedSlotDefs = slotDefs ?? [];
|
|
214073
|
+
return parseSlotDefinition(
|
|
214074
|
+
normalizedSlotDefs[slotCount - 1] ?? "",
|
|
214075
|
+
normalizedSlotDefs,
|
|
214076
|
+
slotCount - 1
|
|
214077
|
+
).variadic;
|
|
214078
|
+
};
|
|
214079
|
+
var formatVisibleSlotScope = (env, fieldKind, slotDefs) => {
|
|
214080
|
+
const slotCount = slotDefs?.length ?? 0;
|
|
214081
|
+
const fieldKindLabel = getVisibleFieldKindLabel(env, fieldKind);
|
|
214082
|
+
if (slotCount === 0) {
|
|
214083
|
+
return translateVisibleRuntimeMessage(env, "runtime.visibleSlotScopeNone", {
|
|
214084
|
+
fieldKind: fieldKindLabel
|
|
214085
|
+
});
|
|
214086
|
+
}
|
|
214087
|
+
if (parseSlotDefinition(slotDefs?.[slotCount - 1] ?? "", slotDefs, slotCount - 1).variadic) {
|
|
214088
|
+
return translateVisibleRuntimeMessage(env, "runtime.visibleSlotScopeRangeVariadic", {
|
|
214089
|
+
fieldKind: fieldKindLabel,
|
|
214090
|
+
start: 0,
|
|
214091
|
+
end: slotCount - 1
|
|
214092
|
+
});
|
|
214093
|
+
}
|
|
214094
|
+
return slotCount === 1 ? translateVisibleRuntimeMessage(env, "runtime.visibleSlotScopeIndex", {
|
|
214095
|
+
fieldKind: fieldKindLabel,
|
|
214096
|
+
start: 0
|
|
214097
|
+
}) : translateVisibleRuntimeMessage(env, "runtime.visibleSlotScopeRange", {
|
|
214098
|
+
fieldKind: fieldKindLabel,
|
|
214099
|
+
start: 0,
|
|
214100
|
+
end: slotCount - 1
|
|
214101
|
+
});
|
|
214102
|
+
};
|
|
214103
|
+
var createVisibleArgScope = (ctx) => {
|
|
214104
|
+
const definedArgNames = (ctx.nodeDef.args ?? []).map((arg) => arg.name);
|
|
214105
|
+
const definedArgNameSet = new Set(definedArgNames);
|
|
214106
|
+
const target = Object.assign(
|
|
214107
|
+
/* @__PURE__ */ Object.create(null),
|
|
214108
|
+
ctx.node.args ?? {}
|
|
214109
|
+
);
|
|
214110
|
+
return new Proxy(target, {
|
|
214111
|
+
get(currentTarget, property) {
|
|
214112
|
+
if (typeof property === "symbol") {
|
|
214113
|
+
return Reflect.get(currentTarget, property);
|
|
214114
|
+
}
|
|
214115
|
+
if (definedArgNameSet.has(property)) {
|
|
214116
|
+
return currentTarget[property];
|
|
214117
|
+
}
|
|
214118
|
+
throw new Error(
|
|
214119
|
+
definedArgNames.length ? translateVisibleRuntimeMessage(
|
|
214120
|
+
ctx.env,
|
|
214121
|
+
"runtime.visibleExpressionUnknownArg",
|
|
214122
|
+
{
|
|
214123
|
+
property,
|
|
214124
|
+
definedArgs: formatVisibleArgScope(ctx.env, definedArgNames)
|
|
214125
|
+
}
|
|
214126
|
+
) : translateVisibleRuntimeMessage(ctx.env, "runtime.visibleExpressionNoArgs", {
|
|
214127
|
+
property
|
|
214128
|
+
})
|
|
214129
|
+
);
|
|
214130
|
+
},
|
|
214131
|
+
has(_currentTarget, property) {
|
|
214132
|
+
if (typeof property === "symbol") {
|
|
214133
|
+
return false;
|
|
214134
|
+
}
|
|
214135
|
+
return definedArgNameSet.has(property);
|
|
214136
|
+
}
|
|
214137
|
+
});
|
|
214138
|
+
};
|
|
214139
|
+
var createVisibleSlotScope = (fieldKind, values, slotDefs, env) => {
|
|
214140
|
+
const target = values ?? [];
|
|
214141
|
+
return new Proxy(target, {
|
|
214142
|
+
get(currentTarget, property, receiver) {
|
|
214143
|
+
if (typeof property === "symbol") {
|
|
214144
|
+
return Reflect.get(currentTarget, property, receiver);
|
|
214145
|
+
}
|
|
214146
|
+
const index = parseVisibleArrayIndex(property);
|
|
214147
|
+
if (index !== null) {
|
|
214148
|
+
if (!isVisibleSlotIndexDefined(slotDefs, index)) {
|
|
214149
|
+
throw new Error(
|
|
214150
|
+
translateVisibleRuntimeMessage(
|
|
214151
|
+
env,
|
|
214152
|
+
"runtime.visibleExpressionUnknownSlotIndex",
|
|
214153
|
+
{
|
|
214154
|
+
fieldKind: getVisibleFieldKindLabel(env, fieldKind),
|
|
214155
|
+
index,
|
|
214156
|
+
definedScope: formatVisibleSlotScope(env, fieldKind, slotDefs)
|
|
214157
|
+
}
|
|
214158
|
+
)
|
|
214159
|
+
);
|
|
214160
|
+
}
|
|
214161
|
+
return Reflect.get(currentTarget, property, receiver);
|
|
214162
|
+
}
|
|
214163
|
+
if (property in currentTarget || property in Array.prototype) {
|
|
214164
|
+
return Reflect.get(currentTarget, property, receiver);
|
|
214165
|
+
}
|
|
214166
|
+
throw new Error(
|
|
214167
|
+
translateVisibleRuntimeMessage(
|
|
214168
|
+
env,
|
|
214169
|
+
"runtime.visibleExpressionInvalidSlotProperty",
|
|
214170
|
+
{
|
|
214171
|
+
fieldKind: getVisibleFieldKindLabel(env, fieldKind),
|
|
214172
|
+
property: String(property)
|
|
214173
|
+
}
|
|
214174
|
+
)
|
|
214175
|
+
);
|
|
214176
|
+
},
|
|
214177
|
+
has(currentTarget, property) {
|
|
214178
|
+
if (typeof property === "symbol") {
|
|
214179
|
+
return property in currentTarget;
|
|
214180
|
+
}
|
|
214181
|
+
const index = parseVisibleArrayIndex(property);
|
|
214182
|
+
if (index !== null) {
|
|
214183
|
+
return isVisibleSlotIndexDefined(slotDefs, index);
|
|
214184
|
+
}
|
|
214185
|
+
return property in currentTarget || property in Array.prototype;
|
|
214186
|
+
}
|
|
214187
|
+
});
|
|
214188
|
+
};
|
|
214189
|
+
var isNamedNodeFieldVisible = (visibleName) => VISIBLE_HANDLER_NAME_PATTERN.test(visibleName);
|
|
214190
|
+
var isInlineNodeFieldVisibleExpression = (visibleName, visibles) => {
|
|
214191
|
+
if (visibles.has(visibleName)) {
|
|
214192
|
+
return false;
|
|
214193
|
+
}
|
|
214194
|
+
if (isNamedNodeFieldVisible(visibleName)) {
|
|
214195
|
+
return false;
|
|
214196
|
+
}
|
|
214197
|
+
return VISIBLE_EXPRESSION_TOKEN_PATTERN.test(visibleName);
|
|
214198
|
+
};
|
|
214199
|
+
var getVisibleExpressionEvaluator = (expression) => {
|
|
214200
|
+
const cached = visibleExpressionCache.get(expression);
|
|
214201
|
+
if (cached) {
|
|
214202
|
+
return cached;
|
|
214203
|
+
}
|
|
214204
|
+
const evaluator = new Function(
|
|
214205
|
+
"args",
|
|
214206
|
+
"input",
|
|
214207
|
+
"output",
|
|
214208
|
+
"value",
|
|
214209
|
+
`"use strict"; return (${expression});`
|
|
214210
|
+
);
|
|
214211
|
+
visibleExpressionCache.set(expression, evaluator);
|
|
214212
|
+
return evaluator;
|
|
214213
|
+
};
|
|
214214
|
+
var resolveNodeFieldVisible = (params) => {
|
|
214215
|
+
if (!isInlineNodeFieldVisibleExpression(params.visibleName, params.visibles)) {
|
|
214216
|
+
const visible = params.visibles.get(params.visibleName);
|
|
214217
|
+
if (!visible) {
|
|
214218
|
+
return {
|
|
214219
|
+
diagnostic: {
|
|
214220
|
+
source: params.visibleName,
|
|
214221
|
+
message: translateVisibleRuntimeMessage(
|
|
214222
|
+
params.ctx.env,
|
|
214223
|
+
"runtime.visibleHookNotRegistered",
|
|
214224
|
+
{
|
|
214225
|
+
name: params.visibleName
|
|
214226
|
+
}
|
|
214227
|
+
)
|
|
214228
|
+
}
|
|
214229
|
+
};
|
|
214230
|
+
}
|
|
214231
|
+
try {
|
|
214232
|
+
return {
|
|
214233
|
+
visible: normalizeNodeFieldVisibleResult(visible.visible(params.value, params.ctx))
|
|
214234
|
+
};
|
|
214235
|
+
} catch (error) {
|
|
214236
|
+
return {
|
|
214237
|
+
diagnostic: {
|
|
214238
|
+
source: params.visibleName,
|
|
214239
|
+
message: translateVisibleRuntimeMessage(
|
|
214240
|
+
params.ctx.env,
|
|
214241
|
+
"runtime.visibleHookFailed",
|
|
214242
|
+
{
|
|
214243
|
+
name: params.visibleName,
|
|
214244
|
+
error: formatRuntimeError(error)
|
|
214245
|
+
}
|
|
214246
|
+
)
|
|
214247
|
+
}
|
|
214248
|
+
};
|
|
214249
|
+
}
|
|
214250
|
+
}
|
|
214251
|
+
if (!params.ctx.env.allowNewFunction) {
|
|
214252
|
+
return {
|
|
214253
|
+
diagnostic: {
|
|
214254
|
+
source: params.visibleName,
|
|
214255
|
+
message: translateVisibleRuntimeMessage(
|
|
214256
|
+
params.ctx.env,
|
|
214257
|
+
"runtime.visibleExpressionDisabled"
|
|
214258
|
+
)
|
|
214259
|
+
}
|
|
214260
|
+
};
|
|
214261
|
+
}
|
|
214262
|
+
let evaluator;
|
|
214263
|
+
try {
|
|
214264
|
+
evaluator = getVisibleExpressionEvaluator(params.visibleName);
|
|
214265
|
+
} catch (error) {
|
|
214266
|
+
return {
|
|
214267
|
+
diagnostic: {
|
|
214268
|
+
source: params.visibleName,
|
|
214269
|
+
message: translateVisibleRuntimeMessage(
|
|
214270
|
+
params.ctx.env,
|
|
214271
|
+
"runtime.visibleExpressionCompileFailed",
|
|
214272
|
+
{
|
|
214273
|
+
error: formatRuntimeError(error)
|
|
214274
|
+
}
|
|
214275
|
+
)
|
|
214276
|
+
}
|
|
214277
|
+
};
|
|
214278
|
+
}
|
|
214279
|
+
try {
|
|
214280
|
+
return {
|
|
214281
|
+
visible: normalizeNodeFieldVisibleResult(
|
|
214282
|
+
evaluator(
|
|
214283
|
+
createVisibleArgScope(params.ctx),
|
|
214284
|
+
createVisibleSlotScope(
|
|
214285
|
+
"input",
|
|
214286
|
+
params.ctx.node.input ?? [],
|
|
214287
|
+
params.ctx.nodeDef.input,
|
|
214288
|
+
params.ctx.env
|
|
214289
|
+
),
|
|
214290
|
+
createVisibleSlotScope(
|
|
214291
|
+
"output",
|
|
214292
|
+
params.ctx.node.output ?? [],
|
|
214293
|
+
params.ctx.nodeDef.output,
|
|
214294
|
+
params.ctx.env
|
|
214295
|
+
),
|
|
214296
|
+
params.value
|
|
214297
|
+
)
|
|
214298
|
+
)
|
|
214299
|
+
};
|
|
214300
|
+
} catch (error) {
|
|
214301
|
+
return {
|
|
214302
|
+
diagnostic: {
|
|
214303
|
+
source: params.visibleName,
|
|
214304
|
+
message: translateVisibleRuntimeMessage(
|
|
214305
|
+
params.ctx.env,
|
|
214306
|
+
"runtime.visibleExpressionFailed",
|
|
214307
|
+
{
|
|
214308
|
+
error: formatRuntimeError(error)
|
|
214309
|
+
}
|
|
214310
|
+
)
|
|
214311
|
+
}
|
|
214312
|
+
};
|
|
214313
|
+
}
|
|
214314
|
+
};
|
|
214315
|
+
var createNodeFieldVisibles = (moduleExports, env) => {
|
|
214316
|
+
const visibles = /* @__PURE__ */ new Map();
|
|
214317
|
+
let hasError = false;
|
|
214318
|
+
if (!moduleExports || typeof moduleExports !== "object") {
|
|
214319
|
+
return { visibles, hasError, hasVisibles: false };
|
|
214320
|
+
}
|
|
214321
|
+
const moduleRecord = moduleExports;
|
|
214322
|
+
const decorated = findDecoratedVisibleCtors(moduleRecord);
|
|
214323
|
+
for (const ctor of decorated) {
|
|
214324
|
+
const name = ctor[VISIBLE_HOOK_NAME]?.trim() || ctor.name;
|
|
214325
|
+
if (!name) {
|
|
214326
|
+
logger.error("visible class must have a non-empty @behavior3.visible name");
|
|
214327
|
+
hasError = true;
|
|
214328
|
+
continue;
|
|
214329
|
+
}
|
|
214330
|
+
if (visibles.has(name)) {
|
|
214331
|
+
logger.error(`duplicate @behavior3.visible registration: ${name}`);
|
|
214332
|
+
hasError = true;
|
|
214333
|
+
continue;
|
|
214334
|
+
}
|
|
214335
|
+
try {
|
|
214336
|
+
const instance = new ctor(env);
|
|
214337
|
+
if (typeof instance.visible !== "function") {
|
|
214338
|
+
logger.error(`visible '${name}' must provide a visible(value, ctx) method`);
|
|
214339
|
+
hasError = true;
|
|
214340
|
+
continue;
|
|
214341
|
+
}
|
|
214342
|
+
visibles.set(name, instance);
|
|
214343
|
+
} catch (error) {
|
|
214344
|
+
logger.error(`failed to instantiate visible '${name}'`, error);
|
|
214345
|
+
hasError = true;
|
|
214346
|
+
}
|
|
214347
|
+
}
|
|
214348
|
+
return { visibles, hasError, hasVisibles: decorated.length > 0 };
|
|
214349
|
+
};
|
|
214350
|
+
var createNodeFieldVisibleRuntimeWithCheckModules = (buildScriptModule, checkScriptModules, env) => {
|
|
214351
|
+
const nodeFieldVisibles = /* @__PURE__ */ new Map();
|
|
214352
|
+
let hasError = false;
|
|
214353
|
+
const mergeModuleVisibles = (moduleExports) => {
|
|
214354
|
+
const visibleResult = createNodeFieldVisibles(moduleExports, env);
|
|
214355
|
+
hasError = hasError || visibleResult.hasError;
|
|
214356
|
+
for (const [name, visible] of visibleResult.visibles) {
|
|
214357
|
+
if (nodeFieldVisibles.has(name)) {
|
|
214358
|
+
logger.error(`duplicate @behavior3.visible registration: ${name}`);
|
|
214359
|
+
hasError = true;
|
|
214360
|
+
continue;
|
|
214361
|
+
}
|
|
214362
|
+
nodeFieldVisibles.set(name, visible);
|
|
214363
|
+
}
|
|
214364
|
+
};
|
|
214365
|
+
mergeModuleVisibles(buildScriptModule);
|
|
214366
|
+
for (const checkScript of checkScriptModules) {
|
|
214367
|
+
mergeModuleVisibles(checkScript.moduleExports);
|
|
214368
|
+
}
|
|
214369
|
+
return {
|
|
214370
|
+
nodeFieldVisibles,
|
|
214371
|
+
hasError
|
|
214372
|
+
};
|
|
214373
|
+
};
|
|
213568
214374
|
var createBuildScriptRuntime = (moduleExports, env) => {
|
|
213569
214375
|
if (!moduleExports || typeof moduleExports !== "object") {
|
|
213570
214376
|
return {
|
|
@@ -213889,38 +214695,49 @@ var collectNodeFieldCheckDiagnostics = (params) => {
|
|
|
213889
214695
|
nodeDef,
|
|
213890
214696
|
treePath: target.treePath ?? params.treePath,
|
|
213891
214697
|
env: params.env,
|
|
213892
|
-
onArg: ({ fieldName, checkerName, value, ctx }) => {
|
|
213893
|
-
|
|
213894
|
-
return;
|
|
213895
|
-
}
|
|
213896
|
-
const pushDiagnostic = (message) => {
|
|
214698
|
+
onArg: ({ fieldName, checkerName, visibleName, value, ctx }) => {
|
|
214699
|
+
const pushDiagnostic = (source, message) => {
|
|
213897
214700
|
diagnostics.push({
|
|
213898
214701
|
instanceKey: target.instanceKey,
|
|
213899
214702
|
nodeId: node.id,
|
|
213900
214703
|
nodeName: node.name,
|
|
213901
214704
|
fieldKind: "arg",
|
|
213902
214705
|
fieldName,
|
|
213903
|
-
checker:
|
|
214706
|
+
checker: source,
|
|
213904
214707
|
message
|
|
213905
214708
|
});
|
|
213906
214709
|
};
|
|
214710
|
+
if (visibleName) {
|
|
214711
|
+
const resolution = resolveNodeFieldVisible({
|
|
214712
|
+
visibleName,
|
|
214713
|
+
value,
|
|
214714
|
+
ctx,
|
|
214715
|
+
visibles: params.visibles ?? /* @__PURE__ */ new Map()
|
|
214716
|
+
});
|
|
214717
|
+
if (resolution.diagnostic) {
|
|
214718
|
+
pushDiagnostic(resolution.diagnostic.source, resolution.diagnostic.message);
|
|
214719
|
+
}
|
|
214720
|
+
}
|
|
214721
|
+
if (!checkerName) {
|
|
214722
|
+
return;
|
|
214723
|
+
}
|
|
213907
214724
|
const checker = params.checkers.get(checkerName);
|
|
213908
214725
|
if (!checker) {
|
|
213909
|
-
pushDiagnostic(`checker '${checkerName}' is not registered`);
|
|
214726
|
+
pushDiagnostic(checkerName, `checker '${checkerName}' is not registered`);
|
|
213910
214727
|
return;
|
|
213911
214728
|
}
|
|
213912
214729
|
try {
|
|
213913
214730
|
const messages = normalizeNodeFieldCheckResult(checker.validate(value, ctx));
|
|
213914
|
-
messages.forEach(pushDiagnostic);
|
|
214731
|
+
messages.forEach((message) => pushDiagnostic(checkerName, message));
|
|
213915
214732
|
} catch (error) {
|
|
213916
|
-
pushDiagnostic(
|
|
214733
|
+
pushDiagnostic(
|
|
214734
|
+
checkerName,
|
|
214735
|
+
`checker '${checkerName}' failed: ${formatRuntimeError(error)}`
|
|
214736
|
+
);
|
|
213917
214737
|
}
|
|
213918
214738
|
},
|
|
213919
|
-
onInput: ({ fieldName, fieldIndex, checkerName, value, ctx }) => {
|
|
213920
|
-
|
|
213921
|
-
return;
|
|
213922
|
-
}
|
|
213923
|
-
const pushDiagnostic = (message) => {
|
|
214739
|
+
onInput: ({ fieldName, fieldIndex, checkerName, visibleName, value, ctx }) => {
|
|
214740
|
+
const pushDiagnostic = (source, message) => {
|
|
213924
214741
|
diagnostics.push({
|
|
213925
214742
|
instanceKey: target.instanceKey,
|
|
213926
214743
|
nodeId: node.id,
|
|
@@ -213928,27 +214745,41 @@ var collectNodeFieldCheckDiagnostics = (params) => {
|
|
|
213928
214745
|
fieldKind: "input",
|
|
213929
214746
|
fieldName,
|
|
213930
214747
|
fieldIndex,
|
|
213931
|
-
checker:
|
|
214748
|
+
checker: source,
|
|
213932
214749
|
message
|
|
213933
214750
|
});
|
|
213934
214751
|
};
|
|
214752
|
+
if (visibleName) {
|
|
214753
|
+
const resolution = resolveNodeFieldVisible({
|
|
214754
|
+
visibleName,
|
|
214755
|
+
value,
|
|
214756
|
+
ctx,
|
|
214757
|
+
visibles: params.visibles ?? /* @__PURE__ */ new Map()
|
|
214758
|
+
});
|
|
214759
|
+
if (resolution.diagnostic) {
|
|
214760
|
+
pushDiagnostic(resolution.diagnostic.source, resolution.diagnostic.message);
|
|
214761
|
+
}
|
|
214762
|
+
}
|
|
214763
|
+
if (!checkerName) {
|
|
214764
|
+
return;
|
|
214765
|
+
}
|
|
213935
214766
|
const checker = params.checkers.get(checkerName);
|
|
213936
214767
|
if (!checker) {
|
|
213937
|
-
pushDiagnostic(`checker '${checkerName}' is not registered`);
|
|
214768
|
+
pushDiagnostic(checkerName, `checker '${checkerName}' is not registered`);
|
|
213938
214769
|
return;
|
|
213939
214770
|
}
|
|
213940
214771
|
try {
|
|
213941
214772
|
const messages = normalizeNodeFieldCheckResult(checker.validate(value, ctx));
|
|
213942
|
-
messages.forEach(pushDiagnostic);
|
|
214773
|
+
messages.forEach((message) => pushDiagnostic(checkerName, message));
|
|
213943
214774
|
} catch (error) {
|
|
213944
|
-
pushDiagnostic(
|
|
214775
|
+
pushDiagnostic(
|
|
214776
|
+
checkerName,
|
|
214777
|
+
`checker '${checkerName}' failed: ${formatRuntimeError(error)}`
|
|
214778
|
+
);
|
|
213945
214779
|
}
|
|
213946
214780
|
},
|
|
213947
|
-
onOutput: ({ fieldName, fieldIndex, checkerName, value, ctx }) => {
|
|
213948
|
-
|
|
213949
|
-
return;
|
|
213950
|
-
}
|
|
213951
|
-
const pushDiagnostic = (message) => {
|
|
214781
|
+
onOutput: ({ fieldName, fieldIndex, checkerName, visibleName, value, ctx }) => {
|
|
214782
|
+
const pushDiagnostic = (source, message) => {
|
|
213952
214783
|
diagnostics.push({
|
|
213953
214784
|
instanceKey: target.instanceKey,
|
|
213954
214785
|
nodeId: node.id,
|
|
@@ -213956,20 +214787,37 @@ var collectNodeFieldCheckDiagnostics = (params) => {
|
|
|
213956
214787
|
fieldKind: "output",
|
|
213957
214788
|
fieldName,
|
|
213958
214789
|
fieldIndex,
|
|
213959
|
-
checker:
|
|
214790
|
+
checker: source,
|
|
213960
214791
|
message
|
|
213961
214792
|
});
|
|
213962
214793
|
};
|
|
214794
|
+
if (visibleName) {
|
|
214795
|
+
const resolution = resolveNodeFieldVisible({
|
|
214796
|
+
visibleName,
|
|
214797
|
+
value,
|
|
214798
|
+
ctx,
|
|
214799
|
+
visibles: params.visibles ?? /* @__PURE__ */ new Map()
|
|
214800
|
+
});
|
|
214801
|
+
if (resolution.diagnostic) {
|
|
214802
|
+
pushDiagnostic(resolution.diagnostic.source, resolution.diagnostic.message);
|
|
214803
|
+
}
|
|
214804
|
+
}
|
|
214805
|
+
if (!checkerName) {
|
|
214806
|
+
return;
|
|
214807
|
+
}
|
|
213963
214808
|
const checker = params.checkers.get(checkerName);
|
|
213964
214809
|
if (!checker) {
|
|
213965
|
-
pushDiagnostic(`checker '${checkerName}' is not registered`);
|
|
214810
|
+
pushDiagnostic(checkerName, `checker '${checkerName}' is not registered`);
|
|
213966
214811
|
return;
|
|
213967
214812
|
}
|
|
213968
214813
|
try {
|
|
213969
214814
|
const messages = normalizeNodeFieldCheckResult(checker.validate(value, ctx));
|
|
213970
|
-
messages.forEach(pushDiagnostic);
|
|
214815
|
+
messages.forEach((message) => pushDiagnostic(checkerName, message));
|
|
213971
214816
|
} catch (error) {
|
|
213972
|
-
pushDiagnostic(
|
|
214817
|
+
pushDiagnostic(
|
|
214818
|
+
checkerName,
|
|
214819
|
+
`checker '${checkerName}' failed: ${formatRuntimeError(error)}`
|
|
214820
|
+
);
|
|
213973
214821
|
}
|
|
213974
214822
|
}
|
|
213975
214823
|
});
|
|
@@ -214406,13 +215254,19 @@ var buildProjectWithContext = async (project, buildDir, context) => {
|
|
|
214406
215254
|
path: b3path_default,
|
|
214407
215255
|
workdir: context.workdir,
|
|
214408
215256
|
nodeDefs: context.nodeDefs,
|
|
214409
|
-
logger
|
|
215257
|
+
logger,
|
|
215258
|
+
allowNewFunction: settings.allowNewFunction ?? false
|
|
214410
215259
|
};
|
|
214411
215260
|
const buildRuntime = createBuildScriptRuntimeWithCheckModules(
|
|
214412
215261
|
buildScriptModule,
|
|
214413
215262
|
checkScriptModules,
|
|
214414
215263
|
scriptEnv
|
|
214415
215264
|
);
|
|
215265
|
+
const visibleRuntime = createNodeFieldVisibleRuntimeWithCheckModules(
|
|
215266
|
+
buildScriptModule,
|
|
215267
|
+
checkScriptModules,
|
|
215268
|
+
scriptEnv
|
|
215269
|
+
);
|
|
214416
215270
|
if (buildSetting && (!buildScriptModule || buildRuntime.hasError)) {
|
|
214417
215271
|
hasError = true;
|
|
214418
215272
|
}
|
|
@@ -214458,7 +215312,8 @@ var buildProjectWithContext = async (project, buildDir, context) => {
|
|
|
214458
215312
|
tree,
|
|
214459
215313
|
treePath: candidatePath,
|
|
214460
215314
|
env: scriptEnv,
|
|
214461
|
-
checkers: buildRuntime.nodeFieldCheckers
|
|
215315
|
+
checkers: buildRuntime.nodeFieldCheckers,
|
|
215316
|
+
visibles: visibleRuntime.nodeFieldVisibles
|
|
214462
215317
|
});
|
|
214463
215318
|
if (checkDiagnostics.length) {
|
|
214464
215319
|
hasError = true;
|
|
@@ -214491,6 +215346,7 @@ var batchProcessProjectWithContext = async (project, scriptPath, context) => {
|
|
|
214491
215346
|
let writtenFiles = 0;
|
|
214492
215347
|
const allErrors = [];
|
|
214493
215348
|
const stagedWrites = [];
|
|
215349
|
+
const settings = readWorkspaceSettings(project);
|
|
214494
215350
|
let buildScriptModule;
|
|
214495
215351
|
try {
|
|
214496
215352
|
buildScriptModule = await loadRuntimeModule(scriptPath, {
|
|
@@ -214504,7 +215360,8 @@ var batchProcessProjectWithContext = async (project, scriptPath, context) => {
|
|
|
214504
215360
|
path: b3path_default,
|
|
214505
215361
|
workdir: context.workdir,
|
|
214506
215362
|
nodeDefs: context.nodeDefs,
|
|
214507
|
-
logger
|
|
215363
|
+
logger,
|
|
215364
|
+
allowNewFunction: settings.allowNewFunction ?? false
|
|
214508
215365
|
};
|
|
214509
215366
|
const buildScript = createBatchHooks(buildScriptModule, scriptEnv);
|
|
214510
215367
|
if (!buildScriptModule || !buildScript) {
|