should work now?

This commit is contained in:
2026-03-22 04:24:01 +02:00
parent c0f85b7550
commit 3f47c913f8
91 changed files with 61663 additions and 1 deletions

681
node_modules/jibo-sdk/resources/crew/dummy-crew.rule generated vendored Normal file
View File

@@ -0,0 +1,681 @@
TopRule =
([george?(?(\')s)])
{_users='uid0001'}
{_fields='f'}
|
(george [jetson?(?(\')s)])
{_users='uid0001'}
{_fields='fl'}
|
(george jetson [dad?(?(\')s)])
{_users='uid0001'}
{_fields='fln'}
|
(george [dad?(?(\')s)])
{_users='uid0001'}
{_fields='fn'}
|
(george dad [jetson?(?(\')s)])
{_users='uid0001'}
{_fields='fnl'}
|
([jetson?(?(\')s)])
{_users='uid0001,uid0002,uid0003,uid0004,uid0005'}
{_fields='l,l,l,l,l'}
|
(jetson [dad?(?(\')s)])
{_users='uid0001'}
{_fields='ln'}
|
(jetson dad [george?(?(\')s)])
{_users='uid0001'}
{_fields='lnf'}
|
(jetson [george?(?(\')s)])
{_users='uid0001'}
{_fields='lf'}
|
(jetson george [dad?(?(\')s)])
{_users='uid0001'}
{_fields='lfn'}
|
([dad?(?(\')s)])
{_users='uid0001'}
{_fields='n'}
|
(dad [george?(?(\')s)])
{_users='uid0001'}
{_fields='nf'}
|
(dad george [jetson?(?(\')s)])
{_users='uid0001'}
{_fields='nfl'}
|
(dad [jetson?(?(\')s)])
{_users='uid0001'}
{_fields='nl'}
|
(dad jetson [george?(?(\')s)])
{_users='uid0001'}
{_fields='nlf'}
|
([jane?(?(\')s)])
{_users='uid0002'}
{_fields='f'}
|
(jane [jetson?(?(\')s)])
{_users='uid0002'}
{_fields='fl'}
|
(jane jetson [mom?(?(\')s)])
{_users='uid0002'}
{_fields='fln'}
|
(jane [mom?(?(\')s)])
{_users='uid0002'}
{_fields='fn'}
|
(jane mom [jetson?(?(\')s)])
{_users='uid0002'}
{_fields='fnl'}
|
(jetson [mom?(?(\')s)])
{_users='uid0002'}
{_fields='ln'}
|
(jetson mom [jane?(?(\')s)])
{_users='uid0002'}
{_fields='lnf'}
|
(jetson [jane?(?(\')s)])
{_users='uid0002'}
{_fields='lf'}
|
(jetson jane [mom?(?(\')s)])
{_users='uid0002'}
{_fields='lfn'}
|
([mom?(?(\')s)])
{_users='uid0002'}
{_fields='n'}
|
(mom [jane?(?(\')s)])
{_users='uid0002'}
{_fields='nf'}
|
(mom jane [jetson?(?(\')s)])
{_users='uid0002'}
{_fields='nfl'}
|
(mom [jetson?(?(\')s)])
{_users='uid0002'}
{_fields='nl'}
|
(mom jetson [jane?(?(\')s)])
{_users='uid0002'}
{_fields='nlf'}
|
([elroy?(?(\')s)])
{_users='uid0003'}
{_fields='f'}
|
(elroy [john?(?(\')s)])
{_users='uid0003'}
{_fields='fm'}
|
(elroy john [jetson?(?(\')s)])
{_users='uid0003'}
{_fields='fml'}
|
(elroy john jetson cool [boy?(?(\')s)])
{_users='uid0003'}
{_fields='fmln'}
|
(elroy john cool [boy?(?(\')s)])
{_users='uid0003'}
{_fields='fmn'}
|
(elroy john cool boy [jetson?(?(\')s)])
{_users='uid0003'}
{_fields='fmnl'}
|
(elroy [jetson?(?(\')s)])
{_users='uid0003'}
{_fields='fl'}
|
(elroy jetson cool [boy?(?(\')s)])
{_users='uid0003'}
{_fields='fln'}
|
(elroy jetson cool boy [john?(?(\')s)])
{_users='uid0003'}
{_fields='flnm'}
|
(elroy jetson [john?(?(\')s)])
{_users='uid0003'}
{_fields='flm'}
|
(elroy jetson john cool [boy?(?(\')s)])
{_users='uid0003'}
{_fields='flmn'}
|
(elroy cool [boy?(?(\')s)])
{_users='uid0003'}
{_fields='fn'}
|
(elroy cool boy [john?(?(\')s)])
{_users='uid0003'}
{_fields='fnm'}
|
(elroy cool boy john [jetson?(?(\')s)])
{_users='uid0003'}
{_fields='fnml'}
|
(elroy cool boy [jetson?(?(\')s)])
{_users='uid0003'}
{_fields='fnl'}
|
(elroy cool boy jetson [john?(?(\')s)])
{_users='uid0003'}
{_fields='fnlm'}
|
([john?(?(\')s)])
{_users='uid0003'}
{_fields='m'}
|
(john [jetson?(?(\')s)])
{_users='uid0003'}
{_fields='ml'}
|
(john jetson cool [boy?(?(\')s)])
{_users='uid0003'}
{_fields='mln'}
|
(john jetson cool boy [elroy?(?(\')s)])
{_users='uid0003'}
{_fields='mlnf'}
|
(john jetson [elroy?(?(\')s)])
{_users='uid0003'}
{_fields='mlf'}
|
(john jetson elroy cool [boy?(?(\')s)])
{_users='uid0003'}
{_fields='mlfn'}
|
(john cool [boy?(?(\')s)])
{_users='uid0003'}
{_fields='mn'}
|
(john cool boy [elroy?(?(\')s)])
{_users='uid0003'}
{_fields='mnf'}
|
(john cool boy elroy [jetson?(?(\')s)])
{_users='uid0003'}
{_fields='mnfl'}
|
(john cool boy [jetson?(?(\')s)])
{_users='uid0003'}
{_fields='mnl'}
|
(john cool boy jetson [elroy?(?(\')s)])
{_users='uid0003'}
{_fields='mnlf'}
|
(john [elroy?(?(\')s)])
{_users='uid0003'}
{_fields='mf'}
|
(john elroy [jetson?(?(\')s)])
{_users='uid0003'}
{_fields='mfl'}
|
(john elroy jetson cool [boy?(?(\')s)])
{_users='uid0003'}
{_fields='mfln'}
|
(john elroy cool [boy?(?(\')s)])
{_users='uid0003'}
{_fields='mfn'}
|
(john elroy cool boy [jetson?(?(\')s)])
{_users='uid0003'}
{_fields='mfnl'}
|
(jetson cool [boy?(?(\')s)])
{_users='uid0003'}
{_fields='ln'}
|
(jetson cool boy [elroy?(?(\')s)])
{_users='uid0003'}
{_fields='lnf'}
|
(jetson cool boy elroy [john?(?(\')s)])
{_users='uid0003'}
{_fields='lnfm'}
|
(jetson cool boy [john?(?(\')s)])
{_users='uid0003'}
{_fields='lnm'}
|
(jetson cool boy john [elroy?(?(\')s)])
{_users='uid0003'}
{_fields='lnmf'}
|
(jetson [elroy?(?(\')s)])
{_users='uid0003'}
{_fields='lf'}
|
(jetson elroy [john?(?(\')s)])
{_users='uid0003'}
{_fields='lfm'}
|
(jetson elroy john cool [boy?(?(\')s)])
{_users='uid0003'}
{_fields='lfmn'}
|
(jetson elroy cool [boy?(?(\')s)])
{_users='uid0003'}
{_fields='lfn'}
|
(jetson elroy cool boy [john?(?(\')s)])
{_users='uid0003'}
{_fields='lfnm'}
|
(jetson [john?(?(\')s)])
{_users='uid0003'}
{_fields='lm'}
|
(jetson john cool [boy?(?(\')s)])
{_users='uid0003'}
{_fields='lmn'}
|
(jetson john cool boy [elroy?(?(\')s)])
{_users='uid0003'}
{_fields='lmnf'}
|
(jetson john [elroy?(?(\')s)])
{_users='uid0003'}
{_fields='lmf'}
|
(jetson john elroy cool [boy?(?(\')s)])
{_users='uid0003'}
{_fields='lmfn'}
|
(cool [boy?(?(\')s)])
{_users='uid0003'}
{_fields='n'}
|
(cool boy [elroy?(?(\')s)])
{_users='uid0003'}
{_fields='nf'}
|
(cool boy elroy [john?(?(\')s)])
{_users='uid0003'}
{_fields='nfm'}
|
(cool boy elroy john [jetson?(?(\')s)])
{_users='uid0003'}
{_fields='nfml'}
|
(cool boy elroy [jetson?(?(\')s)])
{_users='uid0003'}
{_fields='nfl'}
|
(cool boy elroy jetson [john?(?(\')s)])
{_users='uid0003'}
{_fields='nflm'}
|
(cool boy [john?(?(\')s)])
{_users='uid0003'}
{_fields='nm'}
|
(cool boy john [jetson?(?(\')s)])
{_users='uid0003'}
{_fields='nml'}
|
(cool boy john jetson [elroy?(?(\')s)])
{_users='uid0003'}
{_fields='nmlf'}
|
(cool boy john [elroy?(?(\')s)])
{_users='uid0003'}
{_fields='nmf'}
|
(cool boy john elroy [jetson?(?(\')s)])
{_users='uid0003'}
{_fields='nmfl'}
|
(cool boy [jetson?(?(\')s)])
{_users='uid0003'}
{_fields='nl'}
|
(cool boy jetson [elroy?(?(\')s)])
{_users='uid0003'}
{_fields='nlf'}
|
(cool boy jetson elroy [john?(?(\')s)])
{_users='uid0003'}
{_fields='nlfm'}
|
(cool boy jetson [john?(?(\')s)])
{_users='uid0003'}
{_fields='nlm'}
|
(cool boy jetson john [elroy?(?(\')s)])
{_users='uid0003'}
{_fields='nlmf'}
|
([judy?(?(\')s)])
{_users='uid0004'}
{_fields='f'}
|
(judy [july?(?(\')s)])
{_users='uid0004'}
{_fields='fm'}
|
(judy july [jetson?(?(\')s)])
{_users='uid0004'}
{_fields='fml'}
|
(judy july jetson cool [lady?(?(\')s)])
{_users='uid0004'}
{_fields='fmln'}
|
(judy july cool [lady?(?(\')s)])
{_users='uid0004'}
{_fields='fmn'}
|
(judy july cool lady [jetson?(?(\')s)])
{_users='uid0004'}
{_fields='fmnl'}
|
(judy [jetson?(?(\')s)])
{_users='uid0004'}
{_fields='fl'}
|
(judy jetson cool [lady?(?(\')s)])
{_users='uid0004'}
{_fields='fln'}
|
(judy jetson cool lady [july?(?(\')s)])
{_users='uid0004'}
{_fields='flnm'}
|
(judy jetson [july?(?(\')s)])
{_users='uid0004'}
{_fields='flm'}
|
(judy jetson july cool [lady?(?(\')s)])
{_users='uid0004'}
{_fields='flmn'}
|
(judy cool [lady?(?(\')s)])
{_users='uid0004'}
{_fields='fn'}
|
(judy cool lady [july?(?(\')s)])
{_users='uid0004'}
{_fields='fnm'}
|
(judy cool lady july [jetson?(?(\')s)])
{_users='uid0004'}
{_fields='fnml'}
|
(judy cool lady [jetson?(?(\')s)])
{_users='uid0004'}
{_fields='fnl'}
|
(judy cool lady jetson [july?(?(\')s)])
{_users='uid0004'}
{_fields='fnlm'}
|
([july?(?(\')s)])
{_users='uid0004'}
{_fields='m'}
|
(july [jetson?(?(\')s)])
{_users='uid0004'}
{_fields='ml'}
|
(july jetson cool [lady?(?(\')s)])
{_users='uid0004'}
{_fields='mln'}
|
(july jetson cool lady [judy?(?(\')s)])
{_users='uid0004'}
{_fields='mlnf'}
|
(july jetson [judy?(?(\')s)])
{_users='uid0004'}
{_fields='mlf'}
|
(july jetson judy cool [lady?(?(\')s)])
{_users='uid0004'}
{_fields='mlfn'}
|
(july cool [lady?(?(\')s)])
{_users='uid0004'}
{_fields='mn'}
|
(july cool lady [judy?(?(\')s)])
{_users='uid0004'}
{_fields='mnf'}
|
(july cool lady judy [jetson?(?(\')s)])
{_users='uid0004'}
{_fields='mnfl'}
|
(july cool lady [jetson?(?(\')s)])
{_users='uid0004'}
{_fields='mnl'}
|
(july cool lady jetson [judy?(?(\')s)])
{_users='uid0004'}
{_fields='mnlf'}
|
(july [judy?(?(\')s)])
{_users='uid0004'}
{_fields='mf'}
|
(july judy [jetson?(?(\')s)])
{_users='uid0004'}
{_fields='mfl'}
|
(july judy jetson cool [lady?(?(\')s)])
{_users='uid0004'}
{_fields='mfln'}
|
(july judy cool [lady?(?(\')s)])
{_users='uid0004'}
{_fields='mfn'}
|
(july judy cool lady [jetson?(?(\')s)])
{_users='uid0004'}
{_fields='mfnl'}
|
(jetson cool [lady?(?(\')s)])
{_users='uid0004'}
{_fields='ln'}
|
(jetson cool lady [judy?(?(\')s)])
{_users='uid0004'}
{_fields='lnf'}
|
(jetson cool lady judy [july?(?(\')s)])
{_users='uid0004'}
{_fields='lnfm'}
|
(jetson cool lady [july?(?(\')s)])
{_users='uid0004'}
{_fields='lnm'}
|
(jetson cool lady july [judy?(?(\')s)])
{_users='uid0004'}
{_fields='lnmf'}
|
(jetson [judy?(?(\')s)])
{_users='uid0004'}
{_fields='lf'}
|
(jetson judy [july?(?(\')s)])
{_users='uid0004'}
{_fields='lfm'}
|
(jetson judy july cool [lady?(?(\')s)])
{_users='uid0004'}
{_fields='lfmn'}
|
(jetson judy cool [lady?(?(\')s)])
{_users='uid0004'}
{_fields='lfn'}
|
(jetson judy cool lady [july?(?(\')s)])
{_users='uid0004'}
{_fields='lfnm'}
|
(jetson [july?(?(\')s)])
{_users='uid0004'}
{_fields='lm'}
|
(jetson july cool [lady?(?(\')s)])
{_users='uid0004'}
{_fields='lmn'}
|
(jetson july cool lady [judy?(?(\')s)])
{_users='uid0004'}
{_fields='lmnf'}
|
(jetson july [judy?(?(\')s)])
{_users='uid0004'}
{_fields='lmf'}
|
(jetson july judy cool [lady?(?(\')s)])
{_users='uid0004'}
{_fields='lmfn'}
|
(cool [lady?(?(\')s)])
{_users='uid0004'}
{_fields='n'}
|
(cool lady [judy?(?(\')s)])
{_users='uid0004'}
{_fields='nf'}
|
(cool lady judy [july?(?(\')s)])
{_users='uid0004'}
{_fields='nfm'}
|
(cool lady judy july [jetson?(?(\')s)])
{_users='uid0004'}
{_fields='nfml'}
|
(cool lady judy [jetson?(?(\')s)])
{_users='uid0004'}
{_fields='nfl'}
|
(cool lady judy jetson [july?(?(\')s)])
{_users='uid0004'}
{_fields='nflm'}
|
(cool lady [july?(?(\')s)])
{_users='uid0004'}
{_fields='nm'}
|
(cool lady july [jetson?(?(\')s)])
{_users='uid0004'}
{_fields='nml'}
|
(cool lady july jetson [judy?(?(\')s)])
{_users='uid0004'}
{_fields='nmlf'}
|
(cool lady july [judy?(?(\')s)])
{_users='uid0004'}
{_fields='nmf'}
|
(cool lady july judy [jetson?(?(\')s)])
{_users='uid0004'}
{_fields='nmfl'}
|
(cool lady [jetson?(?(\')s)])
{_users='uid0004'}
{_fields='nl'}
|
(cool lady jetson [judy?(?(\')s)])
{_users='uid0004'}
{_fields='nlf'}
|
(cool lady jetson judy [july?(?(\')s)])
{_users='uid0004'}
{_fields='nlfm'}
|
(cool lady jetson [july?(?(\')s)])
{_users='uid0004'}
{_fields='nlm'}
|
(cool lady jetson july [judy?(?(\')s)])
{_users='uid0004'}
{_fields='nlmf'}
|
([rosie?(?(\')s)])
{_users='uid0005'}
{_fields='f'}
|
(rosie [jetson?(?(\')s)])
{_users='uid0005'}
{_fields='fl'}
|
(rosie jetson [robot?(?(\')s)])
{_users='uid0005'}
{_fields='fln'}
|
(rosie [robot?(?(\')s)])
{_users='uid0005'}
{_fields='fn'}
|
(rosie robot [jetson?(?(\')s)])
{_users='uid0005'}
{_fields='fnl'}
|
(jetson [robot?(?(\')s)])
{_users='uid0005'}
{_fields='ln'}
|
(jetson robot [rosie?(?(\')s)])
{_users='uid0005'}
{_fields='lnf'}
|
(jetson [rosie?(?(\')s)])
{_users='uid0005'}
{_fields='lf'}
|
(jetson rosie [robot?(?(\')s)])
{_users='uid0005'}
{_fields='lfn'}
|
([robot?(?(\')s)])
{_users='uid0005'}
{_fields='n'}
|
(robot [rosie?(?(\')s)])
{_users='uid0005'}
{_fields='nf'}
|
(robot rosie [jetson?(?(\')s)])
{_users='uid0005'}
{_fields='nfl'}
|
(robot [jetson?(?(\')s)])
{_users='uid0005'}
{_fields='nl'}
|
(robot jetson [rosie?(?(\')s)])
{_users='uid0005'}
{_fields='nlf'}
|
([XXXXXXXXXX?(?(\')s)])
{_users='null'}
{_fields='null'}
;

68
node_modules/jibo-sdk/resources/docs/cheat-sheet.md generated vendored Normal file
View File

@@ -0,0 +1,68 @@
## Jibo SDK Keystroke Cheatsheet
----
#### Jibo Atom Package
| Task | Keystroke |
| ---------------------------- | --------- |
| Create a new skill | `ctrl-alt-g` |
| Open Chrome DevTools (debugger) | Mac: `cmd-opt-i` PC `ctrl-alt-i` |
| Play in the simulator | Mac: `cmd-r` PC: `ctrl-r` |
| Stop the simulator | Mac: `cmd-q` PC: `ctrl-q` |
#### Behavior Editor
| Task | Keystroke |
| ----------------------- | ----------------------------- |
| Skip selected | `ctrl-alt-/` or `cmd-/` |
#### Animation Editor
| Task | Keystroke |
| --------------------------------| --------- |
| Delete a keyframe | `d` or `backspace` or `delete` |
| Delete frame (s) | Mac: `shift-cmd-i` or `shift-F5` PC: `shift-F5` |
| Deselect all frames | Mac: `cmd-d` PC: `ctrl-d` |
| Duplicate frame(s) | cmd-drag |
| Insert frame(s) | Mac: `cmd-i` or `F5` PC: `F5` |
| Key a frame (current layer) | `s` |
| Key frames (all layers) | `a` |
| Move back one frame | left arrow |
| Move forward one frame | right arrow |
| Move keyframe(s) | drag |
| Play preview | `spacebar` |
| Reset a keyframe | `r` |
| Select a frame | click |
| Select all frames | Mac: `cmd-a` PC: `ctrl-a` |
| Select multiple adjacent frames | shift-click |
| Select multiple non-adjacent frames | Mac: cmd-click PC: ctrl-click |
| Stop preview | `spacebar` or `esc` |
#### Animation Editor - Text Boxes
| Task | Keystroke |
| --------------------- | --------- |
| Insert and update a keyframe | `ctrl-s` |
| Lose focus, Close autocomplete list | `esc` |
| New line, Confirm autocomplete | `enter` |
#### Flow Editor
| Task | Keystroke |
| --------------------- | --------- |
| Automatically layout selected shapes (experimental) | `ctrl-l` |
| Copy selection in place | Mac: opt-drag PC: alt-drag |
| Create transition | Shift-select activities, then `ctrl-t` |
| Cut, copy, paste, select all, undo, redo | native keystrokes |
| Delete selection | `del` or `backspace` |
| Edit text block | `F2` |
| Exit/Cancel | `Esc` |
| Fit to Page | `shift-z` (repeat to return to original) |
| Insert activity into transition | Drag activity from palette onto transition line |
| Move shape | arrow keys |
| Move shape-fine | command-arrow keys |
| Normalize link (undo label and attachment point adjustments) | `ctrl-n` |
| Replace existing activity | Drag new activity from palette onto activity to be replaced |
| Resize activity to original dimensions | `ctrl-m` |
| Scroll entire page | shift-arrow keys |
| Scroll to selection | `spacebar` |
| Scroll | `home` or `end` |
| Scroll | `pageup` or `pagedown` |
| Zoom 100% | Mac: `command-0` PC: `ctrl-0` |
| Zoom in | `+` (plus) |
| Zoom out | `-` (minus) |

View File

@@ -0,0 +1,183 @@
{
"TimeoutSucceed": {
"description": "Forces a behavior to succeed after a given number of milliseconds.",
"type": "decorator",
"options": [
{
"type": "int",
"field": "timeout",
"description": "Enter the number of milliseconds until forced success."
}
]
},
"TimeoutSucceedJs": {
"description": "Uses JavaScript to force a behavior to succeed after a given number of milliseconds.",
"type": "decorator",
"options": [
{
"type": "Function",
"field": "getTime",
"description": "Return the number of milliseconds until forced success.",
"defaultValue": "() => {\n return 0;\n}"
}
]
},
"TimeoutJs": {
"paletteInfo": {"uses": ["flow", "bt"], "color": "JiboBlue", "order": 300},
"description": "Succeeds after a given number of dynamically-calculated milliseconds.",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "getTime",
"description": "Return the number of milliseconds until forced success.",
"defaultValue": "() => {\n return 0;\n}"
}
]
},
"TimeoutFail": {
"description": "Forces a behavior to fail after a given number of milliseconds.",
"type": "decorator",
"options": [
{
"type": "int",
"field": "timeout",
"description": "Enter the number of milliseconds until forced failure."
}
]
},
"FailOnCondition": {
"description": "Forces a behavior to fail if specified condition returns false.",
"type": "decorator",
"options": [
{
"type": "Function",
"field": "init",
"description": "Initialize optional variables for the condition below."
},
{
"type": "Function",
"field": "conditional",
"description": "Return true when you want behavior to fail."
}
]
},
"Case": {
"description": "Use under Switch statements to specify when a behavior should execute and when it should fail.",
"type": "decorator",
"options": [
{
"type": "Function",
"field": "conditional",
"description": "Return false for conditions under which behavior should fail."
}
]
},
"SucceedOnCondition": {
"description": "Forces a behavor to succeed if its conditional function returns true.",
"type": "decorator",
"options": [
{
"type": "Function",
"field": "init",
"description": "Initialize optional variables for the condition below."
},
{
"type": "Function",
"field": "conditional",
"description": "Return true when you want behavior to succeed."
}
]
},
"StartOnCondition": {
"description": "Prevents a behavior from starting until its conditional function returns true.",
"type": "decorator",
"options": [
{
"type": "Function",
"field": "init",
"description": "Initialize optional variables for the condition below."
},
{
"type": "Function",
"field": "conditional",
"description": "Return true when you want component to start."
}
]
},
"WhileCondition": {
"description": "Repeats a behavior until its conditional function returns false.",
"type": "decorator",
"options": [
{
"type": "Function",
"field": "init",
"description": "Initialize optional variables for the condition below."
},
{
"type": "Function",
"field": "conditional",
"description": "Repeat behavior as long as condition return true.",
"defaultValue": "() => {\n return true;\n}"
}
]
},
"ExecuteScript": {
"description": "Synchronously executes arbitrary JavaScript. Use ExecuteScriptAsync for asynchronous calls.",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "exec",
"description": "Enter function that will execute once and then succeed."
}
]
},
"ExecuteScriptAsync": {
"description": "Asynchronously executes arbitrary JavaScript. Will not succeed until the callback is called.",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "exec",
"description": "Behavior will succeed when succeed is called, fail when fail is called.",
"defaultValue": "(succeed, fail) => {\n succeed();\n}"
}
]
},
"Null": {
"description": "This behavior never succeeds or fails. It will remain 'in progress' indefinitely. It must be decorated in order to succeed or fail.",
"type": "leaf",
"options": []
},
"Sequence": {
"description": "This behavior plays its children in order from top to bottom. If one child fails, this behavior will fail. If all its children succeed ,this behavor will succeed.",
"type": "composite",
"options": []
},
"Parallel": {
"description": "This behavior starts all of its children at the same time. This behavior will return success by default when all of its children have succeeded, or, if told to succeed on one, will succeed upon success of any child.",
"type": "composite",
"options": [
{
"type": "boolean",
"field": "succeedOnOne",
"description": "Set to True to force parallel to succeed as soon as one of its children succeeds.",
"defaultValue": false
}
]
},
"Switch": {
"description": "Attempts to execute its children in order from top to bottom until one child succeeds. This behavior always succeeds regardless of whether any children succeed. Use this behavior with Case decorators for branching.",
"type": "composite",
"options": []
},
"Random": {
"description": "Chooses one of its children randomly. Succeeds if that child succeeds and fails otherwise.",
"type": "composite",
"options": []
},
"meta": {
"version": 1
}
}

View File

@@ -0,0 +1,481 @@
{
"Flow.Begin": {
"paletteInfo": {
"uses": [
"flow"
],
"color": "Limeade",
"order": 100
},
"description": "The first shape to be executed in a Jibo Flow Editor procedure, only one allowed per procedure.",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "inputParameters",
"description": "Prototype function text that is copied to provide input parms (and defaults) to this procedure when it is called from another procedure as a subflow. This code is just a text template and is not executed here.",
"defaultValue": "()=>{\n return {\n// parm1: 'parm1_default_value',\n// parm2: 'parm2_default_value'\n };\n}"
}
]
},
"Flow.Begin-Parallel": {
"paletteInfo": {
"uses": [
"flow"
],
"color": "Grass",
"order": 101
},
"description": "The beginning of an Asynchronous thread, more than one allowed per procedure. Execution commences when the page is invoked, simultaneously with the Flow.Begin on the page.",
"type": "leaf",
"options": [
]
},
"Flow.Picture": {
"paletteInfo": {
"uses": [
"flow"
],
"color": "white",
"text": "picture",
"title": "picture",
"order": 102
},
"description": "An image to display on the diagram as an annotation (not an activity that is executed at runtime).",
"type": "leaf",
"options": [
{
"location": "",
"type": "string",
"field": "title",
"description": "The picture title.",
"defaultValue": ""
},
{
"location": "",
"type": "image",
"field": "url",
"description": "The URI/Filename for the picture.",
"defaultValue": ""
},
{
"location": "",
"type": "string",
"field": "caption",
"description": "The picture caption.",
"defaultValue": ""
}
]
},
"Flow.Comment": {
"paletteInfo": {
"uses": [
"flow"
],
"color": "white",
"text": "notes",
"order": 103
},
"description": "A place to keep notes.",
"type": "leaf",
"options": [
{
"location": "",
"type": "string",
"field": "text",
"description": "The text of the comment.",
"defaultValue": ""
}
]
},
"Flow.End": {
"paletteInfo": {
"uses": [
"flow"
],
"color": "Firecracker",
"order": 104
},
"description": "Ends execution of a Jibo Flow Editor procedure and returns to the calling procedure, or exits if this is the top-most procedure.",
"type": "leaf",
"options": [
{
"location": "options",
"type": "Function",
"field": "getTransition",
"description": "Returns the string value that will be used as the Transition from the subflow activity (if undefined, the Flow.End activity name is used).",
"defaultValue": "() => { return ; }"
}
]
},
"Flow.Subflow": {
"paletteInfo": {
"uses": [
"flow"
],
"color": "Topaz",
"order": 105
},
"description": "Calls a subflow.",
"type": "leaf",
"options": [
{
"type": "subflow",
"field": "subflowId",
"description": "path to subflow's .flow file (without the .flow extension)",
"defaultValue": ""
},
{
"type": "Function",
"field": "inputParameters",
"description": "Returns the object that appears in the called subflow as 'notepad.params'.",
"defaultValue": "() => {return {}; }"
},
{
"type": "Function",
"field": "getTransition",
"description": "Returns the transition result from the subflow.",
"defaultValue": "(subflow_result_object) => {\n return subflow_result_object.transition;\n}"
}
]
},
"Flow.Subtree": {
"paletteInfo": {
"uses": [
"flow"
],
"color": "Topaz",
"order": 106
},
"description": "Executes a behavior tree (.bt) as a single behavior and returns the status of the subtree.",
"type": "leaf",
"options": [
{
"type": "Subtree",
"field": "behaviorPath",
"description": "Select a subtree.",
"defaultValue": "null"
},
{
"type": "Function",
"field": "getNotepad",
"description": "Returns an object that will be this tree's notepad.",
"defaultValue": "() => {\n return {};\n}"
},
{
"type": "Function",
"field": "onResult",
"description": "Returns the transition result from the subtree.",
"defaultValue": "(treeResult) => {\n\treturn treeResult.transition;\n}"
}
]
},
"Flow.Throw": {
"paletteInfo": {
"uses": [
"flow"
],
"color": "Grass",
"order": 107
},
"description": "Throws an exception (the name of the activity becomes the name of the exception thrown).",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "getPayload",
"description": "Returns an object that will be made available as the 'payload' argument to Flow.Catch.",
"defaultValue": "() => {\n return {};\n}"
}
]
},
"Flow.Interrupt": {
"paletteInfo": {
"uses": [
"flow"
],
"color": "Limeade",
"order": 108
},
"description": "For use in Parallel threads; causes the Primary thread to take an exception, no matter where it is (the name of the activity becomes the name of the exception thrown).",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "getPayload",
"description": "Returns an object that will be made available as the 'payload' argument to Flow.Catch.",
"defaultValue": "() => {\n return {};\n}"
}
]
},
"Flow.Catch": {
"paletteInfo": {
"uses": [
"flow"
],
"color": "Limeade",
"order": 109
},
"description": "Catches the exception given by the name of the activity.",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "getTransition",
"description": "Called with the actual Exception string and the return value from the Exception or Interrupt's getPayload() functions. Returns the Flow.Catch transition value.",
"defaultValue": "(exception, payload) => {\n\treturn '';\n}"
}
]
},
"Flow.Eval": {
"paletteInfo": {
"uses": [
"flow"
],
"color": "Grape",
"order": 110
},
"description": "Evaluates a Javascript function, the return value of the function becomes the activity result.",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "Script",
"description": "The return value becomes the activity result.",
"defaultValue": "() => {\n return '';\n}"
}
]
},
"Flow.Eval-Async": {
"paletteInfo": {
"uses": [
"flow"
],
"color": "Grape",
"order": 111
},
"description": "Evaluates a Javascript function, the value passed to 'done' becomes the activity result.",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "exec",
"description": "Function to be executed. The value passed to 'done' becomes the activity result.",
"defaultValue": "(done) => {\n done('');\n}"
},
{
"type": "Function",
"field": "onStop",
"description": "Function to be executed when/if the activity receives a stop request.",
"defaultValue": "() => { }"
}
]
},
"Flow.Wait": {
"paletteInfo": {
"uses": [
"xxx-disabled-flow"
],
"color": "Grape",
"order": 112
},
"description": "Pauses for the specified number of milliseconds.",
"type": "leaf",
"options": [
{
"type": "string",
"field": "ms_to_pause",
"description": "The number of milliseconds to pause.",
"defaultValue": "0"
}
]
},
"Mim": {
"paletteInfo": {
"uses": [
"flow"
],
"color": "Tangerine",
"order": 113
},
"description": "A Multimodal Interaction Module, for all your speaking needs.",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "getMimPath",
"description": "Return path to mim file (from project root)",
"defaultValue": "() => {\n\treturn 'mims/myMim.mim';\n}"
},
{
"type": "Function",
"field": "getPromptData",
"description": "Get Prompt Data - Return variables for Mim prompt conditions and text replacement",
"defaultValue": "() => {\n\treturn {};\n}"
},
{
"type": "Function",
"field": "onStatus",
"description": "MIM Status - provides incremental listen results.",
"defaultValue": "(status) => {\n\tlet mimState = status.state;\n\tlet asrResults = status.asrResults;\n\tlet speakerIds = status.speakerIds;\n}"
},
{
"type": "Function",
"field": "onSuccess",
"description": "MIM Success - provides data on the end result of the MIM - a successful response.",
"defaultValue": "(results) => {\n\tlet mimState = results.state;\n\tlet asrResults = results.asrResults;\n\tlet speakerIds = results.speakerIds;\n\tlet transition = results.firstGrammarTag;\n\treturn transition;\n}"
},
{
"type": "Function",
"field": "onFailure",
"description": "MIM Failure - provides data on the failure of the MIM - an overall failure due to no input or no matching response.",
"defaultValue": "(results) => {\n\tlet mimState = results.state;\n\tlet asrResults = results.asrResults;\n\tlet speakerIds = results.speakerIds;\n\tlet exception = results.exception;\n\treturn exception;\n}"
}
]
},
"Mim.Announcement": {
"paletteInfo": {
"uses": [
"flow"
],
"color": "Tennis",
"order": 114
},
"description": "A Multimodal Interaction Module that plays announcements.",
"type": "leaf",
"options": [
{
"type": "mim",
"field": "mimPath",
"description": "path to mim file (from project root)",
"defaultValue": ""
},
{
"type": "Function",
"field": "getPromptData",
"description": "Get Prompt Data - Return variables for Mim prompt conditions and text replacement",
"defaultValue": "() => {\n\treturn {};\n}"
}
]
},
"Mim.Optional-Response": {
"paletteInfo": {
"uses": [
"flow"
],
"color": "Twilight",
"order": 115
},
"description": "A Multimodal Interaction Module that plays an Announcement and waits briefly for a response.",
"type": "leaf",
"options": [
{
"type": "mim",
"field": "mimPath",
"description": "path to mim file (from project root)",
"defaultValue": ""
},
{
"type": "Function",
"field": "getPromptData",
"description": "Get Prompt Data - Return variables for Mim prompt conditions and text replacement",
"defaultValue": "() => {\n\treturn {};\n}"
},
{
"type": "Function",
"field": "onStatus",
"description": "MIM Status - provides incremental listen results.",
"defaultValue": "(status) => {\n\tlet mimState = status.state;\n\tlet asrResults = status.asrResults;\n\tlet speakerIds = status.speakerIds;\n}"
},
{
"type": "Function",
"field": "onSuccess",
"description": "MIM Success - provides data on the end result of the MIM - a successful response.",
"defaultValue": "(results) => {\n\tlet mimState = results.state;\n\tlet asrResults = results.asrResults;\n\tlet speakerIds = results.speakerIds;\n\tlet transition = results.firstGrammarTag;\n\treturn transition;\n}"
}
]
},
"Mim.Question": {
"paletteInfo": {
"uses": [
"flow"
],
"color": "Candy",
"order": 116
},
"description": "A Multimodal Interaction Module that plays an Announcement and waits indefinitely for a response.",
"type": "leaf",
"options": [
{
"type": "mim",
"field": "mimPath",
"description": "path to mim file (from project root)",
"defaultValue": ""
},
{
"type": "Function",
"field": "getPromptData",
"description": "Get Prompt Data - Return variables for Mim prompt conditions and text replacement",
"defaultValue": "() => {\n\treturn {};\n}"
},
{
"type": "Function",
"field": "onStatus",
"description": "MIM Status - provides incremental listen results.",
"defaultValue": "(status) => {\n\tlet mimState = status.state;\n\tlet asrResults = status.asrResults;\n\tlet speakerIds = status.speakerIds;\n}"
},
{
"type": "Function",
"field": "onSuccess",
"description": "MIM Success - provides data on the end result of the MIM - a successful response.",
"defaultValue": "(results) => {\n\tlet mimState = results.state;\n\tlet asrResults = results.asrResults;\n\tlet speakerIds = results.speakerIds;\n\tlet transition = results.firstGrammarTag;\n\treturn transition;\n}"
},
{
"type": "Function",
"field": "onFailure",
"description": "MIM Failure - provides data on the failure of the MIM - an overall failure due to no input or no matching response.",
"defaultValue": "(results) => {\n\tlet mimState = results.state;\n\tlet asrResults = results.asrResults;\n\tlet speakerIds = results.speakerIds;\n\tlet exception = results.exception;\n\treturn exception;\n}"
}
]
},
"Menu": {
"paletteInfo": {
"uses": [
"flow"
],
"color": "Candy",
"order": 117
},
"description": "A self contained single stage menu.",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "getConfig",
"description": "Provide the menu config data.",
"defaultValue": "(loadCallback) => {\n\tloadCallback({});\n}"
},
{
"type": "Function",
"field": "onMenuClosed",
"description": "Called when the menu is closed by the user or a timeout.",
"defaultValue": "(wasTimeout, menu, overrideMenuTransition, exception) => {\n\t//exception will be ~InteractionError.MenuTimeout or ~InteractionError.MenuClosed\n\treturn exception;\n}"
},
{
"type": "Function",
"field": "onItemChosen",
"description": "Called when a user utterance matches the menu rule, or an item is selected",
"defaultValue": "(menuResult, menu, overrideMenuTransition) => {\n\treturn undefined;//return a transition here\n}"
},
{
"type": "Function",
"field": "onPositionalSelect",
"description": "Called when a user tries to choose an item with positional selection - 'open the second one', etc",
"defaultValue": "(commandAsr, intendedIndex, menu) => {\n\t//Return an index to use, NaN to not select anything, or undefined to do the normal behavior (selecting intendedIndex)\n}"
}
]
},
"meta": {
"version": 1
}
}

View File

@@ -0,0 +1,492 @@
{
"Subtree": {
"paletteInfo": {"uses": ["flow", "bt"], "color": "JiboBlue", "order": 200},
"description": "Executes a behavior tree (.bt) as a single behavior and returns the status of the subtree.",
"type": "leaf",
"options": [
{
"type": "Subtree",
"field": "behaviorPath",
"description": "Select a subtree.",
"defaultValue": "null"
},
{
"type": "Function",
"field": "getNotepad",
"description": "Enter optional information to return an object that will be this tree's notepad.",
"defaultValue": "() => {\n return {};\n}"
},
{
"type": "Function",
"field": "onResult",
"description": "Enter optional code that will be called with the subtree's results with the subtree is done.",
"defaultValue": "(treeResult) => {\n}"
}
]
},
"SubtreeJs": {
"description": "Dynamically executes a behavior tree (.bt) as a single behavior. This behavior returns the status of the subtree.",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "getFileName",
"description": "Specify a subtree.",
"defaultValue": "(callback) => {\n}"
},
{
"type": "Function",
"field": "getNotepad",
"description": "Enter optional information to return an object that will be this tree's notepad.",
"defaultValue": "() => {\n return {};\n}"
},
{
"type": "Function",
"field": "onResult",
"description": "Enter optional code that will be called with the subtree's results with the subtree is done.",
"defaultValue": "(treeResult) => {\n}"
}
]
},
"PlayAnimation": {
"paletteInfo": {"uses": ["flow", "bt"], "color": "JiboBlue", "order": 201},
"description": "Plays an animation file (.keys). Succeeds when the animation is finished.",
"type": "leaf",
"options": [
{
"type": "Animation",
"field": "animPath",
"description": "Select the animation file to play.",
"defaultValue": "null"
},
{
"type": "boolean",
"field": "cache",
"description": "True for caching the animation. False for single-play and destroy.",
"defaultValue": true
},
{
"type": "boolean",
"field": "upload",
"description": "True for uploading to the GPU immediately.",
"defaultValue": true
},
{
"type": "Function",
"field": "config",
"description": "Enter optional code to modify the animation's playback.",
"defaultValue": "(animation) => {\n}"
}
]
},
"PlayAudio": {
"paletteInfo": {"uses": ["flow", "bt"], "color": "JiboBlue", "order": 202},
"description": "Plays a single audio source. The audio format is any format supported by HTML5 audio. Succeeds when the audio file is finished playing",
"type": "leaf",
"options": [
{
"type": "Audio",
"field": "audioPath",
"description": "Enter the audio file path.",
"defaultValue": "null"
},
{
"type": "boolean",
"field": "cache",
"description": "True for caching the audio. False for single-play and destroy.",
"defaultValue": true
}
]
},
"LookAt": {
"paletteInfo": {"uses": ["flow", "bt"], "color": "JiboBlue", "order": 203},
"description": "Creates body and eye animations for looking at a point in 3D space",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "getTarget",
"description": "Return the x, y, and z coordinates Jibo should look at.",
"defaultValue": "() => {\n return {x: 0, y: 0, z: 0};\n}"
},
{
"type": "boolean",
"field": "isContinuous",
"description": "True for continuous mode look at. False for single-shot look at.",
"defaultValue": false
},
{
"type": "Function",
"field": "config",
"description": "Enter optional code to modify the lookAt behavior.",
"defaultValue": "(lookAt) => {\n}"
}
]
},
"Blink": {
"paletteInfo": {"uses": ["flow", "bt"], "color": "JiboBlue", "order": 204},
"description": "Animates Jibo's eye to blink once.",
"type": "leaf",
"options": []
},
"TextToSpeech": {
"paletteInfo": {"uses": ["flow", "bt"], "color": "JiboBlue", "order": 205},
"description": "Creates speech output for Jibo.",
"type": "leaf",
"options": [
{
"type": "SSML",
"field": "words",
"description": "Enter text for Jibo to say. Takes plain text or SSML markup.",
"defaultValue": "Hello"
},
{
"type": "Function",
"field": "onWord",
"description" : "Enter optional code to execute each time Jibo says a single word.",
"defaultValue": "(word) => {\n}"
}
]
},
"TextToSpeechJs": {
"paletteInfo": {"uses": ["flow", "bt"], "color": "JiboBlue", "order": 206},
"description": "Dynamically creates speech output for Jibo.",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "getWords",
"description": "Return what you want Jibo to say.",
"defaultValue": "(callback) => {\n callback('Hello');\n}"
},
{
"type": "Function",
"field": "onWord",
"description": "Enter optional code to execute each time Jibo says a single word.",
"defaultValue": "(word) => {\n}"
}
]
},
"StartOnAnimEvent": {
"description": "Prevents the behavior it's decorating from starting until a specified event is received from an animation.",
"type": "decorator",
"options": [
{
"type": "string",
"field": "eventName",
"description": "Specify the event name (set on the animation's Event Layer) on which the animation should start."
},
{
"type": "Function",
"field": "onReceived",
"description": "Enter optional code to execute after the event is received but before the behavior starts.",
"defaultValue": "(animFileName, payload) => {\n}"
}
]
},
"StartOnEvent": {
"description": "Prevents behavior it's decorating from starting until specified event is received from the global emitter.",
"type": "decorator",
"options": [
{
"type": "string",
"field": "eventName",
"description": "Specify the event name you want to listen for the component to start."
},
{
"type": "Function",
"field": "onEvent",
"description": "This function is called after the event was received but before the component starts.",
"defaultValue": "() => {\n}"
}
]
},
"SucceedOnEvent": {
"description": "Forces the behavior it's decorating to succeed when an event is received from the global emitter.",
"type": "decorator",
"options": [
{
"type": "string",
"field": "eventName",
"description": "Specify the event name you want to listen for the component to succeed."
},
{
"type": "Function",
"field": "onEvent",
"description": "This function is called after the event was received along with any payload.",
"defaultValue": "() => {\n}"
}
]
},
"SucceedOnEmbedded": {
"description": "Succeeds a behavior upon hearing a built-in listening rule.",
"type": "decorator",
"options": [
{
"type": ["enum",
{
"label": "Hey Jibo",
"display": "Hey Jibo",
"value": "hey_jibo"
}
],
"field": "rule",
"description": "Specify the name of the embedded rule you want to listen for (hey_jibo).",
"defaultValue": "hey_jibo"
},
{
"type": "Function",
"field": "onResult",
"description": "(listener), event emitter for hey-jibo (asr, spkr) and error events.",
"defaultValue": "(listener) => {\n\tlistener.on('hey-jibo', function(asrResult, speakerIds) {\n\n\t});\n}"
}
]
},
"ListenEmbedded": {
"paletteInfo": {"uses": ["flow", "bt"], "color": "JiboBlue", "order": 207},
"description": "Listens only for an embedded rule (hey_jibo)",
"type": "leaf",
"options": [
{
"type": ["enum",
{
"label": "Hey Jibo",
"display": "Hey Jibo",
"value": "hey_jibo"
}
],
"field": "rule",
"description": "Specify the name of the embedded rule you want to listen for (hey_jibo).",
"defaultValue": "hey_jibo"
},
{
"type": "Function",
"field": "onResult",
"description": "(listener), event emitter for hey-jibo (asr, spkr) and error events.",
"defaultValue": "(listener) => {\n\tlistener.on('hey-jibo', function(asrResult, speakerIds) {\n\n\t});\n}"
}
]
},
"Listen": {
"paletteInfo": {"uses": ["flow", "bt"], "color": "JiboBlue", "order": 208},
"description": "Tells Jibo to listen for auditory input using Natural Language Understanding (NLU).",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "getOptions",
"description": "Set the dictionary of options that will be returned for the listening task.",
"defaultValue": "() => {\n let options = {\n heyJibo: false,\n detectEnd: false,\n incremental: false,\n authenticateSpeaker: ''\n }\n return options;\n}"
},
{
"type": "Rule",
"field": "rule",
"description": "Specify the file path for the rule to use to parse Listen results.",
"defaultValue": "null"
},
{
"type": "Function",
"field": "onResult",
"description": "Enter code to execute when Jibo has heard input. (listener), event emitter for hey-jibo (asr, spkr) and timeout() events.",
"defaultValue": "(listener) => {\n listener.on('cloud', function(asrResult, speakerIds) {\n\n });\n}"
}
]
},
"SucceedOnListen": {
"description": "Succeeds a behavior upon hearing a custom Natural Language Understand (NLU) rule.",
"type": "decorator",
"options": [
{
"type": "Function",
"field": "getOptions",
"description": "Set the dictionary of options that will be returned for the listening task.",
"defaultValue": "() => {\n let options = {\n heyJibo: false,\n detectEnd: false,\n incremental: false,\n authenticateSpeaker: ''\n }\n return options;\n}"
},
{
"type": "Rule",
"field": "rule",
"description": "Specify the file path for the rule to use to parse Listen results.",
"defaultValue": "null"
},
{
"type": "Function",
"field": "onResult",
"description": "Enter code to execute when Jibo has heard input. (listener), event emitter for hey-jibo (asr, spkr) and timeout() events.",
"defaultValue": "(listener) => {\n listener.on('cloud', function(asrResult, speakerIds) {\n\n });\n}"
}
]
},
"ListenJs": {
"paletteInfo": {"uses": ["flow", "bt"], "color": "JiboBlue", "order": 209},
"description": "Tells Jibo to listen for auditory input using Natural Language Understanding (NLU).",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "getOptions",
"description": "Set the dictionary of options that will be returned for the listening task.",
"defaultValue": "() => {\n let options = {\n heyJibo: false,\n detectEnd: false,\n incremental: false,\n authenticateSpeaker: ''\n }\n return options;\n}"
},
{
"type": "Function",
"field": "getRule",
"description": "Pass a custom listening rule into the callback.",
"defaultValue": "(callback) => {\n callback(\"TopRule = $* Hello World $*;\");\n}"
},
{
"type": "Function",
"field": "onResult",
"description": "Enter code to execute when Jibo has heard input. (listener), event emitter for cloud (asr, spkr), hey-jibo (asr, spkr), timeout (), incremental (asr, stop()), and end-of-speech() results.",
"defaultValue": "(listener) => {\n listener.on('cloud', function(asrResult, speakerIds) {\n\n });\n}"
}
]
},
"SucceedOnListenJs": {
"description": "Succeeds a behavior upon hearing a custom Natural Language Understand (NLU) rule.",
"type": "decorator",
"options": [
{
"type": "Function",
"field": "getOptions",
"description": "Set the dictionary of options that will be returned for the listening task.",
"defaultValue": "() => {\n let options = {\n heyJibo: false,\n detectEnd: false,\n incremental: false,\n authenticateSpeaker: ''\n }\n return options;\n}"
},
{
"type": "Function",
"field": "getRule",
"description": "Pass a custom listening rule into the callback.",
"defaultValue": "() => {\n callback(\"TopRule = $* Hello World $*;\");\n}"
},
{
"type": "Function",
"field": "onResult",
"description": "Enter code to execute when Jibo has heard input. (listener), event emitter for cloud (asr, spkr), hey-jibo (asr, spkr), timeout (), incremental (asr, stop()), and end-of-speech() results.",
"defaultValue": "(listener) => {\n listener.on('cloud', function(asrResult, speakerIds) {\n\n });\n}"
}
]
},
"TakePhoto": {
"paletteInfo": {"uses": ["flow", "bt"], "color": "JiboBlue", "order": 210},
"description": "Attempts to take a photo and return the image url in the onPhoto callback",
"type": "leaf",
"options": [
{
"type": ["enum",
{
"label": "Small (672x380) - coming soon!",
"display": "Small (672x380)",
"value": 1
},
{
"label": "Medium (1280x720)",
"display": "Medium (1280x720)",
"value": 2
},
{
"label": "Large (1920x1080) - coming soon!",
"display": "Large (1920x1080)",
"value": 3
},
{
"label": "X-Large (2688x1520) - coming soon!",
"display": "X-Large (2688x1520)",
"value": 4
}
],
"field": "resolution",
"description": "Specify the resolution of the photo you want to take.",
"defaultValue": 2
},
{
"type": "Function",
"field": "onPhoto",
"description" : "Set optional code to execute after the photo is taken. If successful, returns imageUrl; otherwise, returns error.",
"defaultValue": "(error, imageUrl) => {\n}"
},
{
"type": "boolean",
"field": "noDistortion",
"description": "True to remove camera distortion from the photo. False to keep camera distortion on the photo.",
"defaultValue": true
}
]
},
"ReadBarcode": {
"paletteInfo": {"uses": ["flow", "bt"], "color": "JiboBlue", "order": 211},
"description": "Attempts to read a barcode or QRcode and returns the barcode data",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "onBarcode",
"description" : "Enter the code that will be called when the barcode is read. If successful, returns barcode/QRcode data; otherwise, returns error.",
"defaultValue": "(error, data) => {\n}"
}
]
},
"Mim": {
"paletteInfo": {"uses": ["bt"], "color": "JiboBlue", "order": 212},
"description": "A Multimodal Interaction Module, for all your speaking needs.",
"type": "leaf",
"options": [
{
"type": "mim",
"field": "mimPath",
"description": "path to mim file (from project root)",
"defaultValue": ""
},
{
"type": "Function",
"field": "getPromptData",
"description": "Return variables for Mim prompt conditions and text replacement",
"defaultValue": "() => {\n\treturn {};\n}"
},
{
"type": "Function",
"field": "onStatus",
"description": "provides incremental listen results.",
"defaultValue": "(status) => {\n\tlet mimState = status.state;\n\tlet asrResults = status.asrResults;\n\tlet speakerIds = status.speakerIds;\n}"
},
{
"type": "Function",
"field": "onSuccess",
"description": "provides data on the end result of the MIM - a successful response.",
"defaultValue": "(results) => {\n\tlet mimState = results.state;\n\tlet asrResults = results.asrResults;\n\tlet speakerIds = results.speakerIds;\n}"
}
]
},
"Menu": {
"paletteInfo": {"uses": ["bt"], "color": "JiboBlue", "order": 213},
"description": "A self contained single stage menu.",
"type": "leaf",
"options": [
{
"type": "Function",
"field": "getConfig",
"description": "Provide the menu config data.",
"defaultValue": "(loadCallback) => {\n\tloadCallback({});\n}"
},
{
"type": "Function",
"field": "onMenuClosed",
"description": "Called when the menu is closed by the user or a timeout.",
"defaultValue": "(wasTimeout, menu, overrideMenuTransition) => {\n}"
},
{
"type": "Function",
"field": "onItemChosen",
"description": "Called when a user utterance matches the menu rule, or an item is selected",
"defaultValue": "(menuResult, menu, overrideMenuTransition) => {\n}"
},
{
"type": "Function",
"field": "onPositionalSelect",
"description": "Called when a user tries to choose an item with positional selection - 'open the second one', etc",
"defaultValue": "(commandAsr, intendedIndex, menu) => {\n\t//Return an index to use, NaN to not select anything, or undefined to do the normal behavior (selecting intendedIndex)\n}"
}
]
},
"meta": {
"version": 1
}
}

40332
node_modules/jibo-sdk/resources/externals/go-debug.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

1983
node_modules/jibo-sdk/resources/externals/go.js generated vendored Normal file

File diff suppressed because it is too large Load Diff

28
node_modules/jibo-sdk/resources/gating/index.html generated vendored Normal file
View File

@@ -0,0 +1,28 @@
<!DOCTYPE html>
<html>
<head>
<style>
body{
margin: 0px;
width: 500px;
height: 650px;
}
webview {
border: none;
width: 500px;
height: 650px;
}
</style>
</head>
<body>
<!--
<webview id="website" partition="login" width="500" height="650" autosize="on" style="width:500px; height:650px" src="https://developers-dev.jibo.com/jibo/"></webview>
-->
<!-- -->
<webview id="website" partition="login" width="500" height="650" autosize="on" src="https://support.jibo.com/c2login"></webview>
<script>
require('./r');
</script>
</body>
</html>

9
node_modules/jibo-sdk/resources/gating/m.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
/**
* jibo-sdk - Jibo's SDK plugin for Atom
* @version v3.9.10
* @license Copyright (c) 2017, Jibo, Inc. All rights reserved.
* All use of the Jibo SDK is subject to the Jibo SDK End User License Agreement (EULA)
* distributed herewith. If you did not receive a copy of the EULA, you may view a
* copy at https://developers.jibo.com/license.
*/
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r;r="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,r.m=e()}}(function(){return function e(r,o,l){function t(i,a){if(!o[i]){if(!r[i]){var u="function"==typeof require&&require;if(!a&&u)return u(i,!0);if(n)return n(i,!0);var c=new Error("Cannot find module '"+i+"'");throw c.code="MODULE_NOT_FOUND",c}var d=o[i]={exports:{}};r[i][0].call(d.exports,function(e){var o=r[i][1][e];return t(o?o:e)},d,d.exports,e,r,o,l)}return o[i].exports}for(var n="function"==typeof require&&require,i=0;i<l.length;i++)t(l[i]);return t}({1:[function(e,r,o){"use strict";var l=e("electron"),t=[{label:"Edit",submenu:[{label:"Undo",accelerator:"CmdOrCtrl+Z",role:"undo"},{label:"Redo",accelerator:"Shift+CmdOrCtrl+Z",role:"redo"},{type:"separator"},{label:"Cut",accelerator:"CmdOrCtrl+X",role:"cut"},{label:"Copy",accelerator:"CmdOrCtrl+C",role:"copy"},{label:"Paste",accelerator:"CmdOrCtrl+V",role:"paste"},{label:"Select All",accelerator:"CmdOrCtrl+A",role:"selectall"}]},{label:"Window",role:"window",submenu:[{label:"Minimize",accelerator:"CmdOrCtrl+M",role:"minimize"},{label:"Close",accelerator:"CmdOrCtrl+W",role:"close"}]}];if("darwin"==process.platform){var n="Jibo SDK Login";t.unshift({label:n,submenu:[{label:"Quit",accelerator:"Command+Q",role:"quit",click:function(){l.app.quit()}}]})}var i=null;l.app.on("window-all-closed",function(){"darwin"!=process.platform&&l.app.quit()}),l.app.on("ready",function(){var e=l.Menu.buildFromTemplate(t);l.Menu.setApplicationMenu(e),i=new l.BrowserWindow({width:500,height:650,resizable:!1}),l.ipcMain.on("quit-app",function(){process.stdout.write(process.env.token),l.app.quit()}),i.loadURL("file://"+__dirname+"/index.html"),i.on("closed",function(){l.app.quit(),i=null})})},{electron:void 0}]},{},[1])(1)});

9
node_modules/jibo-sdk/resources/gating/r.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
/**
* jibo-sdk - Jibo's SDK plugin for Atom
* @version v3.9.10
* @license Copyright (c) 2017, Jibo, Inc. All rights reserved.
* All use of the Jibo SDK is subject to the Jibo SDK End User License Agreement (EULA)
* distributed herewith. If you did not receive a copy of the EULA, you may view a
* copy at https://developers.jibo.com/license.
*/
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n;n="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,n.r=e()}}(function(){return function e(n,t,o){function r(f,u){if(!t[f]){if(!n[f]){var d="function"==typeof require&&require;if(!u&&d)return d(f,!0);if(i)return i(f,!0);var l=new Error("Cannot find module '"+f+"'");throw l.code="MODULE_NOT_FOUND",l}var s=t[f]={exports:{}};n[f][0].call(s.exports,function(e){var t=n[f][1][e];return r(t?t:e)},s,s.exports,e,n,t,o)}return t[f].exports}for(var i="function"==typeof require&&require,f=0;f<o.length;f++)r(o[f]);return r}({1:[function(e,n,t){"use strict";var o=e("electron"),r=document.getElementById("website"),i=!1;r.addEventListener("dom-ready",function(){r.insertCSS("#logged_in_as_sp, #not_you_link_sp{ display: none; }"),i=!0}),document.title="Jibo SDK",setInterval(function(){i&&"https://www.jibo.com/"===r.getUrl()&&o.ipcRenderer.send("quit-app")},100)},{electron:void 0}]},{},[1])(1)});

BIN
node_modules/jibo-sdk/resources/images/README.gif generated vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
node_modules/jibo-sdk/resources/images/jibo.png generated vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB