digipair 0.60.7 → 0.61.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.
Files changed (24) hide show
  1. package/package.json +22 -19
  2. package/src/assets/digipairs/admin/boost-add-digipair-imap-listener-oauth2.json +68 -0
  3. package/src/assets/digipairs/admin/boost-add-digipair-imap-listener.json +68 -0
  4. package/src/assets/digipairs/admin/boost-add-digipair-teams.json +107 -0
  5. package/src/assets/digipairs/admin/config.json +22 -22
  6. package/src/assets/digipairs/admin/digipair-list.json +54 -0
  7. package/src/assets/digipairs/common/config.json +4 -4
  8. package/src/assets/templates/imap-listener/avatar.png +0 -0
  9. package/src/assets/templates/imap-listener/config.json +56 -0
  10. package/src/assets/templates/imap-listener/conversation.json +36 -0
  11. package/src/assets/templates/imap-listener/imap.json +75 -0
  12. package/src/assets/templates/imap-listener/schema.json +126 -0
  13. package/src/assets/templates/imap-listener-oauth2/avatar.png +0 -0
  14. package/src/assets/templates/imap-listener-oauth2/config.json +66 -0
  15. package/src/assets/templates/imap-listener-oauth2/conversation.json +36 -0
  16. package/src/assets/templates/imap-listener-oauth2/imap.json +102 -0
  17. package/src/assets/templates/imap-listener-oauth2/schema.json +126 -0
  18. package/src/assets/templates/msteams-incoming-webhook/avatar.png +0 -0
  19. package/src/assets/templates/msteams-incoming-webhook/config.json +37 -0
  20. package/src/assets/templates/msteams-incoming-webhook/conversation.json +36 -0
  21. package/src/assets/templates/msteams-incoming-webhook/messagecard.json +33 -0
  22. package/src/assets/templates/msteams-incoming-webhook/schema.json +325 -0
  23. package/src/assets/templates/openapi-apikey/openapi.json +7 -0
  24. package/src/assets/templates/openapi-apikey/chat.json +0 -18
package/package.json CHANGED
@@ -1,29 +1,32 @@
1
1
  {
2
2
  "name": "digipair",
3
- "version": "0.60.7",
3
+ "version": "0.61.0",
4
4
  "type": "commonjs",
5
5
  "bin": {
6
6
  "digipair": "./bin/digipair.js"
7
7
  },
8
8
  "dependencies": {
9
- "@digipair/engine": "0.60.7",
10
- "@digipair/skill-chatbot": "0.60.7",
11
- "@digipair/skill-common": "0.60.7",
12
- "@digipair/skill-cron": "0.60.7",
13
- "@digipair/skill-basic": "0.60.7",
14
- "@digipair/skill-debug": "0.60.7",
15
- "@digipair/skill-dsp": "0.60.7",
16
- "@digipair/skill-editor": "0.60.7",
17
- "@digipair/skill-factory": "0.60.7",
18
- "@digipair/skill-http": "0.60.7",
19
- "@digipair/skill-llm": "0.60.7",
20
- "@digipair/skill-openai": "0.60.7",
21
- "@digipair/skill-service": "0.60.7",
22
- "@digipair/skill-sse": "0.60.7",
23
- "@digipair/skill-temporal": "0.60.7",
24
- "@digipair/skill-web": "0.60.7",
25
- "@digipair/skill-logger": "0.60.7",
26
- "@digipair/skill-process": "0.60.7",
9
+ "@digipair/engine": "0.61.0",
10
+ "@digipair/skill-chatbot": "0.61.0",
11
+ "@digipair/skill-common": "0.61.0",
12
+ "@digipair/skill-cron": "0.61.0",
13
+ "@digipair/skill-basic": "0.61.0",
14
+ "@digipair/skill-debug": "0.61.0",
15
+ "@digipair/skill-dsp": "0.61.0",
16
+ "@digipair/skill-editor": "0.61.0",
17
+ "@digipair/skill-factory": "0.61.0",
18
+ "@digipair/skill-http": "0.61.0",
19
+ "@digipair/skill-llm": "0.61.0",
20
+ "@digipair/skill-openai": "0.61.0",
21
+ "@digipair/skill-service": "0.61.0",
22
+ "@digipair/skill-sse": "0.61.0",
23
+ "@digipair/skill-temporal": "0.61.0",
24
+ "@digipair/skill-web": "0.61.0",
25
+ "@digipair/skill-logger": "0.61.0",
26
+ "@digipair/skill-process": "0.61.0",
27
+ "@digipair/skill-oauth2": "0.61.0",
28
+ "@digipair/skill-imap": "0.61.0",
29
+ "@digipair/skill-sendmail": "0.61.0",
27
30
  "tslib": "^2.6.3",
28
31
  "@nestjs/common": "^10.3.9",
29
32
  "@nestjs/core": "^10.3.9",
@@ -0,0 +1,68 @@
1
+ {
2
+ "summary": "Add a digipair for an IMAP listener with OAuth2",
3
+ "description": "Adding a new digipair for an IMAP listener with OAuth2.",
4
+ "library": "@digipair/skill-chatbot",
5
+ "element": "boost",
6
+ "metadata": { "standalone": true },
7
+ "properties": {
8
+ "steps": [
9
+ {
10
+ "name": "Initialisation",
11
+ "execute": [
12
+ {
13
+ "library": "digipair:admin",
14
+ "element": "answer",
15
+ "properties": {
16
+ "assistant": "What is the id for the new digipair ?",
17
+ "boost": [{ "prompt": true, "required": true, "step": "Execution" }]
18
+ }
19
+ }
20
+ ]
21
+ },
22
+ {
23
+ "name": "Execution",
24
+ "execute": [
25
+ {
26
+ "library": "@digipair/skill-basic",
27
+ "element": "setVariable",
28
+ "properties": {
29
+ "name": "infos",
30
+ "execute": [
31
+ {
32
+ "library": "@digipair/skill-dsp",
33
+ "element": "generate",
34
+ "properties": {
35
+ "signature": "\"Extract the information for creating the digipair from the user's comment\"\ncomment:string \"User's comment describing the digipair to create\" -> \n name:string \"Very short name of the agent from the comment\", \n description:string \"Short description of the agent from the comment\", \n assistant:string \"Assistant's response to confirm that the digipair has been successfully added and recall to the user to update his IMPA and SMTP settings from the agent configuration\"",
36
+ "input": { "comment": "{{request.body.prompt}}" }
37
+ }
38
+ }
39
+ ]
40
+ }
41
+ },
42
+ {
43
+ "library": "@digipair/skill-editor",
44
+ "element": "addDigipair",
45
+ "properties": {
46
+ "template": "imap-listener-oauth2",
47
+ "data": {
48
+ "digipair": "EVALUATE:request.body.prompt",
49
+ "name": "EVALUATE:variables.infos.name",
50
+ "description": "EVALUATE:variables.infos.description"
51
+ },
52
+ "digipair": "EVALUATE:request.body.prompt"
53
+ }
54
+ },
55
+ {
56
+ "library": "digipair:admin",
57
+ "element": "answer",
58
+ "properties": {
59
+ "assistant": "EVALUATE:variables.infos.assistant",
60
+ "command": [{ "library": "@digipair/skill-web-interact", "element": "reload" }]
61
+ }
62
+ }
63
+ ]
64
+ }
65
+ ]
66
+ },
67
+ "pins": []
68
+ }
@@ -0,0 +1,68 @@
1
+ {
2
+ "summary": "Add a digipair for an IMAP listener",
3
+ "description": "Adding a new digipair for an IMAP listener.",
4
+ "library": "@digipair/skill-chatbot",
5
+ "element": "boost",
6
+ "metadata": { "standalone": true },
7
+ "properties": {
8
+ "steps": [
9
+ {
10
+ "name": "Initialisation",
11
+ "execute": [
12
+ {
13
+ "library": "digipair:admin",
14
+ "element": "answer",
15
+ "properties": {
16
+ "assistant": "What is the id for the new digipair ?",
17
+ "boost": [{ "prompt": true, "required": true, "step": "Execution" }]
18
+ }
19
+ }
20
+ ]
21
+ },
22
+ {
23
+ "name": "Execution",
24
+ "execute": [
25
+ {
26
+ "library": "@digipair/skill-basic",
27
+ "element": "setVariable",
28
+ "properties": {
29
+ "name": "infos",
30
+ "execute": [
31
+ {
32
+ "library": "@digipair/skill-dsp",
33
+ "element": "generate",
34
+ "properties": {
35
+ "signature": "\"Extract the information for creating the digipair from the user's comment\"\ncomment:string \"User's comment describing the digipair to create\" -> \n name:string \"Very short name of the agent from the comment\", \n description:string \"Short description of the agent from the comment in french\", \n assistant:string \"Assistant's response to confirm that the digipair has been successfully added and recall to the user to update his IMPA and SMTP settings from the agent configuration\"",
36
+ "input": { "comment": "{{request.body.prompt}}" }
37
+ }
38
+ }
39
+ ]
40
+ }
41
+ },
42
+ {
43
+ "library": "@digipair/skill-editor",
44
+ "element": "addDigipair",
45
+ "properties": {
46
+ "template": "imap-listener",
47
+ "data": {
48
+ "digipair": "EVALUATE:request.body.prompt",
49
+ "name": "EVALUATE:variables.infos.name",
50
+ "description": "EVALUATE:variables.infos.description"
51
+ },
52
+ "digipair": "EVALUATE:request.body.prompt"
53
+ }
54
+ },
55
+ {
56
+ "library": "digipair:admin",
57
+ "element": "answer",
58
+ "properties": {
59
+ "assistant": "EVALUATE:variables.infos.assistant",
60
+ "command": [{ "library": "@digipair/skill-web-interact", "element": "reload" }]
61
+ }
62
+ }
63
+ ]
64
+ }
65
+ ]
66
+ },
67
+ "pins": []
68
+ }
@@ -0,0 +1,107 @@
1
+ {
2
+ "summary": "Add a new agent ms teams",
3
+ "description": "Add a new notification agent in ms teams.",
4
+ "library": "@digipair/skill-chatbot",
5
+ "element": "boost",
6
+ "metadata": { "standalone": true },
7
+ "properties": {
8
+ "steps": [
9
+ {
10
+ "name": "Initialisation",
11
+ "execute": [
12
+ {
13
+ "library": "digipair:admin",
14
+ "element": "answer",
15
+ "properties": {
16
+ "assistant": "What is the id for the new digipair ?",
17
+ "boost": [{ "prompt": true, "required": true, "step": "Api" }]
18
+ }
19
+ }
20
+ ]
21
+ },
22
+ {
23
+ "name": "Api",
24
+ "execute": [
25
+ {
26
+ "library": "@digipair/skill-basic",
27
+ "element": "setVariable",
28
+ "properties": {
29
+ "name": "infos",
30
+ "execute": [
31
+ {
32
+ "library": "@digipair/skill-dsp",
33
+ "element": "generate",
34
+ "properties": {
35
+ "signature": "\"Extract the information for creating the digipair from the user's comment\"\ncomment:string \"User's comment describing the digipair to create\" -> \n name:string \"Very short name of the agent from the comment\", \n description:string \"Short description of the agent from the comment in french\", \n assistant:string \"Assistant's response to confirm that the digipair has been successfully added and recall to the user to update his API key from the agent configuration\"",
36
+ "input": { "comment": "{{request.body.prompt}}" }
37
+ }
38
+ }
39
+ ]
40
+ }
41
+ },
42
+ {
43
+ "library": "digipair:admin",
44
+ "element": "answer",
45
+ "properties": {
46
+ "assistant": "Please provide the Incoming Webhook teams URL for the new agent.",
47
+ "boost": [
48
+ {
49
+ "prompt": true,
50
+ "required": true,
51
+ "step": "Execution",
52
+ "inputs": [
53
+ {
54
+ "library": "@digipair/skill-web-inputs",
55
+ "element": "digipair-input-hidden",
56
+ "properties": {
57
+ "value": {
58
+ "digipair": "EVALUATE:\"tardi-\" + request.body.prompt",
59
+ "name": "EVALUATE:variables.infos.name",
60
+ "description": "EVALUATE:variables.infos.description",
61
+ "assistant": "EVALUATE:variables.infos.assistant"
62
+ }
63
+ }
64
+ }
65
+ ]
66
+ }
67
+ ]
68
+ }
69
+ }
70
+ ]
71
+ },
72
+ {
73
+ "name": "Execution",
74
+ "execute": [
75
+ {
76
+ "library": "@digipair/skill-editor",
77
+ "element": "addDigipair",
78
+ "properties": {
79
+ "template": "msteams-incoming-webhook",
80
+ "data": {
81
+ "digipair": "EVALUATE:request.body.inputs[1].value.digipair",
82
+ "name": "EVALUATE:request.body.inputs[1].value.name",
83
+ "description": "EVALUATE:request.body.inputs[1].value.description",
84
+ "msteamsincomingwebhook": "EVALUATE:request.body.prompt"
85
+ },
86
+ "digipair": "EVALUATE:request.body.inputs[1].value.digipair"
87
+ }
88
+ },
89
+ {
90
+ "library": "digipair:tardi-admin",
91
+ "element": "answer",
92
+ "properties": {
93
+ "assistant": "EVALUATE:request.body.inputs[1].value.assistant",
94
+ "command": [
95
+ {
96
+ "library": "@digipair/skill-web-interact",
97
+ "element": "reload"
98
+ }
99
+ ]
100
+ }
101
+ }
102
+ ]
103
+ }
104
+ ]
105
+ },
106
+ "pins": []
107
+ }
@@ -9,28 +9,28 @@
9
9
  "textSecondary": "#FFFFFF"
10
10
  },
11
11
  "libraries": {
12
- "@digipair/skill-service": "0.60.7",
13
- "@digipair/skill-chatbot": "0.60.7",
14
- "@digipair/skill-cron": "0.60.7",
15
- "@digipair/skill-editor": "0.60.7",
16
- "@digipair/skill-common": "0.60.7",
17
- "@digipair/skill-dsp": "0.60.7",
18
- "@digipair/skill-web": "0.60.7",
19
- "@digipair/skill-http": "0.60.7",
20
- "@digipair/skill-basic": "0.60.7",
21
- "@digipair/skill-logger": "0.60.7",
22
- "@digipair/skill-process": "0.60.7",
23
- "@digipair/skill-factory": "0.60.7",
24
- "@digipair/skill-debug": "0.60.7",
25
- "@digipair/skill-web-debug": "0.60.7",
26
- "@digipair/skill-web-jsoneditor": "0.60.7",
27
- "@digipair/skill-web-notification": "0.60.7",
28
- "@digipair/skill-web-chatbot": "0.60.7",
29
- "@digipair/skill-web-editor": "0.60.7",
30
- "@digipair/skill-web-inputs": "0.60.7",
31
- "@digipair/skill-web-spectrum": "0.60.7",
32
- "@digipair/skill-web-interact": "0.60.7",
33
- "@digipair/skill-web-font-awesome": "0.60.7"
12
+ "@digipair/skill-service": "0.61.0",
13
+ "@digipair/skill-chatbot": "0.61.0",
14
+ "@digipair/skill-cron": "0.61.0",
15
+ "@digipair/skill-editor": "0.61.0",
16
+ "@digipair/skill-common": "0.61.0",
17
+ "@digipair/skill-dsp": "0.61.0",
18
+ "@digipair/skill-web": "0.61.0",
19
+ "@digipair/skill-http": "0.61.0",
20
+ "@digipair/skill-basic": "0.61.0",
21
+ "@digipair/skill-logger": "0.61.0",
22
+ "@digipair/skill-process": "0.61.0",
23
+ "@digipair/skill-factory": "0.61.0",
24
+ "@digipair/skill-debug": "0.61.0",
25
+ "@digipair/skill-web-debug": "0.61.0",
26
+ "@digipair/skill-web-jsoneditor": "0.61.0",
27
+ "@digipair/skill-web-notification": "0.61.0",
28
+ "@digipair/skill-web-chatbot": "0.61.0",
29
+ "@digipair/skill-web-editor": "0.61.0",
30
+ "@digipair/skill-web-inputs": "0.61.0",
31
+ "@digipair/skill-web-spectrum": "0.61.0",
32
+ "@digipair/skill-web-interact": "0.61.0",
33
+ "@digipair/skill-web-font-awesome": "0.61.0"
34
34
  },
35
35
  "variables": {},
36
36
  "privates": { "MODEL_DSP": [{ "library": "@digipair/skill-dsp", "element": "modelOpenAI" }] }
@@ -106,6 +106,60 @@
106
106
  }
