norn-cli 1.13.0 → 2.0.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/CHANGELOG.md +42 -0
- package/README.md +14 -12
- package/demos/tests-showcase/norn.config.json +16 -0
- package/dist/cli.js +1954 -1956
- package/package.json +7 -4
- package/schemas/norn.config.schema.json +316 -0
- package/demos/tests-showcase/norn.adapters.json +0 -8
- package/demos/tests-showcase/norn.sql.json +0 -9
- package/schemas/norn.mcp.schema.json +0 -125
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "norn-cli",
|
|
3
3
|
"displayName": "Norn - REST Client",
|
|
4
4
|
"description": "A powerful REST client for making HTTP requests with sequences, variables, scripts, and cookie support",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "2.0.0",
|
|
6
6
|
"publisher": "Norn-PeterKrustanov",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "Peter Krastanov"
|
|
@@ -43,10 +43,13 @@
|
|
|
43
43
|
"onLanguage:nornsql",
|
|
44
44
|
"onLanguage:nornapi",
|
|
45
45
|
"onLanguage:nornenv",
|
|
46
|
+
"workspaceContains:**/norn.config.json",
|
|
46
47
|
"onChatParticipant:norn.chat",
|
|
47
48
|
"onView:norn.sidebarHome",
|
|
48
49
|
"onCommand:norn.importPostmanCollection",
|
|
49
50
|
"onCommand:norn.importPostmanEnvironment",
|
|
51
|
+
"onCommand:norn.createSqlStarterFiles",
|
|
52
|
+
"onCommand:norn.createMcpStarterConfig",
|
|
50
53
|
"onCommand:norn.debugSequence",
|
|
51
54
|
"onDebugResolve:norn"
|
|
52
55
|
],
|
|
@@ -265,10 +268,10 @@
|
|
|
265
268
|
"jsonValidation": [
|
|
266
269
|
{
|
|
267
270
|
"fileMatch": [
|
|
268
|
-
"norn.
|
|
269
|
-
"/norn.
|
|
271
|
+
"norn.config.json",
|
|
272
|
+
"/norn.config.json"
|
|
270
273
|
],
|
|
271
|
-
"url": "./schemas/norn.
|
|
274
|
+
"url": "./schemas/norn.config.schema.json"
|
|
272
275
|
}
|
|
273
276
|
],
|
|
274
277
|
"breakpoints": [
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "norn.config.schema.json",
|
|
4
|
+
"title": "Norn Config",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"version"
|
|
9
|
+
],
|
|
10
|
+
"defaultSnippets": [
|
|
11
|
+
{
|
|
12
|
+
"label": "Norn config with SQL",
|
|
13
|
+
"description": "Create a Norn config with an editable SQL connection and custom adapter example.",
|
|
14
|
+
"body": {
|
|
15
|
+
"version": 1,
|
|
16
|
+
"sql": {
|
|
17
|
+
"connections": {
|
|
18
|
+
"${1:appDb}": {
|
|
19
|
+
"adapter": "${2:postgres}",
|
|
20
|
+
"profile": "${3:appDb}"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"adapters": {
|
|
24
|
+
"${4:custom-adapter}": {
|
|
25
|
+
"command": [
|
|
26
|
+
"${5:node}",
|
|
27
|
+
"${6:./tools/adapters/my-adapter.js}"
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"label": "Norn config with MCP",
|
|
36
|
+
"description": "Create a Norn config with editable local and remote MCP server examples.",
|
|
37
|
+
"body": {
|
|
38
|
+
"version": 1,
|
|
39
|
+
"mcp": {
|
|
40
|
+
"servers": {
|
|
41
|
+
"${1:localTools}": {
|
|
42
|
+
"transport": "stdio",
|
|
43
|
+
"command": [
|
|
44
|
+
"${2:node}",
|
|
45
|
+
"${3:./tools/mcp-server.js}"
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
"${4:remoteTools}": {
|
|
49
|
+
"transport": "http",
|
|
50
|
+
"url": "${5:https://mcp.example.com/mcp}",
|
|
51
|
+
"headers": {
|
|
52
|
+
"Authorization": "Bearer {{$env.${6:mcpToken}}}"
|
|
53
|
+
},
|
|
54
|
+
"timeoutMs": 5000
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"properties": {
|
|
62
|
+
"_comment": {
|
|
63
|
+
"$ref": "#/definitions/comment",
|
|
64
|
+
"description": "Optional human-readable guidance ignored by Norn at runtime."
|
|
65
|
+
},
|
|
66
|
+
"version": {
|
|
67
|
+
"type": "integer",
|
|
68
|
+
"const": 1,
|
|
69
|
+
"description": "Config schema version."
|
|
70
|
+
},
|
|
71
|
+
"sql": {
|
|
72
|
+
"allOf": [
|
|
73
|
+
{
|
|
74
|
+
"$ref": "#/definitions/sqlSection"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"defaultSnippets": [
|
|
78
|
+
{
|
|
79
|
+
"label": "SQL section definition",
|
|
80
|
+
"description": "Insert editable SQL connections and custom adapter config.",
|
|
81
|
+
"body": {
|
|
82
|
+
"connections": {
|
|
83
|
+
"${1:appDb}": {
|
|
84
|
+
"adapter": "${2:postgres}",
|
|
85
|
+
"profile": "${3:appDb}"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"adapters": {
|
|
89
|
+
"${4:custom-adapter}": {
|
|
90
|
+
"command": [
|
|
91
|
+
"${5:node}",
|
|
92
|
+
"${6:./tools/adapters/my-adapter.js}"
|
|
93
|
+
]
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
},
|
|
100
|
+
"mcp": {
|
|
101
|
+
"allOf": [
|
|
102
|
+
{
|
|
103
|
+
"$ref": "#/definitions/mcpSection"
|
|
104
|
+
}
|
|
105
|
+
],
|
|
106
|
+
"defaultSnippets": [
|
|
107
|
+
{
|
|
108
|
+
"label": "MCP section definition",
|
|
109
|
+
"description": "Insert editable local stdio and remote HTTP MCP server config.",
|
|
110
|
+
"body": {
|
|
111
|
+
"servers": {
|
|
112
|
+
"${1:localTools}": {
|
|
113
|
+
"transport": "stdio",
|
|
114
|
+
"command": [
|
|
115
|
+
"${2:node}",
|
|
116
|
+
"${3:./tools/mcp-server.js}"
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
"${4:remoteTools}": {
|
|
120
|
+
"transport": "http",
|
|
121
|
+
"url": "${5:https://mcp.example.com/mcp}",
|
|
122
|
+
"headers": {
|
|
123
|
+
"Authorization": "Bearer {{$env.${6:mcpToken}}}"
|
|
124
|
+
},
|
|
125
|
+
"timeoutMs": 5000
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
]
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"definitions": {
|
|
134
|
+
"comment": {
|
|
135
|
+
"oneOf": [
|
|
136
|
+
{
|
|
137
|
+
"type": "string"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"type": "array",
|
|
141
|
+
"items": {
|
|
142
|
+
"type": "string"
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
},
|
|
147
|
+
"sqlSection": {
|
|
148
|
+
"type": "object",
|
|
149
|
+
"additionalProperties": false,
|
|
150
|
+
"description": "SQL connections and optional custom adapter commands available to .nornsql files.",
|
|
151
|
+
"anyOf": [
|
|
152
|
+
{
|
|
153
|
+
"required": [
|
|
154
|
+
"connections"
|
|
155
|
+
]
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"required": [
|
|
159
|
+
"adapters"
|
|
160
|
+
]
|
|
161
|
+
}
|
|
162
|
+
],
|
|
163
|
+
"properties": {
|
|
164
|
+
"_comment": {
|
|
165
|
+
"$ref": "#/definitions/comment",
|
|
166
|
+
"description": "Optional human-readable guidance ignored by Norn at runtime."
|
|
167
|
+
},
|
|
168
|
+
"connections": {
|
|
169
|
+
"type": "object",
|
|
170
|
+
"description": "Named SQL connection aliases referenced from .nornsql files.",
|
|
171
|
+
"minProperties": 1,
|
|
172
|
+
"additionalProperties": {
|
|
173
|
+
"type": "object",
|
|
174
|
+
"additionalProperties": false,
|
|
175
|
+
"required": [
|
|
176
|
+
"adapter",
|
|
177
|
+
"profile"
|
|
178
|
+
],
|
|
179
|
+
"properties": {
|
|
180
|
+
"adapter": {
|
|
181
|
+
"type": "string",
|
|
182
|
+
"description": "Built-in adapter ID or a custom adapter key from sql.adapters.",
|
|
183
|
+
"examples": [
|
|
184
|
+
"postgres",
|
|
185
|
+
"sqlserver",
|
|
186
|
+
"sqlserver-windows"
|
|
187
|
+
]
|
|
188
|
+
},
|
|
189
|
+
"profile": {
|
|
190
|
+
"type": "string",
|
|
191
|
+
"description": "Connection profile prefix resolved from .nornenv connectionString entries."
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"adapters": {
|
|
197
|
+
"type": "object",
|
|
198
|
+
"description": "Custom SQL adapter commands. Built-in adapters do not need entries here.",
|
|
199
|
+
"minProperties": 1,
|
|
200
|
+
"additionalProperties": {
|
|
201
|
+
"type": "object",
|
|
202
|
+
"additionalProperties": false,
|
|
203
|
+
"required": [
|
|
204
|
+
"command"
|
|
205
|
+
],
|
|
206
|
+
"properties": {
|
|
207
|
+
"command": {
|
|
208
|
+
"type": "array",
|
|
209
|
+
"description": "Command and arguments used to start the custom SQL adapter. Relative paths resolve from norn.config.json.",
|
|
210
|
+
"minItems": 1,
|
|
211
|
+
"items": {
|
|
212
|
+
"type": "string",
|
|
213
|
+
"minLength": 1
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
"mcpSection": {
|
|
222
|
+
"type": "object",
|
|
223
|
+
"additionalProperties": false,
|
|
224
|
+
"description": "MCP server aliases available to run mcp list/call.",
|
|
225
|
+
"required": [
|
|
226
|
+
"servers"
|
|
227
|
+
],
|
|
228
|
+
"properties": {
|
|
229
|
+
"_comment": {
|
|
230
|
+
"$ref": "#/definitions/comment",
|
|
231
|
+
"description": "Optional human-readable guidance ignored by Norn at runtime."
|
|
232
|
+
},
|
|
233
|
+
"servers": {
|
|
234
|
+
"type": "object",
|
|
235
|
+
"description": "Named MCP server aliases available to run mcp list/call.",
|
|
236
|
+
"minProperties": 1,
|
|
237
|
+
"additionalProperties": {
|
|
238
|
+
"oneOf": [
|
|
239
|
+
{
|
|
240
|
+
"$ref": "#/definitions/mcpStdioServer"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"$ref": "#/definitions/mcpHttpServer"
|
|
244
|
+
}
|
|
245
|
+
]
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
"mcpStdioServer": {
|
|
251
|
+
"type": "object",
|
|
252
|
+
"additionalProperties": false,
|
|
253
|
+
"required": [
|
|
254
|
+
"transport",
|
|
255
|
+
"command"
|
|
256
|
+
],
|
|
257
|
+
"properties": {
|
|
258
|
+
"_comment": {
|
|
259
|
+
"$ref": "#/definitions/comment",
|
|
260
|
+
"description": "Optional human-readable guidance ignored by Norn at runtime."
|
|
261
|
+
},
|
|
262
|
+
"transport": {
|
|
263
|
+
"type": "string",
|
|
264
|
+
"const": "stdio"
|
|
265
|
+
},
|
|
266
|
+
"command": {
|
|
267
|
+
"type": "array",
|
|
268
|
+
"minItems": 1,
|
|
269
|
+
"items": {
|
|
270
|
+
"type": "string",
|
|
271
|
+
"minLength": 1
|
|
272
|
+
},
|
|
273
|
+
"description": "Command and arguments used to start the MCP server. Relative paths resolve from norn.config.json."
|
|
274
|
+
},
|
|
275
|
+
"cwd": {
|
|
276
|
+
"type": "string",
|
|
277
|
+
"description": "Optional working directory for the stdio command. Relative paths resolve from norn.config.json."
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
"mcpHttpServer": {
|
|
282
|
+
"type": "object",
|
|
283
|
+
"additionalProperties": false,
|
|
284
|
+
"required": [
|
|
285
|
+
"transport",
|
|
286
|
+
"url"
|
|
287
|
+
],
|
|
288
|
+
"properties": {
|
|
289
|
+
"_comment": {
|
|
290
|
+
"$ref": "#/definitions/comment",
|
|
291
|
+
"description": "Optional human-readable guidance ignored by Norn at runtime."
|
|
292
|
+
},
|
|
293
|
+
"transport": {
|
|
294
|
+
"type": "string",
|
|
295
|
+
"const": "http"
|
|
296
|
+
},
|
|
297
|
+
"url": {
|
|
298
|
+
"type": "string",
|
|
299
|
+
"description": "Streamable HTTP MCP endpoint URL."
|
|
300
|
+
},
|
|
301
|
+
"headers": {
|
|
302
|
+
"type": "object",
|
|
303
|
+
"description": "Optional static HTTP headers to send with each MCP request.",
|
|
304
|
+
"additionalProperties": {
|
|
305
|
+
"type": "string"
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
"timeoutMs": {
|
|
309
|
+
"type": "number",
|
|
310
|
+
"exclusiveMinimum": 0,
|
|
311
|
+
"description": "Optional per-request timeout for initialize, list, and call operations."
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "norn.mcp.schema.json",
|
|
4
|
-
"title": "Norn MCP Config",
|
|
5
|
-
"type": "object",
|
|
6
|
-
"additionalProperties": false,
|
|
7
|
-
"required": [
|
|
8
|
-
"version",
|
|
9
|
-
"servers"
|
|
10
|
-
],
|
|
11
|
-
"properties": {
|
|
12
|
-
"_comment": {
|
|
13
|
-
"oneOf": [
|
|
14
|
-
{
|
|
15
|
-
"type": "string"
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"type": "array",
|
|
19
|
-
"items": {
|
|
20
|
-
"type": "string"
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
],
|
|
24
|
-
"description": "Optional human-readable guidance ignored by Norn at runtime."
|
|
25
|
-
},
|
|
26
|
-
"version": {
|
|
27
|
-
"type": "integer",
|
|
28
|
-
"const": 1,
|
|
29
|
-
"description": "Config schema version."
|
|
30
|
-
},
|
|
31
|
-
"servers": {
|
|
32
|
-
"type": "object",
|
|
33
|
-
"description": "Named MCP server aliases available to run mcp list/call.",
|
|
34
|
-
"minProperties": 1,
|
|
35
|
-
"additionalProperties": {
|
|
36
|
-
"oneOf": [
|
|
37
|
-
{
|
|
38
|
-
"type": "object",
|
|
39
|
-
"additionalProperties": false,
|
|
40
|
-
"required": [
|
|
41
|
-
"transport",
|
|
42
|
-
"command"
|
|
43
|
-
],
|
|
44
|
-
"properties": {
|
|
45
|
-
"_comment": {
|
|
46
|
-
"oneOf": [
|
|
47
|
-
{
|
|
48
|
-
"type": "string"
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"type": "array",
|
|
52
|
-
"items": {
|
|
53
|
-
"type": "string"
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
],
|
|
57
|
-
"description": "Optional human-readable guidance ignored by Norn at runtime."
|
|
58
|
-
},
|
|
59
|
-
"transport": {
|
|
60
|
-
"type": "string",
|
|
61
|
-
"const": "stdio"
|
|
62
|
-
},
|
|
63
|
-
"command": {
|
|
64
|
-
"type": "array",
|
|
65
|
-
"minItems": 1,
|
|
66
|
-
"items": {
|
|
67
|
-
"type": "string"
|
|
68
|
-
},
|
|
69
|
-
"description": "Command and arguments used to start the MCP server. Relative paths resolve from this config file."
|
|
70
|
-
},
|
|
71
|
-
"cwd": {
|
|
72
|
-
"type": "string",
|
|
73
|
-
"description": "Optional working directory for the stdio command. Relative paths resolve from this config file."
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
"type": "object",
|
|
79
|
-
"additionalProperties": false,
|
|
80
|
-
"required": [
|
|
81
|
-
"transport",
|
|
82
|
-
"url"
|
|
83
|
-
],
|
|
84
|
-
"properties": {
|
|
85
|
-
"_comment": {
|
|
86
|
-
"oneOf": [
|
|
87
|
-
{
|
|
88
|
-
"type": "string"
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
"type": "array",
|
|
92
|
-
"items": {
|
|
93
|
-
"type": "string"
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
],
|
|
97
|
-
"description": "Optional human-readable guidance ignored by Norn at runtime."
|
|
98
|
-
},
|
|
99
|
-
"transport": {
|
|
100
|
-
"type": "string",
|
|
101
|
-
"const": "http"
|
|
102
|
-
},
|
|
103
|
-
"url": {
|
|
104
|
-
"type": "string",
|
|
105
|
-
"description": "Streamable HTTP MCP endpoint URL."
|
|
106
|
-
},
|
|
107
|
-
"headers": {
|
|
108
|
-
"type": "object",
|
|
109
|
-
"description": "Optional static HTTP headers to send with each MCP request.",
|
|
110
|
-
"additionalProperties": {
|
|
111
|
-
"type": "string"
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
"timeoutMs": {
|
|
115
|
-
"type": "number",
|
|
116
|
-
"exclusiveMinimum": 0,
|
|
117
|
-
"description": "Optional per-request timeout for initialize, list, and call operations."
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
]
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|