sideby 0.16.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/dist/build.json +1 -1
- package/dist/src/cli/commands.d.ts +16 -0
- package/dist/src/cli/commands.js +460 -5
- package/dist/src/cli/json-schemas.js +115 -0
- package/dist/src/cli/main.js +93 -3
- package/dist/src/core/ask.d.ts +150 -0
- package/dist/src/core/ask.js +365 -0
- package/dist/src/core/attachments.d.ts +50 -0
- package/dist/src/core/attachments.js +442 -0
- package/dist/src/core/autostart.d.ts +88 -0
- package/dist/src/core/autostart.js +256 -0
- package/dist/src/core/config.d.ts +97 -0
- package/dist/src/core/config.js +278 -10
- package/dist/src/core/launch.d.ts +15 -4
- package/dist/src/core/launch.js +27 -23
- package/dist/src/core/local-build.d.ts +17 -0
- package/dist/src/core/local-build.js +39 -3
- package/dist/src/core/probe.d.ts +78 -0
- package/dist/src/core/probe.js +127 -0
- package/dist/src/core/same-login.d.ts +9 -4
- package/dist/src/core/same-login.js +9 -4
- package/dist/src/core/secret-file.d.ts +26 -0
- package/dist/src/core/secret-file.js +126 -7
- package/dist/src/core/terminal.d.ts +93 -0
- package/dist/src/core/terminal.js +371 -0
- package/dist/src/core/update.d.ts +17 -0
- package/dist/src/core/update.js +63 -1
- package/dist/src/families/claude/index.js +3 -0
- package/dist/src/families/claude/quota-cache.d.ts +24 -7
- package/dist/src/families/claude/quota-cache.js +72 -21
- package/dist/src/families/codex/index.js +7 -0
- package/dist/src/families/codex/login-key.d.ts +8 -0
- package/dist/src/families/codex/login-key.js +33 -0
- package/dist/src/families/grok/index.js +3 -0
- package/dist/src/families/login-keys.d.ts +6 -0
- package/dist/src/families/login-keys.js +6 -0
- package/dist/src/families/pi/index.js +4 -0
- package/dist/src/panel/background.js +3 -2
- package/dist/src/panel/handler.d.ts +29 -2
- package/dist/src/panel/handler.js +396 -9
- package/dist/src/panel/i18n.d.ts +175 -2
- package/dist/src/panel/i18n.js +381 -35
- package/dist/src/panel/page-logic.d.ts +214 -0
- package/dist/src/panel/page-logic.js +394 -0
- package/dist/src/panel/page-script.js +984 -134
- package/dist/src/panel/page-styles.js +69 -19
- package/dist/src/panel/page.d.ts +5 -0
- package/dist/src/panel/page.js +2 -0
- package/dist/src/panel/server.d.ts +16 -2
- package/dist/src/panel/server.js +41 -13
- package/dist/src/plugins/check.d.ts +47 -0
- package/dist/src/plugins/check.js +544 -0
- package/dist/src/plugins/scaffold.d.ts +21 -0
- package/dist/src/plugins/scaffold.js +123 -0
- package/dist/src/quota/statusline-tap.js +1 -1
- package/dist/src/runtime.d.ts +10 -0
- package/dist/src/runtime.js +47 -16
- package/dist/src/types.d.ts +19 -0
- package/package.json +2 -2
- package/schemas/ask.json +180 -0
- package/schemas/autostart.json +165 -0
- package/schemas/config-get.json +132 -0
- package/schemas/config-set.json +107 -0
- package/schemas/config.json +73 -6
- package/schemas/key.json +93 -0
- package/schemas/local.json +4 -0
- package/schemas/plugins-check.json +113 -0
- package/schemas/plugins-new.json +87 -0
- package/schemas/terminal.json +152 -0
- package/schemas/try.json +109 -0
- package/schemas/update.json +4 -0
- package/skills/sideby/SKILL.md +12 -6
- package/skills/sideby/references/accounts.md +1 -1
- package/skills/sideby/references/ai-tasks.md +116 -0
- package/skills/sideby/references/panel.md +14 -0
- package/skills/sideby/references/update.md +1 -1
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "sideby/autostart.json",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": [
|
|
6
|
+
"schemaVersion",
|
|
7
|
+
"supported",
|
|
8
|
+
"state",
|
|
9
|
+
"path",
|
|
10
|
+
"current"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"schemaVersion": {
|
|
14
|
+
"type": "number",
|
|
15
|
+
"const": 1
|
|
16
|
+
},
|
|
17
|
+
"supported": {
|
|
18
|
+
"type": "boolean",
|
|
19
|
+
"description": "False on a system sideby cannot start at login yet; `reason` says so."
|
|
20
|
+
},
|
|
21
|
+
"reason": {
|
|
22
|
+
"type": "string"
|
|
23
|
+
},
|
|
24
|
+
"state": {
|
|
25
|
+
"anyOf": [
|
|
26
|
+
{
|
|
27
|
+
"type": "string",
|
|
28
|
+
"const": "off"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"type": "string",
|
|
32
|
+
"const": "on"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "string",
|
|
36
|
+
"const": "stale"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"type": "string",
|
|
40
|
+
"const": "foreign"
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"description": "`stale`: the Node or sideby it starts no longer exists; `foreign`: a file at that path that sideby did not write."
|
|
44
|
+
},
|
|
45
|
+
"path": {
|
|
46
|
+
"type": "string"
|
|
47
|
+
},
|
|
48
|
+
"programArguments": {
|
|
49
|
+
"type": "array",
|
|
50
|
+
"items": {
|
|
51
|
+
"type": "string"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"current": {
|
|
55
|
+
"type": "boolean",
|
|
56
|
+
"description": "The login item starts this sideby with this Node."
|
|
57
|
+
},
|
|
58
|
+
"missing": {
|
|
59
|
+
"type": "array",
|
|
60
|
+
"items": {
|
|
61
|
+
"type": "string"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"action": {
|
|
65
|
+
"anyOf": [
|
|
66
|
+
{
|
|
67
|
+
"type": "string",
|
|
68
|
+
"const": "on"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"type": "string",
|
|
72
|
+
"const": "off"
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
"changed": {
|
|
77
|
+
"type": "boolean"
|
|
78
|
+
},
|
|
79
|
+
"applied": {
|
|
80
|
+
"type": "boolean"
|
|
81
|
+
},
|
|
82
|
+
"content": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"description": "The file `on` writes."
|
|
85
|
+
},
|
|
86
|
+
"commands": {
|
|
87
|
+
"type": "array",
|
|
88
|
+
"items": {
|
|
89
|
+
"type": "array",
|
|
90
|
+
"items": {
|
|
91
|
+
"type": "string"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"loaded": {
|
|
96
|
+
"type": "boolean",
|
|
97
|
+
"description": "launchd took the change now."
|
|
98
|
+
},
|
|
99
|
+
"note": {
|
|
100
|
+
"type": "string"
|
|
101
|
+
},
|
|
102
|
+
"_notice": {
|
|
103
|
+
"type": "object",
|
|
104
|
+
"properties": {
|
|
105
|
+
"update": {
|
|
106
|
+
"type": "object",
|
|
107
|
+
"required": [
|
|
108
|
+
"current",
|
|
109
|
+
"latest",
|
|
110
|
+
"command",
|
|
111
|
+
"message"
|
|
112
|
+
],
|
|
113
|
+
"properties": {
|
|
114
|
+
"current": {
|
|
115
|
+
"type": "string"
|
|
116
|
+
},
|
|
117
|
+
"latest": {
|
|
118
|
+
"type": "string"
|
|
119
|
+
},
|
|
120
|
+
"command": {
|
|
121
|
+
"type": "string",
|
|
122
|
+
"description": "Run it after the user agrees: it shows the plan and exits 10; then --yes."
|
|
123
|
+
},
|
|
124
|
+
"message": {
|
|
125
|
+
"type": "string"
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"skill": {
|
|
130
|
+
"type": "object",
|
|
131
|
+
"required": [
|
|
132
|
+
"installed",
|
|
133
|
+
"current",
|
|
134
|
+
"command",
|
|
135
|
+
"message"
|
|
136
|
+
],
|
|
137
|
+
"properties": {
|
|
138
|
+
"installed": {
|
|
139
|
+
"anyOf": [
|
|
140
|
+
{
|
|
141
|
+
"type": "string"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"type": "null"
|
|
145
|
+
}
|
|
146
|
+
],
|
|
147
|
+
"description": "The skill's version; null when it has none."
|
|
148
|
+
},
|
|
149
|
+
"current": {
|
|
150
|
+
"type": "string"
|
|
151
|
+
},
|
|
152
|
+
"command": {
|
|
153
|
+
"type": "string",
|
|
154
|
+
"description": "`sideby update`, which updates the skill with sideby: run it after the user agrees; it shows the plan and exits 10, then --yes."
|
|
155
|
+
},
|
|
156
|
+
"message": {
|
|
157
|
+
"type": "string"
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
"description": "Not the answer to the task: mention it briefly afterwards and offer to update."
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "sideby/config-get.json",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": [
|
|
6
|
+
"schemaVersion"
|
|
7
|
+
],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schemaVersion": {
|
|
10
|
+
"type": "number",
|
|
11
|
+
"const": 1
|
|
12
|
+
},
|
|
13
|
+
"file": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
},
|
|
16
|
+
"keys": {
|
|
17
|
+
"type": "array",
|
|
18
|
+
"items": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"required": [
|
|
21
|
+
"key",
|
|
22
|
+
"meaning",
|
|
23
|
+
"takes"
|
|
24
|
+
],
|
|
25
|
+
"properties": {
|
|
26
|
+
"key": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"description": "Dot path; `<…>` marks a part you fill in."
|
|
29
|
+
},
|
|
30
|
+
"meaning": {
|
|
31
|
+
"type": "string"
|
|
32
|
+
},
|
|
33
|
+
"takes": {
|
|
34
|
+
"type": "string"
|
|
35
|
+
},
|
|
36
|
+
"value": {},
|
|
37
|
+
"entries": {
|
|
38
|
+
"type": "array",
|
|
39
|
+
"items": {
|
|
40
|
+
"type": "object",
|
|
41
|
+
"required": [
|
|
42
|
+
"key",
|
|
43
|
+
"value"
|
|
44
|
+
],
|
|
45
|
+
"properties": {
|
|
46
|
+
"key": {
|
|
47
|
+
"type": "string"
|
|
48
|
+
},
|
|
49
|
+
"value": {}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"key": {
|
|
57
|
+
"type": "string"
|
|
58
|
+
},
|
|
59
|
+
"set": {
|
|
60
|
+
"type": "boolean"
|
|
61
|
+
},
|
|
62
|
+
"value": {},
|
|
63
|
+
"meaning": {
|
|
64
|
+
"type": "string"
|
|
65
|
+
},
|
|
66
|
+
"takes": {
|
|
67
|
+
"type": "string"
|
|
68
|
+
},
|
|
69
|
+
"_notice": {
|
|
70
|
+
"type": "object",
|
|
71
|
+
"properties": {
|
|
72
|
+
"update": {
|
|
73
|
+
"type": "object",
|
|
74
|
+
"required": [
|
|
75
|
+
"current",
|
|
76
|
+
"latest",
|
|
77
|
+
"command",
|
|
78
|
+
"message"
|
|
79
|
+
],
|
|
80
|
+
"properties": {
|
|
81
|
+
"current": {
|
|
82
|
+
"type": "string"
|
|
83
|
+
},
|
|
84
|
+
"latest": {
|
|
85
|
+
"type": "string"
|
|
86
|
+
},
|
|
87
|
+
"command": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"description": "Run it after the user agrees: it shows the plan and exits 10; then --yes."
|
|
90
|
+
},
|
|
91
|
+
"message": {
|
|
92
|
+
"type": "string"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"skill": {
|
|
97
|
+
"type": "object",
|
|
98
|
+
"required": [
|
|
99
|
+
"installed",
|
|
100
|
+
"current",
|
|
101
|
+
"command",
|
|
102
|
+
"message"
|
|
103
|
+
],
|
|
104
|
+
"properties": {
|
|
105
|
+
"installed": {
|
|
106
|
+
"anyOf": [
|
|
107
|
+
{
|
|
108
|
+
"type": "string"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"type": "null"
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
"description": "The skill's version; null when it has none."
|
|
115
|
+
},
|
|
116
|
+
"current": {
|
|
117
|
+
"type": "string"
|
|
118
|
+
},
|
|
119
|
+
"command": {
|
|
120
|
+
"type": "string",
|
|
121
|
+
"description": "`sideby update`, which updates the skill with sideby: run it after the user agrees; it shows the plan and exits 10, then --yes."
|
|
122
|
+
},
|
|
123
|
+
"message": {
|
|
124
|
+
"type": "string"
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"description": "Not the answer to the task: mention it briefly afterwards and offer to update."
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "sideby/config-set.json",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": [
|
|
6
|
+
"schemaVersion",
|
|
7
|
+
"action",
|
|
8
|
+
"key",
|
|
9
|
+
"file",
|
|
10
|
+
"changed",
|
|
11
|
+
"applied"
|
|
12
|
+
],
|
|
13
|
+
"properties": {
|
|
14
|
+
"schemaVersion": {
|
|
15
|
+
"type": "number",
|
|
16
|
+
"const": 1
|
|
17
|
+
},
|
|
18
|
+
"action": {
|
|
19
|
+
"anyOf": [
|
|
20
|
+
{
|
|
21
|
+
"type": "string",
|
|
22
|
+
"const": "set"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "string",
|
|
26
|
+
"const": "unset"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"key": {
|
|
31
|
+
"type": "string"
|
|
32
|
+
},
|
|
33
|
+
"file": {
|
|
34
|
+
"type": "string"
|
|
35
|
+
},
|
|
36
|
+
"changed": {
|
|
37
|
+
"type": "boolean"
|
|
38
|
+
},
|
|
39
|
+
"applied": {
|
|
40
|
+
"type": "boolean"
|
|
41
|
+
},
|
|
42
|
+
"before": {},
|
|
43
|
+
"after": {},
|
|
44
|
+
"_notice": {
|
|
45
|
+
"type": "object",
|
|
46
|
+
"properties": {
|
|
47
|
+
"update": {
|
|
48
|
+
"type": "object",
|
|
49
|
+
"required": [
|
|
50
|
+
"current",
|
|
51
|
+
"latest",
|
|
52
|
+
"command",
|
|
53
|
+
"message"
|
|
54
|
+
],
|
|
55
|
+
"properties": {
|
|
56
|
+
"current": {
|
|
57
|
+
"type": "string"
|
|
58
|
+
},
|
|
59
|
+
"latest": {
|
|
60
|
+
"type": "string"
|
|
61
|
+
},
|
|
62
|
+
"command": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"description": "Run it after the user agrees: it shows the plan and exits 10; then --yes."
|
|
65
|
+
},
|
|
66
|
+
"message": {
|
|
67
|
+
"type": "string"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"skill": {
|
|
72
|
+
"type": "object",
|
|
73
|
+
"required": [
|
|
74
|
+
"installed",
|
|
75
|
+
"current",
|
|
76
|
+
"command",
|
|
77
|
+
"message"
|
|
78
|
+
],
|
|
79
|
+
"properties": {
|
|
80
|
+
"installed": {
|
|
81
|
+
"anyOf": [
|
|
82
|
+
{
|
|
83
|
+
"type": "string"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"type": "null"
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"description": "The skill's version; null when it has none."
|
|
90
|
+
},
|
|
91
|
+
"current": {
|
|
92
|
+
"type": "string"
|
|
93
|
+
},
|
|
94
|
+
"command": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"description": "`sideby update`, which updates the skill with sideby: run it after the user agrees; it shows the plan and exits 10, then --yes."
|
|
97
|
+
},
|
|
98
|
+
"message": {
|
|
99
|
+
"type": "string"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"description": "Not the answer to the task: mention it briefly afterwards and offer to update."
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
package/schemas/config.json
CHANGED
|
@@ -6,6 +6,67 @@
|
|
|
6
6
|
"$schema": {
|
|
7
7
|
"type": "string"
|
|
8
8
|
},
|
|
9
|
+
"panel": {
|
|
10
|
+
"type": "object",
|
|
11
|
+
"properties": {
|
|
12
|
+
"theme": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"enum": [
|
|
15
|
+
"system",
|
|
16
|
+
"light",
|
|
17
|
+
"dark"
|
|
18
|
+
],
|
|
19
|
+
"description": "Panel colours: follow the system (default), always light, or always dark."
|
|
20
|
+
},
|
|
21
|
+
"language": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"enum": [
|
|
24
|
+
"auto",
|
|
25
|
+
"en",
|
|
26
|
+
"zh"
|
|
27
|
+
],
|
|
28
|
+
"description": "Panel language: the browser's (default), English, or Chinese."
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"additionalProperties": false,
|
|
32
|
+
"description": "How the Panel looks (spec §3.29)."
|
|
33
|
+
},
|
|
34
|
+
"terminal": {
|
|
35
|
+
"type": "object",
|
|
36
|
+
"properties": {
|
|
37
|
+
"preferred": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"enum": [
|
|
40
|
+
"terminal",
|
|
41
|
+
"iterm2",
|
|
42
|
+
"ghostty",
|
|
43
|
+
"orca",
|
|
44
|
+
"wezterm",
|
|
45
|
+
"kitty",
|
|
46
|
+
"alacritty",
|
|
47
|
+
"custom"
|
|
48
|
+
],
|
|
49
|
+
"description": "The terminal sideby opens for AI Tasks; without it sideby picks the one you use."
|
|
50
|
+
},
|
|
51
|
+
"custom": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"description": "Your own launch command for `preferred: custom`, with `{cwd}` and `{cmd}` placeholders."
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"additionalProperties": false,
|
|
57
|
+
"description": "The terminal AI Tasks open in (spec §3.28)."
|
|
58
|
+
},
|
|
59
|
+
"ask": {
|
|
60
|
+
"type": "object",
|
|
61
|
+
"properties": {
|
|
62
|
+
"account": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"description": "The account AI Tasks start (`<family>:<name>` or a short command); sideby picks one without it."
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"additionalProperties": false,
|
|
68
|
+
"description": "AI Tasks (spec §3.28)."
|
|
69
|
+
},
|
|
9
70
|
"accounts": {
|
|
10
71
|
"type": "object",
|
|
11
72
|
"patternProperties": {
|
|
@@ -16,7 +77,8 @@
|
|
|
16
77
|
"type": "array",
|
|
17
78
|
"items": {
|
|
18
79
|
"type": "string"
|
|
19
|
-
}
|
|
80
|
+
},
|
|
81
|
+
"description": "Host arguments sideby starts the account with; `sideby config` and `sideby model` set only the model and effort ones."
|
|
20
82
|
}
|
|
21
83
|
},
|
|
22
84
|
"additionalProperties": false
|
|
@@ -143,7 +205,8 @@
|
|
|
143
205
|
"additionalProperties": false
|
|
144
206
|
}
|
|
145
207
|
}
|
|
146
|
-
}
|
|
208
|
+
},
|
|
209
|
+
"description": "Per family, more items each account shares with the main account: `{ path, mode }` with a relative path."
|
|
147
210
|
},
|
|
148
211
|
"accountTitle": {
|
|
149
212
|
"type": "boolean",
|
|
@@ -209,13 +272,15 @@
|
|
|
209
272
|
"type": "string",
|
|
210
273
|
"const": "order"
|
|
211
274
|
}
|
|
212
|
-
]
|
|
275
|
+
],
|
|
276
|
+
"description": "`pressure` picks the account with the most Quota left; `order` follows `order`."
|
|
213
277
|
},
|
|
214
278
|
"order": {
|
|
215
279
|
"type": "array",
|
|
216
280
|
"items": {
|
|
217
281
|
"type": "string"
|
|
218
|
-
}
|
|
282
|
+
},
|
|
283
|
+
"description": "Accounts (ref or short command) to try, in order."
|
|
219
284
|
}
|
|
220
285
|
},
|
|
221
286
|
"additionalProperties": false
|
|
@@ -317,11 +382,13 @@
|
|
|
317
382
|
"properties": {
|
|
318
383
|
"zsh": {
|
|
319
384
|
"type": "string",
|
|
320
|
-
"minLength": 1
|
|
385
|
+
"minLength": 1,
|
|
386
|
+
"description": "The file for zsh."
|
|
321
387
|
},
|
|
322
388
|
"bash": {
|
|
323
389
|
"type": "string",
|
|
324
|
-
"minLength": 1
|
|
390
|
+
"minLength": 1,
|
|
391
|
+
"description": "The file for bash."
|
|
325
392
|
}
|
|
326
393
|
},
|
|
327
394
|
"additionalProperties": false,
|
package/schemas/key.json
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "sideby/key.json",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": [
|
|
6
|
+
"schemaVersion",
|
|
7
|
+
"account",
|
|
8
|
+
"var",
|
|
9
|
+
"written",
|
|
10
|
+
"path"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"schemaVersion": {
|
|
14
|
+
"type": "number",
|
|
15
|
+
"const": 1
|
|
16
|
+
},
|
|
17
|
+
"account": {
|
|
18
|
+
"type": "string"
|
|
19
|
+
},
|
|
20
|
+
"var": {
|
|
21
|
+
"type": "string"
|
|
22
|
+
},
|
|
23
|
+
"written": {
|
|
24
|
+
"type": "boolean",
|
|
25
|
+
"const": true
|
|
26
|
+
},
|
|
27
|
+
"path": {
|
|
28
|
+
"type": "string"
|
|
29
|
+
},
|
|
30
|
+
"_notice": {
|
|
31
|
+
"type": "object",
|
|
32
|
+
"properties": {
|
|
33
|
+
"update": {
|
|
34
|
+
"type": "object",
|
|
35
|
+
"required": [
|
|
36
|
+
"current",
|
|
37
|
+
"latest",
|
|
38
|
+
"command",
|
|
39
|
+
"message"
|
|
40
|
+
],
|
|
41
|
+
"properties": {
|
|
42
|
+
"current": {
|
|
43
|
+
"type": "string"
|
|
44
|
+
},
|
|
45
|
+
"latest": {
|
|
46
|
+
"type": "string"
|
|
47
|
+
},
|
|
48
|
+
"command": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"description": "Run it after the user agrees: it shows the plan and exits 10; then --yes."
|
|
51
|
+
},
|
|
52
|
+
"message": {
|
|
53
|
+
"type": "string"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"skill": {
|
|
58
|
+
"type": "object",
|
|
59
|
+
"required": [
|
|
60
|
+
"installed",
|
|
61
|
+
"current",
|
|
62
|
+
"command",
|
|
63
|
+
"message"
|
|
64
|
+
],
|
|
65
|
+
"properties": {
|
|
66
|
+
"installed": {
|
|
67
|
+
"anyOf": [
|
|
68
|
+
{
|
|
69
|
+
"type": "string"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"type": "null"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"description": "The skill's version; null when it has none."
|
|
76
|
+
},
|
|
77
|
+
"current": {
|
|
78
|
+
"type": "string"
|
|
79
|
+
},
|
|
80
|
+
"command": {
|
|
81
|
+
"type": "string",
|
|
82
|
+
"description": "`sideby update`, which updates the skill with sideby: run it after the user agrees; it shows the plan and exits 10, then --yes."
|
|
83
|
+
},
|
|
84
|
+
"message": {
|
|
85
|
+
"type": "string"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"description": "Not the answer to the task: mention it briefly afterwards and offer to update."
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
package/schemas/local.json
CHANGED
|
@@ -98,6 +98,10 @@
|
|
|
98
98
|
"restartedPanel": {
|
|
99
99
|
"type": "boolean"
|
|
100
100
|
},
|
|
101
|
+
"skillSynced": {
|
|
102
|
+
"type": "boolean",
|
|
103
|
+
"description": "Back on npm, `sideby update --yes` brought the sideby skill to that version (true) or failed (false)."
|
|
104
|
+
},
|
|
101
105
|
"_notice": {
|
|
102
106
|
"type": "object",
|
|
103
107
|
"properties": {
|