107
107
  ]
108
108
  }
109
+ },
110
+ {
111
+ "library": "@digipair/skill-web-spectrum",
112
+ "element": "sp-menu-item",
113
+ "properties": { "textContent": "Add a digipair MS Teams notifications" },
114
+ "events": {
115
+ "click": [
116
+ {
117
+ "library": "@digipair/skill-web-interact",
118
+ "element": "execute",
119
+ "properties": {
120
+ "name": "executeBoost",
121
+ "selector": "digipair-chatbot",
122
+ "args": [{ "reasoning": "boost-add-digipair-teams" }]
123
+ }
124
+ }
125
+ ]
126
+ }
127
+ },
128
+ {
129
+ "library": "@digipair/skill-web-spectrum",
130
+ "element": "sp-menu-item",
131
+ "properties": { "textContent": "Add a digipair IMAP listerner" },
132
+ "events": {
133
+ "click": [
134
+ {
135
+ "library": "@digipair/skill-web-interact",
136
+ "element": "execute",
137
+ "properties": {
138
+ "name": "executeBoost",
139
+ "selector": "digipair-chatbot",
140
+ "args": [{ "reasoning": "boost-add-digipair-imap-listener" }]
141
+ }
142
+ }
143
+ ]
144
+ }
145
+ },
146
+ {
147
+ "library": "@digipair/skill-web-spectrum",
148
+ "element": "sp-menu-item",
149
+ "properties": { "textContent": "Add a digipair oAuth2 IMAP listener" },
150
+ "events": {
151
+ "click": [
152
+ {
153
+ "library": "@digipair/skill-web-interact",
154
+ "element": "execute",
155
+ "properties": {
156
+ "name": "executeBoost",
157
+ "selector": "digipair-chatbot",
158
+ "args": [{ "reasoning": "boost-add-digipair-imap-istener-oauth2" }]
159
+ }
160
+ }
161
+ ]
162
+ }
109
163
  }
