@abco20/btxml-checker 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,19 @@
1
+ import { a as RawBtxmlConfig, R as ResolvedBtxmlConfig, b as RawBtxmlConfigInput, c as ResolvedOverrideConfig } from './types-BgqDzlJ8.js';
2
+ export { C as ConfigDiagnostic, d as ConfigNormalizeResult, e as ConfigParseResult, f as ConfigSeverity, E as EffectiveFileConfig, g as RawFilesConfig, h as RawFormatterConfig, i as RawLinterConfig, j as RawLinterSuppressionsConfig, k as RawModelsConfig, l as RawOverrideConfig, m as RawResolverConfig, n as RawResolverIncludesConfig, o as ResolvedFilesConfig, p as ResolvedFormatterConfig, q as ResolvedLinterConfig, r as ResolvedLinterSuppressionsConfig, s as ResolvedModelsConfig, t as ResolvedResolverConfig, u as ResolvedResolverIncludesConfig, v as RuleConfig } from './types-BgqDzlJ8.js';
3
+ export { c as createInitConfig, g as getEffectiveConfigForFile, a as getEffectiveConfigForUri, n as normalizeBtxmlConfig, p as parseBtxmlConfig } from './effective-t_u6qJ-7.js';
4
+ import './diagnostic-B5htzyJ9.js';
5
+ import 'zod';
6
+
7
+ declare const CONFIG_ROOT_FIELDS: readonly ["$schema", "strict", "files", "resolver", "models", "linter", "formatter", "overrides"];
8
+ declare const SEVERITIES: readonly ["off", "info", "warn", "error"];
9
+ declare const BEHAVIOR_TREE_ID_POLICIES: readonly ["workspace-unique", "file-local-first", "allow-ambiguous"];
10
+
11
+ declare function getDefaultBtxmlConfig(): RawBtxmlConfig;
12
+ declare function getDefaultResolvedBtxmlConfig(): ResolvedBtxmlConfig;
13
+
14
+ declare function mergeBtxmlConfig(base: RawBtxmlConfigInput, override: RawBtxmlConfigInput): RawBtxmlConfigInput;
15
+
16
+ declare function fileMatchesPattern(filePath: string, pattern: string): boolean;
17
+ declare function matchOverrides(config: ResolvedBtxmlConfig, filePath: string): ResolvedOverrideConfig[];
18
+
19
+ export { BEHAVIOR_TREE_ID_POLICIES, CONFIG_ROOT_FIELDS, RawBtxmlConfig, RawBtxmlConfigInput, ResolvedBtxmlConfig, ResolvedOverrideConfig, SEVERITIES, fileMatchesPattern, getDefaultBtxmlConfig, getDefaultResolvedBtxmlConfig, matchOverrides, mergeBtxmlConfig };
package/dist/config.js ADDED
@@ -0,0 +1 @@
1
+ var x=["$schema","strict","files","resolver","models","linter","formatter","overrides"],k=["off","info","warn","error"],B=["workspace-unique","file-local-first","allow-ambiguous"];var q={linter:{rules:{"xml/require-btcpp-format":"error","xml/no-unknown-top-level-element":"error","model/no-unknown-node":"error","model/no-unknown-port":["error",{subTreePorts:"strict"}],"script/no-unknown-variable":"error","model/no-childless-control-shape-mismatch":"error","model/no-leaf-block-shape":"error","model/valid-child-count":"error","suppression/no-unused":"error","suppression/require-reason":"warn"}}},Y={files:{include:["**/*.xml"],ignore:["build/**","install/**","log/**","node_modules/**",".git/**"],useGitignore:!0,followSymlinks:!1,maxSize:5*1024*1024},resolver:{entrypoints:[],includes:{elements:[{name:"include",attribute:"path",base:"file"}],variables:{},allowOutsideRoot:!1,maxDepth:32,maxFiles:1e3},behaviorTreeIds:"workspace-unique"},models:{builtins:["btcpp-v4"],files:[],augmentations:[],definitions:[],inline:{}},linter:{enabled:!0,rules:{},baseline:void 0,suppressions:{inline:"allow"}},formatter:{indentWidth:2,xmlDeclaration:"always",blankLineBetweenBehaviorTrees:!0,lineEnding:"lf"},overrides:[]};function b(){return{}}function u(){return structuredClone(Y)}function _(e,t){return{...e,...t,files:e.files||t.files?{...e.files??{},...t.files??{}}:void 0,resolver:e.resolver||t.resolver?{...e.resolver??{},...t.resolver??{}}:void 0,models:e.models||t.models?{...e.models??{},...t.models??{}}:void 0,linter:e.linter||t.linter?{...e.linter??{},...t.linter??{},rules:{...e.linter?.rules??{},...t.linter?.rules??{}}}:void 0,formatter:e.formatter||t.formatter?{...e.formatter??{},...t.formatter??{}}:void 0,overrides:[...e.overrides??[],...t.overrides??[]]}}function p(e,t){return{files:t.files?{...e.files,...t.files}:e.files,resolver:t.resolver?{...e.resolver,...t.resolver,includes:{...e.resolver.includes,...t.resolver.includes||{},variables:{...e.resolver.includes.variables,...t.resolver.includes?.variables||{}}}}:e.resolver,models:t.models?{...e.models,...t.models}:e.models,linter:t.linter?{...e.linter,...t.linter,rules:t.linter.rules?{...e.linter.rules,...t.linter.rules}:e.linter.rules,suppressions:t.linter.suppressions?{...e.linter.suppressions,...t.linter.suppressions}:e.linter.suppressions}:e.linter,formatter:t.formatter?{...e.formatter,...t.formatter}:e.formatter,overrides:t.overrides?[...e.overrides,...t.overrides]:e.overrides}}var c={Error:"error",Warning:"warning",Info:"info"};function C(e,t,r,s,n="",d,a){return{code:e,severity:t,message:r,uri:n,...s?{range:s}:{},...d?{details:d}:{},...a?{data:a}:{}}}var D=[{id:"AlwaysFailure",kind:"Action",ports:[]},{id:"AlwaysSuccess",kind:"Action",ports:[]},{id:"AsyncFallback",kind:"Control",ports:[]},{id:"AsyncSequence",kind:"Control",ports:[]},{id:"Delay",kind:"Decorator",ports:[{name:"delay_msec",direction:"input",type:"unsigned int",description:"Tick the child after a few milliseconds",required:!0}]},{id:"Fallback",kind:"Control",ports:[]},{id:"ForceFailure",kind:"Decorator",ports:[]},{id:"ForceSuccess",kind:"Decorator",ports:[]},{id:"IfThenElse",kind:"Control",ports:[]},{id:"Inverter",kind:"Decorator",ports:[]},{id:"KeepRunningUntilFailure",kind:"Decorator",ports:[]},{id:"LoopBool",kind:"Decorator",ports:[{name:"value",direction:"output",type:"bool",required:!1},{name:"if_empty",direction:"input",type:"BT::NodeStatus",defaultValue:"SUCCESS",description:"Status to return if queue is empty: SUCCESS, FAILURE, SKIPPED",required:!1},{name:"queue",direction:"inout",type:"std::shared_ptr<std::deque<bool, std::allocator<bool> > >",required:!0}]},{id:"LoopDouble",kind:"Decorator",ports:[{name:"value",direction:"output",type:"double",required:!1},{name:"if_empty",direction:"input",type:"BT::NodeStatus",defaultValue:"SUCCESS",description:"Status to return if queue is empty: SUCCESS, FAILURE, SKIPPED",required:!1},{name:"queue",direction:"inout",type:"std::shared_ptr<std::deque<double, std::allocator<double> > >",required:!0}]},{id:"LoopInt",kind:"Decorator",ports:[{name:"value",direction:"output",type:"int",required:!1},{name:"if_empty",direction:"input",type:"BT::NodeStatus",defaultValue:"SUCCESS",description:"Status to return if queue is empty: SUCCESS, FAILURE, SKIPPED",required:!1},{name:"queue",direction:"inout",type:"std::shared_ptr<std::deque<int, std::allocator<int> > >",required:!0}]},{id:"LoopString",kind:"Decorator",ports:[{name:"value",direction:"output",type:"std::string",required:!1},{name:"if_empty",direction:"input",type:"BT::NodeStatus",defaultValue:"SUCCESS",description:"Status to return if queue is empty: SUCCESS, FAILURE, SKIPPED",required:!1},{name:"queue",direction:"inout",type:"std::shared_ptr<std::deque<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >",required:!0}]},{id:"Parallel",kind:"Control",ports:[{name:"failure_count",direction:"input",type:"int",defaultValue:"1",description:"number of children that need to fail to trigger a FAILURE",required:!1},{name:"success_count",direction:"input",type:"int",defaultValue:"-1",description:"number of children that need to succeed to trigger a SUCCESS",required:!1}]},{id:"ParallelAll",kind:"Control",ports:[{name:"max_failures",direction:"input",type:"int",defaultValue:"1",description:"If the number of children returning FAILURE exceeds this value, ParallelAll returns FAILURE",required:!1}]},{id:"Precondition",kind:"Decorator",ports:[{name:"else",direction:"input",type:"BT::NodeStatus",defaultValue:"FAILURE",description:"Return status if condition is false",required:!1},{name:"if",direction:"input",type:"std::string",required:!0}]},{id:"ReactiveFallback",kind:"Control",ports:[]},{id:"ReactiveSequence",kind:"Control",ports:[]},{id:"Repeat",kind:"Decorator",ports:[{name:"num_cycles",direction:"input",type:"int",description:"Repeat a successful child up to N times. Use -1 to create an infinite loop.",required:!0}]},{id:"RetryUntilSuccessful",kind:"Decorator",ports:[{name:"num_attempts",direction:"input",type:"int",description:"Execute again a failing child up to N times. Use -1 to create an infinite loop.",required:!0}]},{id:"RunOnce",kind:"Decorator",ports:[{name:"then_skip",direction:"input",type:"bool",defaultValue:"true",description:"If true, skip after the first execution, otherwise return the same NodeStatus returned once bu the child.",required:!1}]},{id:"Script",kind:"Action",ports:[{name:"code",direction:"input",type:"std::string",description:"Piece of code that can be parsed",required:!0}]},{id:"ScriptCondition",kind:"Condition",ports:[{name:"code",direction:"input",type:"BT::AnyTypeAllowed",description:"Piece of code that can be parsed. Must return false or true",required:!0}]},{id:"Sequence",kind:"Control",ports:[]},{id:"SequenceWithMemory",kind:"Control",ports:[]},{id:"SetBlackboard",kind:"Action",ports:[{name:"output_key",direction:"inout",type:"BT::AnyTypeAllowed",description:"Name of the blackboard entry where the value should be written",required:!0},{name:"value",direction:"input",type:"BT::AnyTypeAllowed",description:"Value to be written int othe output_key",required:!0}]},{id:"SkipUnlessUpdated",kind:"Decorator",ports:[{name:"entry",direction:"input",type:"BT::Any",description:"Entry to check",required:!0}]},{id:"Sleep",kind:"Action",ports:[{name:"msec",direction:"input",type:"unsigned int",required:!0}]},{id:"Switch2",kind:"Control",ports:[{name:"case_2",direction:"input",type:"std::string",required:!0},{name:"case_1",direction:"input",type:"std::string",required:!0},{name:"variable",direction:"input",type:"std::string",required:!0}]},{id:"Switch3",kind:"Control",ports:[{name:"case_3",direction:"input",type:"std::string",required:!0},{name:"case_2",direction:"input",type:"std::string",required:!0},{name:"case_1",direction:"input",type:"std::string",required:!0},{name:"variable",direction:"input",type:"std::string",required:!0}]},{id:"Switch4",kind:"Control",ports:[{name:"case_4",direction:"input",type:"std::string",required:!0},{name:"case_3",direction:"input",type:"std::string",required:!0},{name:"case_2",direction:"input",type:"std::string",required:!0},{name:"case_1",direction:"input",type:"std::string",required:!0},{name:"variable",direction:"input",type:"std::string",required:!0}]},{id:"Switch5",kind:"Control",ports:[{name:"case_5",direction:"input",type:"std::string",required:!0},{name:"case_4",direction:"input",type:"std::string",required:!0},{name:"case_3",direction:"input",type:"std::string",required:!0},{name:"case_2",direction:"input",type:"std::string",required:!0},{name:"case_1",direction:"input",type:"std::string",required:!0},{name:"variable",direction:"input",type:"std::string",required:!0}]},{id:"Switch6",kind:"Control",ports:[{name:"case_5",direction:"input",type:"std::string",required:!0},{name:"case_4",direction:"input",type:"std::string",required:!0},{name:"case_6",direction:"input",type:"std::string",required:!0},{name:"case_3",direction:"input",type:"std::string",required:!0},{name:"case_2",direction:"input",type:"std::string",required:!0},{name:"case_1",direction:"input",type:"std::string",required:!0},{name:"variable",direction:"input",type:"std::string",required:!0}]},{id:"Timeout",kind:"Decorator",ports:[{name:"msec",direction:"input",type:"unsigned int",description:"After a certain amount of time, halt() the child if it is still running.",required:!0}]},{id:"UnsetBlackboard",kind:"Action",ports:[{name:"key",direction:"input",type:"std::string",description:"Key of the entry to remove",required:!0}]},{id:"WaitValueUpdate",kind:"Decorator",ports:[{name:"entry",direction:"input",type:"BT::Any",description:"Entry to check",required:!0}]},{id:"WasEntryUpdated",kind:"Action",ports:[{name:"entry",direction:"input",type:"BT::Any",description:"Entry to check",required:!0}]},{id:"WhileDoElse",kind:"Control",ports:[]}],E={id:"SubTree",kind:"SubTree",ports:[{name:"_autoremap",direction:"input",type:"bool",defaultValue:"false",description:"If true, all the ports with the same name will be remapped",required:!1}]};var w=[{id:"AlwaysFailure",kind:"Action",ports:[]},{id:"AlwaysSuccess",kind:"Action",ports:[]},{id:"AsyncFallback",kind:"Control",ports:[]},{id:"AsyncSequence",kind:"Control",ports:[]},{id:"Delay",kind:"Decorator",ports:[{name:"delay_msec",direction:"input",type:"unsigned int",description:"Tick the child after a few milliseconds",required:!0}]},{id:"Fallback",kind:"Control",ports:[]},{id:"ForceFailure",kind:"Decorator",ports:[]},{id:"ForceSuccess",kind:"Decorator",ports:[]},{id:"IfThenElse",kind:"Control",ports:[]},{id:"Inverter",kind:"Decorator",ports:[]},{id:"KeepRunningUntilFailure",kind:"Decorator",ports:[]},{id:"LoopBool",kind:"Decorator",ports:[{name:"value",direction:"output",type:"bool",required:!1},{name:"if_empty",direction:"input",type:"BT::NodeStatus",defaultValue:"SUCCESS",description:"Status to return if queue is empty: SUCCESS, FAILURE, SKIPPED",required:!1},{name:"queue",direction:"inout",type:"std::shared_ptr<std::deque<bool, std::allocator<bool> > >",required:!0}]},{id:"LoopDouble",kind:"Decorator",ports:[{name:"value",direction:"output",type:"double",required:!1},{name:"if_empty",direction:"input",type:"BT::NodeStatus",defaultValue:"SUCCESS",description:"Status to return if queue is empty: SUCCESS, FAILURE, SKIPPED",required:!1},{name:"queue",direction:"inout",type:"std::shared_ptr<std::deque<double, std::allocator<double> > >",required:!0}]},{id:"LoopInt",kind:"Decorator",ports:[{name:"value",direction:"output",type:"int",required:!1},{name:"if_empty",direction:"input",type:"BT::NodeStatus",defaultValue:"SUCCESS",description:"Status to return if queue is empty: SUCCESS, FAILURE, SKIPPED",required:!1},{name:"queue",direction:"inout",type:"std::shared_ptr<std::deque<int, std::allocator<int> > >",required:!0}]},{id:"LoopString",kind:"Decorator",ports:[{name:"value",direction:"output",type:"std::string",required:!1},{name:"if_empty",direction:"input",type:"BT::NodeStatus",defaultValue:"SUCCESS",description:"Status to return if queue is empty: SUCCESS, FAILURE, SKIPPED",required:!1},{name:"queue",direction:"inout",type:"std::shared_ptr<std::deque<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >",required:!0}]},{id:"Parallel",kind:"Control",ports:[{name:"failure_count",direction:"input",type:"int",defaultValue:"1",description:"number of children that need to fail to trigger a FAILURE",required:!1},{name:"success_count",direction:"input",type:"int",defaultValue:"-1",description:"number of children that need to succeed to trigger a SUCCESS",required:!1}]},{id:"ParallelAll",kind:"Control",ports:[{name:"max_failures",direction:"input",type:"int",defaultValue:"1",description:"If the number of children returning FAILURE exceeds this value, ParallelAll returns FAILURE",required:!1}]},{id:"Precondition",kind:"Decorator",ports:[{name:"else",direction:"input",type:"BT::NodeStatus",defaultValue:"FAILURE",description:"Return status if condition is false",required:!1},{name:"if",direction:"input",type:"std::string",required:!0}]},{id:"ReactiveFallback",kind:"Control",ports:[]},{id:"ReactiveSequence",kind:"Control",ports:[]},{id:"Repeat",kind:"Decorator",ports:[{name:"num_cycles",direction:"input",type:"int",description:"Repeat a successful child up to N times. Use -1 to create an infinite loop.",required:!0}]},{id:"RetryUntilSuccessful",kind:"Decorator",ports:[{name:"num_attempts",direction:"input",type:"int",description:"Execute again a failing child up to N times. Use -1 to create an infinite loop.",required:!0}]},{id:"RunOnce",kind:"Decorator",ports:[{name:"then_skip",direction:"input",type:"bool",defaultValue:"true",description:"If true, skip after the first execution, otherwise return the same NodeStatus returned once by the child.",required:!1}]},{id:"Script",kind:"Action",ports:[{name:"code",direction:"input",type:"std::string",description:"Piece of code that can be parsed",required:!0}]},{id:"ScriptCondition",kind:"Condition",ports:[{name:"code",direction:"input",type:"BT::AnyTypeAllowed",description:"Piece of code that can be parsed. Must return false or true",required:!0}]},{id:"Sequence",kind:"Control",ports:[]},{id:"SequenceWithMemory",kind:"Control",ports:[]},{id:"SetBlackboard",kind:"Action",ports:[{name:"output_key",direction:"inout",type:"BT::AnyTypeAllowed",description:"Name of the blackboard entry where the value should be written",required:!0},{name:"value",direction:"input",type:"BT::AnyTypeAllowed",description:"Value to be written into the output_key",required:!0}]},{id:"SkipUnlessUpdated",kind:"Decorator",ports:[{name:"entry",direction:"input",type:"BT::Any",description:"Entry to check",required:!0}]},{id:"Sleep",kind:"Action",ports:[{name:"msec",direction:"input",type:"unsigned int",required:!0}]},{id:"Switch2",kind:"Control",ports:[{name:"case_2",direction:"input",type:"std::string",required:!0},{name:"case_1",direction:"input",type:"std::string",required:!0},{name:"variable",direction:"input",type:"std::string",required:!0}]},{id:"Switch3",kind:"Control",ports:[{name:"case_3",direction:"input",type:"std::string",required:!0},{name:"case_2",direction:"input",type:"std::string",required:!0},{name:"case_1",direction:"input",type:"std::string",required:!0},{name:"variable",direction:"input",type:"std::string",required:!0}]},{id:"Switch4",kind:"Control",ports:[{name:"case_4",direction:"input",type:"std::string",required:!0},{name:"case_3",direction:"input",type:"std::string",required:!0},{name:"case_2",direction:"input",type:"std::string",required:!0},{name:"case_1",direction:"input",type:"std::string",required:!0},{name:"variable",direction:"input",type:"std::string",required:!0}]},{id:"Switch5",kind:"Control",ports:[{name:"case_5",direction:"input",type:"std::string",required:!0},{name:"case_4",direction:"input",type:"std::string",required:!0},{name:"case_3",direction:"input",type:"std::string",required:!0},{name:"case_2",direction:"input",type:"std::string",required:!0},{name:"case_1",direction:"input",type:"std::string",required:!0},{name:"variable",direction:"input",type:"std::string",required:!0}]},{id:"Switch6",kind:"Control",ports:[{name:"case_5",direction:"input",type:"std::string",required:!0},{name:"case_4",direction:"input",type:"std::string",required:!0},{name:"case_6",direction:"input",type:"std::string",required:!0},{name:"case_3",direction:"input",type:"std::string",required:!0},{name:"case_2",direction:"input",type:"std::string",required:!0},{name:"case_1",direction:"input",type:"std::string",required:!0},{name:"variable",direction:"input",type:"std::string",required:!0}]},{id:"Timeout",kind:"Decorator",ports:[{name:"msec",direction:"input",type:"unsigned int",description:"After a certain amount of time, halt() the child if it is still running.",required:!0}]},{id:"UnsetBlackboard",kind:"Action",ports:[{name:"key",direction:"input",type:"std::string",description:"Key of the entry to remove",required:!0}]},{id:"WaitValueUpdate",kind:"Decorator",ports:[{name:"entry",direction:"input",type:"BT::Any",description:"Entry to check",required:!0}]},{id:"WasEntryUpdated",kind:"Action",ports:[{name:"entry",direction:"input",type:"BT::Any",description:"Entry to check",required:!0}]},{id:"WhileDoElse",kind:"Control",ports:[]}],T={id:"SubTree",kind:"SubTree",ports:[{name:"_autoremap",direction:"input",type:"bool",defaultValue:"false",description:"If true, all the ports with the same name will be remapped",required:!1}]};var I=[{id:"AlwaysFailure",kind:"Action",ports:[]},{id:"AlwaysSuccess",kind:"Action",ports:[]},{id:"AsyncFallback",kind:"Control",ports:[]},{id:"AsyncSequence",kind:"Control",ports:[]},{id:"Delay",kind:"Decorator",ports:[{name:"delay_msec",direction:"input",type:"unsigned int",description:"Tick the child after a few milliseconds",required:!0}]},{id:"Fallback",kind:"Control",ports:[]},{id:"ForceFailure",kind:"Decorator",ports:[]},{id:"ForceSuccess",kind:"Decorator",ports:[]},{id:"IfThenElse",kind:"Control",ports:[]},{id:"Inverter",kind:"Decorator",ports:[]},{id:"KeepRunningUntilFailure",kind:"Decorator",ports:[]},{id:"LoopBool",kind:"Decorator",ports:[{name:"value",direction:"output",type:"bool",required:!1},{name:"if_empty",direction:"input",type:"BT::NodeStatus",defaultValue:"SUCCESS",description:"Status to return if queue is empty: SUCCESS, FAILURE, SKIPPED",required:!1},{name:"queue",direction:"inout",type:"BT::AnyTypeAllowed",required:!0}]},{id:"LoopDouble",kind:"Decorator",ports:[{name:"value",direction:"output",type:"double",required:!1},{name:"if_empty",direction:"input",type:"BT::NodeStatus",defaultValue:"SUCCESS",description:"Status to return if queue is empty: SUCCESS, FAILURE, SKIPPED",required:!1},{name:"queue",direction:"inout",type:"BT::AnyTypeAllowed",required:!0}]},{id:"LoopInt",kind:"Decorator",ports:[{name:"value",direction:"output",type:"int",required:!1},{name:"if_empty",direction:"input",type:"BT::NodeStatus",defaultValue:"SUCCESS",description:"Status to return if queue is empty: SUCCESS, FAILURE, SKIPPED",required:!1},{name:"queue",direction:"inout",type:"BT::AnyTypeAllowed",required:!0}]},{id:"LoopString",kind:"Decorator",ports:[{name:"value",direction:"output",type:"std::string",required:!1},{name:"if_empty",direction:"input",type:"BT::NodeStatus",defaultValue:"SUCCESS",description:"Status to return if queue is empty: SUCCESS, FAILURE, SKIPPED",required:!1},{name:"queue",direction:"inout",type:"BT::AnyTypeAllowed",required:!0}]},{id:"Parallel",kind:"Control",ports:[{name:"failure_count",direction:"input",type:"int",defaultValue:"1",description:"number of children that need to fail to trigger a FAILURE",required:!1},{name:"success_count",direction:"input",type:"int",defaultValue:"-1",description:"number of children that need to succeed to trigger a SUCCESS",required:!1}]},{id:"ParallelAll",kind:"Control",ports:[{name:"max_failures",direction:"input",type:"int",defaultValue:"1",description:"If the number of children returning FAILURE exceeds this value, ParallelAll returns FAILURE",required:!1}]},{id:"Precondition",kind:"Decorator",ports:[{name:"else",direction:"input",type:"BT::NodeStatus",defaultValue:"FAILURE",description:"Return status if condition is false",required:!1},{name:"if",direction:"input",type:"std::string",required:!0}]},{id:"ReactiveFallback",kind:"Control",ports:[]},{id:"ReactiveSequence",kind:"Control",ports:[]},{id:"Repeat",kind:"Decorator",ports:[{name:"num_cycles",direction:"input",type:"int",description:"Repeat a successful child up to N times. Use -1 to create an infinite loop.",required:!0}]},{id:"RetryUntilSuccessful",kind:"Decorator",ports:[{name:"num_attempts",direction:"input",type:"int",description:"Execute again a failing child up to N times. Use -1 to create an infinite loop.",required:!0}]},{id:"RunOnce",kind:"Decorator",ports:[{name:"then_skip",direction:"input",type:"bool",defaultValue:"true",description:"If true, skip after the first execution, otherwise return the same NodeStatus returned once by the child.",required:!1}]},{id:"Script",kind:"Action",ports:[{name:"code",direction:"input",type:"std::string",description:"Piece of code that can be parsed",required:!0}]},{id:"ScriptCondition",kind:"Condition",ports:[{name:"code",direction:"input",type:"BT::AnyTypeAllowed",description:"Piece of code that can be parsed. Must return false or true",required:!0}]},{id:"Sequence",kind:"Control",ports:[]},{id:"SequenceWithMemory",kind:"Control",ports:[]},{id:"SetBlackboard",kind:"Action",ports:[{name:"output_key",direction:"inout",type:"BT::AnyTypeAllowed",description:"Name of the blackboard entry where the value should be written",required:!0},{name:"value",direction:"input",type:"BT::AnyTypeAllowed",description:"Value to be written into the output_key",required:!0}]},{id:"SkipUnlessUpdated",kind:"Decorator",ports:[{name:"entry",direction:"input",type:"BT::Any",description:"Entry to check",required:!0}]},{id:"Sleep",kind:"Action",ports:[{name:"msec",direction:"input",type:"unsigned int",required:!0}]},{id:"Switch2",kind:"Control",ports:[{name:"case_2",direction:"input",type:"std::string",required:!0},{name:"case_1",direction:"input",type:"std::string",required:!0},{name:"variable",direction:"input",type:"std::string",required:!0}]},{id:"Switch3",kind:"Control",ports:[{name:"case_3",direction:"input",type:"std::string",required:!0},{name:"case_2",direction:"input",type:"std::string",required:!0},{name:"case_1",direction:"input",type:"std::string",required:!0},{name:"variable",direction:"input",type:"std::string",required:!0}]},{id:"Switch4",kind:"Control",ports:[{name:"case_4",direction:"input",type:"std::string",required:!0},{name:"case_3",direction:"input",type:"std::string",required:!0},{name:"case_2",direction:"input",type:"std::string",required:!0},{name:"case_1",direction:"input",type:"std::string",required:!0},{name:"variable",direction:"input",type:"std::string",required:!0}]},{id:"Switch5",kind:"Control",ports:[{name:"case_5",direction:"input",type:"std::string",required:!0},{name:"case_4",direction:"input",type:"std::string",required:!0},{name:"case_3",direction:"input",type:"std::string",required:!0},{name:"case_2",direction:"input",type:"std::string",required:!0},{name:"case_1",direction:"input",type:"std::string",required:!0},{name:"variable",direction:"input",type:"std::string",required:!0}]},{id:"Switch6",kind:"Control",ports:[{name:"case_5",direction:"input",type:"std::string",required:!0},{name:"case_4",direction:"input",type:"std::string",required:!0},{name:"case_6",direction:"input",type:"std::string",required:!0},{name:"case_3",direction:"input",type:"std::string",required:!0},{name:"case_2",direction:"input",type:"std::string",required:!0},{name:"case_1",direction:"input",type:"std::string",required:!0},{name:"variable",direction:"input",type:"std::string",required:!0}]},{id:"Timeout",kind:"Decorator",ports:[{name:"msec",direction:"input",type:"unsigned int",description:"After a certain amount of time, halt() the child if it is still running.",required:!0}]},{id:"TryCatch",kind:"Control",ports:[{name:"catch_on_halt",direction:"input",type:"bool",defaultValue:"false",description:"If true, execute the catch child when the node is halted during the try-block",required:!1}]},{id:"UnsetBlackboard",kind:"Action",ports:[{name:"key",direction:"input",type:"std::string",description:"Key of the entry to remove",required:!0}]},{id:"WaitValueUpdate",kind:"Decorator",ports:[{name:"entry",direction:"input",type:"BT::Any",description:"Entry to check",required:!0}]},{id:"WasEntryUpdated",kind:"Action",ports:[{name:"entry",direction:"input",type:"BT::Any",description:"Entry to check",required:!0}]},{id:"WhileDoElse",kind:"Control",ports:[]}],P={id:"SubTree",kind:"SubTree",ports:[{name:"_autoremap",direction:"input",type:"bool",defaultValue:"false",description:"If true, all the ports with the same name will be remapped",required:!1}]};var A=["4.6.2","4.8.2","4.9.0"],M="4.9.0",S={"4.6.2":{models:D,genericSubTreeModel:E},"4.8.2":{models:w,genericSubTreeModel:T},"4.9.0":{models:I,genericSubTreeModel:P}};var F=A.map(e=>`btcpp-v${e}`),R=["btcpp-v4",...F],ee=`btcpp-v${M}`;function L(e){return{source:"builtin",direction:e.direction,name:e.name,type:e.type,defaultValue:e.defaultValue,description:e.description,required:e.required,enum:e.enum}}function te(e){return e.map(t=>({id:t.id,kind:t.kind,ports:t.ports.map(L)}))}function ie(e){if(e)return{id:e.id,kind:e.kind,ports:e.ports.map(L)}}function re(){let e={};for(let[t,r]of Object.entries(S))e[`btcpp-v${t}`]=te(r.models);return e}function ne(){let e={};for(let[t,r]of Object.entries(S))e[`btcpp-v${t}`]=ie(r.genericSubTreeModel);return e}var Ne=re(),Ve=ne();import{z as o}from"zod";var U=o.object({direction:o.enum(["input","output","inout"]).optional(),type:o.string().optional(),required:o.boolean().optional(),default:o.string().optional(),description:o.string().optional(),enum:o.array(o.string()).optional()}).strict(),f=o.object({kind:o.enum(["Action","Condition","Control","Decorator","SubTree"]),ports:o.record(o.string(),U).optional(),description:o.string().optional()}).strict(),oe=o.object({nodes:o.record(o.string(),f)}).strict();import{z as i}from"zod";var N=i.enum(["off","info","warn","error"]),V=i.union([N,i.tuple([N,i.record(i.string(),i.unknown())])]),se=i.object({include:i.array(i.string()).optional(),ignore:i.array(i.string()).optional(),useGitignore:i.boolean().optional(),followSymlinks:i.boolean().optional(),maxSize:i.number().int().positive().optional()}).strict(),de=i.string(),ae=i.object({name:i.string(),attribute:i.string(),base:i.enum(["file","project-root"]).optional()}).strict(),le=i.object({elements:i.array(ae).optional(),variables:i.record(i.string(),i.string()).optional(),allowOutsideRoot:i.boolean().optional(),maxDepth:i.number().int().min(1).optional(),maxFiles:i.number().int().min(1).optional()}).strict(),ue=i.object({entrypoints:i.array(de).optional(),includes:le.optional(),behaviorTreeIds:i.enum(["workspace-unique","file-local-first","allow-ambiguous"]).optional()}).strict(),pe=i.object({builtins:i.array(i.enum(R)).optional(),files:i.array(i.string()).optional(),augmentations:i.array(i.string()).optional(),definitions:i.array(i.string()).optional(),inline:i.record(i.string(),f).optional()}).strict(),O=i.object({inline:i.enum(["allow","deny"]).optional()}).strict(),ce=i.object({enabled:i.boolean().optional(),rules:i.record(i.string(),V).optional(),baseline:i.string().optional(),suppressions:O.optional()}).strict(),fe=i.object({rules:i.record(i.string(),V).optional(),suppressions:O.optional()}).strict(),G=i.object({indentWidth:i.number().int().min(1).max(8).optional(),xmlDeclaration:i.enum(["always","never","preserve"]).optional(),blankLineBetweenBehaviorTrees:i.boolean().optional(),lineEnding:i.enum(["lf","crlf","auto"]).optional()}).strict(),me=i.object({files:i.array(i.string()),linter:fe.optional(),formatter:G.optional()}).strict(),z=i.object({$schema:i.string().optional(),strict:i.boolean().optional(),files:se.optional(),resolver:ue.optional(),models:pe.optional(),linter:ce.optional(),formatter:G.optional(),overrides:i.array(me).optional()}).strict();function W(e){return e.flatMap(ge)}function ge(e){if(String(e.code)==="unrecognized_keys")return(Array.isArray(e.keys)?e.keys??[]:[]).map(n=>{let d=j([...e.path,String(n)]);return{code:"CFG002_UNKNOWN_CONFIG_FIELD",severity:"error",path:d,message:`unknown config field \`${d}\``}});let r=j(e.path);return $(e)?[{code:"CFG003_INVALID_CONFIG_VALUE",severity:"error",path:r,message:r?`invalid config value at \`${r}\``:"invalid config value"}]:[{code:"CFG001_INVALID_CONFIG",severity:"error",path:r,message:r?`invalid config at \`${r}\``:"invalid config"}]}function j(e){return e.map(String).join(".")||void 0}function $(e){let t=String(e.code);if(t==="invalid_value"||t==="invalid_enum_value"||t==="invalid_literal")return!0;if(t!=="invalid_union")return!1;let r=e.errors;if(Array.isArray(r))return r.flat().some(K);let s=e.unionErrors;return Array.isArray(s)?s.flatMap(n=>n.issues??[]).some(K):!1}function K(e){return typeof e=="object"&&e!==null&&$(e)}function m(e){let t=z.safeParse(e);return t.success?{ok:!0,value:t.data,diagnostics:[]}:{ok:!1,diagnostics:W(t.error.issues)}}function ye(e){if(!e)return;let t={};return e.indentWidth!==void 0&&(t.indentWidth=e.indentWidth),e.xmlDeclaration!==void 0&&(t.xmlDeclaration=e.xmlDeclaration),e.blankLineBetweenBehaviorTrees!==void 0&&(t.blankLineBetweenBehaviorTrees=e.blankLineBetweenBehaviorTrees),e.lineEnding!==void 0&&(t.lineEnding=e.lineEnding),t}function Ce(e){if(!e)return;let t={};return e.rules!==void 0&&(t.rules=e.rules),e.suppressions!==void 0&&(t.suppressions={},e.suppressions.inline!==void 0&&(t.suppressions.inline=e.suppressions.inline)),t}function Se(e){return e.map(t=>C(t.code,t.severity==="error"?c.Error:c.Warning,t.message,void 0,"",t.help?{help:t.help}:void 0))}function Re(e){let t=[],r=u(),{$schema:s,strict:n,overrides:d,...a}=e;n&&(r=p(r,q)),r=p(r,a),r.overrides=(d??[]).map(l=>({files:l.files,linter:Ce(l.linter),formatter:ye(l.formatter)}));let Q=!t.some(l=>l.severity===c.Error);return{config:r,diagnostics:t,ok:Q}}function Z(e){let t=m(e);return t.ok?Re(t.value):{ok:!1,config:u(),diagnostics:Se(t.diagnostics)}}function H(){return{$schema:"./node_modules/@abco20/btxml-checker/schemas/btxml.config.schema.json"}}function ve(e){let t="",r=0;for(;r<e.length;)e.slice(r,r+3)==="/**"&&(r+3===e.length||e[r+3]==="/")?r+3===e.length?(t+="(?:/.*)?",r+=3):(t+="(?:/.*)?/",r+=4):r===0&&e.slice(r,r+3)==="**/"?(t+="(?:.*/)?",r+=3):e.slice(r,r+2)==="**"?(t+=".*",r+=2):e[r]==="*"?(t+="[^/]*",r+=1):e[r]==="?"?(t+="[^/]",r+=1):(t+=e[r].replace(/[.+^${}()|[\]\\]/g,"\\$&"),r+=1);return new RegExp(`^${t}$`)}function v(e,t){let r=e.replace(/\\/g,"/"),s=t.startsWith("!"),n=s?t.slice(1):t,a=ve(n).test(r);return s?!a:a}function g(e,t){return e.overrides.filter(r=>r.files.some(s=>v(t,s)))}function y(e){return e.replaceAll("\\","/")}function he(e){try{return decodeURIComponent(e)}catch{return e}}function X(e){if(!e.startsWith("file://"))return e;let t;try{t=new URL(e)}catch{return e}let r=he(t.pathname);return/^\/[A-Za-z]:/.test(r)?y(r.slice(1)):t.host?y(`//${t.host}${r}`):y(r)}function h(e,t){let r=y(t),s=g(e,r),n=e;for(let d of s)n=p(n,{linter:d.linter,formatter:d.formatter});return{files:n.files,resolver:n.resolver,models:n.models,linter:n.linter,formatter:n.formatter}}function J(e,t){return h(e,X(t))}export{B as BEHAVIOR_TREE_ID_POLICIES,x as CONFIG_ROOT_FIELDS,k as SEVERITIES,H as createInitConfig,v as fileMatchesPattern,b as getDefaultBtxmlConfig,u as getDefaultResolvedBtxmlConfig,h as getEffectiveConfigForFile,J as getEffectiveConfigForUri,g as matchOverrides,_ as mergeBtxmlConfig,Z as normalizeBtxmlConfig,m as parseBtxmlConfig};
@@ -0,0 +1,42 @@
1
+ type SourcePosition = {
2
+ line: number;
3
+ character: number;
4
+ offset: number;
5
+ };
6
+ type SourceRange = {
7
+ start: SourcePosition;
8
+ end: SourcePosition;
9
+ };
10
+
11
+ type DiagnosticSeverity = "error" | "warning" | "info";
12
+ declare const DiagnosticSeverity: {
13
+ Error: "error";
14
+ Warning: "warning";
15
+ Info: "info";
16
+ };
17
+ type DiagnosticDetails = {
18
+ readonly primaryLabel?: string;
19
+ readonly help?: string;
20
+ readonly notes?: readonly string[];
21
+ };
22
+ type RelatedInformation = {
23
+ readonly uri: string;
24
+ readonly range: SourceRange;
25
+ readonly message: string;
26
+ };
27
+ type DiagnosticData = Record<string, unknown>;
28
+ type Diagnostic = {
29
+ readonly code: string;
30
+ readonly rule?: string;
31
+ readonly severity: DiagnosticSeverity;
32
+ readonly message: string;
33
+ readonly uri: string;
34
+ readonly range?: SourceRange;
35
+ readonly relatedInformation?: readonly RelatedInformation[];
36
+ readonly suppressed?: boolean;
37
+ readonly details?: DiagnosticDetails;
38
+ readonly data?: DiagnosticData;
39
+ };
40
+ declare function createDiagnostic(code: string, severity: DiagnosticSeverity, message: string, range?: SourceRange, uri?: string, details?: DiagnosticDetails, data?: DiagnosticData): Diagnostic;
41
+
42
+ export { type Diagnostic as D, type RelatedInformation as R, type SourceRange as S, type DiagnosticDetails as a, type DiagnosticData as b, type SourcePosition as c, createDiagnostic as d, DiagnosticSeverity as e };
@@ -0,0 +1,21 @@
1
+ import { v as WorkspaceHost, w as NodeWorkspaceServiceOptions, x as BtProjectEditorService } from './public-types-DaawwXHQ.js';
2
+ export { y as LoadProjectOptions, z as ProjectLoadResult } from './public-types-DaawwXHQ.js';
3
+ import './types-BgqDzlJ8.js';
4
+ import './diagnostic-B5htzyJ9.js';
5
+ import 'zod';
6
+ import './public-types-B2noBQY9.js';
7
+ import './types-BaOc_AYN.js';
8
+ import './types-CkOvIGPf.js';
9
+ import './types-SY4-jKCn.js';
10
+ import './ast-BbfR3S_b.js';
11
+
12
+ declare function pathToFileUri(filePath: string): string;
13
+
14
+ declare function fileUriToPath(uri: string): string;
15
+ declare function createNodeWorkspaceHost(cwd?: string): WorkspaceHost;
16
+
17
+ declare function createBtProjectEditorService(options?: BtProjectEditorServiceOptions): BtProjectEditorService;
18
+
19
+ type BtProjectEditorServiceOptions = NodeWorkspaceServiceOptions;
20
+
21
+ export { BtProjectEditorService, type BtProjectEditorServiceOptions, createBtProjectEditorService, createNodeWorkspaceHost, fileUriToPath, pathToFileUri };