110
164
  ],
111
165
  "properties": {
@@ -3,10 +3,10 @@
3
3
  "description": "common actions.",
4
4
  "metadata": { "avatar": "avatar.png", "color": "#3b82f6" },
5
5
  "libraries": {
6
- "@digipair/skill-service": "0.60.7",
7
- "@digipair/skill-sse": "0.60.7",
8
- "@digipair/skill-common": "0.60.7",
9
- "@digipair/skill-debug": "0.60.7"
6
+ "@digipair/skill-service": "0.61.0",
7
+ "@digipair/skill-sse": "0.61.0",
8
+ "@digipair/skill-common": "0.61.0",
9
+ "@digipair/skill-debug": "0.61.0"
10
10
  },
11
11
  "variables": {},
12
12
  "privates": {}
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "<%= name %>",
3
+ "description": "<%= description %>",
4
+ "metadata": {
5
+ "avatar": "avatar.png",
6
+ "primary": "#51E0DC",
7
+ "textPrimary": "#242E3B",
8
+ "secondary": "#242E3B",
9
+ "textSecondary": "#FFFFFF"
10
+ },
11
+ "libraries": {
12
+ "@digipair/skill-service": "latest",
13
+ "@digipair/skill-chatbot": "latest",
14
+ "@digipair/skill-dsp": "latest",
15
+ "@digipair/skill-web": "latest",
16
+ "@digipair/skill-basic": "latest",
17
+ "@digipair/skill-oauth2": "latest",
18
+ "@digipair/skill-imap": "latest",
19
+ "@digipair/skill-sendmail": "latest",
20
+ "@digipair/skill-http": "latest",
21
+ "@digipair/skill-factory": "latest",
22
+ "@digipair/skill-debug": "latest",
23
+ "@digipair/skill-web-chatbot": "latest",
24
+ "@digipair/skill-web-inputs": "latest",
25
+ "@digipair/skill-web-interact": "latest"
26
+ },
27
+ "variables": {},
28
+ "privates": {
29
+ "SENDMAIL_CONFIG": {
30
+ "host": "",
31
+ "port": 587,
32
+ "secure": false,
33
+ "auth": { "user": "", "pass": "" }
34
+ },
35
+ "IMAP_CONFIG": {
36
+ "host": "",
37
+ "port": 993,
38
+ "secure": true,
39
+ "auth": {
40
+ "user": "",
41
+ "pass": ""
42
+ }
43
+ },
44
+ "MODEL_EMBEDDINGS": [
45
+ {
46
+ "library": "@digipair/skill-openai",
47
+ "element": "embeddings",
48
+ "property": { "modelName": "text-embedding-3-small" }
49
+ }
50
+ ],
51
+ "MODEL_DSP": [
52
+ { "library": "@digipair/skill-dsp", "element": "modelOpenAI" }
53
+ ]
54
+ },
55
+ "digipair": "<%= digipair %>"
56
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "summary": "Conversation",
3
+ "description": "Generating a response for the user via the chatbot.",
4
+ "library": "@digipair/skill-chatbot",
5
+ "element": "boost",
6
+ "metadata": {},
7
+ "properties": {
8
+ "steps": [
9
+ {
10
+ "name": "Conversation",
11
+ "execute": [
12
+ {
13
+ "library": "@digipair/skill-dsp",
14
+ "element": "agent",
15
+ "properties": {
16
+ "name": "Assistant",
17
+ "description": "You are a helpful assistant, capable of explaining concepts in a simple manner. If you're unsure of an answer, you can say \"I don't know\" or \"I'm not sure.\"",
18
+ "signature": "\"Provide a very short, precise, and concise answer to the user's question using only your knowledge base.\" userQuestion:string -> answer: string \"Assistant answer\"",
19
+ "input": {
20
+ "userQuestion": "{{request.body.prompt}}"
21
+ }
22
+ }
23
+ },
24
+ {
25
+ "library": "@digipair/skill-chatbot",
26
+ "element": "answer",
27
+ "properties": {
28
+ "assistant": "{{previous.answer}}"
29
+ }
30
+ }
31
+ ]
32
+ }
33
+ ]
34
+ },
35
+ "pins": []
36
+ }
@@ -0,0 +1,75 @@
1
+ {
2
+ "description": "IMAP est un protocole utilisé pour accéder aux messages électroniques sur un serveur.",
3
+ "summary": "Protocole de messagerie",
4
+ "library": "@digipair/skill-service",
5
+ "element": "task",
6
+ "metadata": {},
7
+ "properties": {
8
+ "execute": [
9
+ {
10
+ "library": "@digipair/skill-imap",
11
+ "element": "connect",
12
+ "properties": {
13
+ "config": "EVALUATE:privates.IMAP_CONFIG",
14
+ "load": [
15
+ {
16
+ "library": "@digipair/skill-imap",
17
+ "element": "mailboxOpen",
18
+ "properties": { "path": "INBOX" }
19
+ }
20
+ ],
21
+ "exists": [
22
+ {
23
+ "library": "@digipair/skill-basic",
24
+ "element": "setVariable",
25
+ "properties": {
26
+ "name": "message",
27
+ "execute": [
28
+ {
29
+ "library": "@digipair/skill-imap",
30
+ "element": "fetchOne",
31
+ "properties": {
32
+ "seq": "EVALUATE:data.count",
33
+ "query": {
34
+ "envelope": true,
35
+ "uid": true,
36
+ "bodyStructure": true
37
+ }
38
+ }
39
+ },
40
+ {
41
+ "library": "@digipair/skill-imap",
42
+ "element": "parseOne",
43
+ "properties": {
44
+ "message": "EVALUATE:previous",
45
+ "attachments": "NONE"
46
+ }
47
+ }
48
+ ]
49
+ }
50
+ },
51
+ {
52
+ "library": "@digipair/skill-sendmail",
53
+ "element": "send",
54
+ "properties": {
55
+ "from": "no-reply@digipair.ai",
56
+ "to": "EVALUATE:variables.message.envelope.from[1].address",
57
+ "subject": "Tr:{{variables.message.envelope.subject}}",
58
+ "text": "Message received: {{variables.message.contentText}}",
59
+ "html": "Message received: {{variables.message.contentText}}",
60
+ "attachments": []
61
+ }
62
+ },
63
+ {
64
+ "library": "@digipair/skill-imap",
65
+ "element": "messageDelete",
66
+ "properties": { "range": "EVALUATE:data.count" }
67
+ }
68
+ ]
69
+ }
70
+ },
71
+ { "library": "@digipair/skill-factory", "element": "keepAlive" }
72
+ ]
73
+ },
74
+ "pins": []
75
+ }