@zuplo/cli 7.12.3 → 7.12.4
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/node_modules/@inquirer/checkbox/dist/index.js +4 -0
- package/node_modules/@inquirer/checkbox/package.json +3 -3
- package/node_modules/@inquirer/confirm/package.json +3 -3
- package/node_modules/@inquirer/core/dist/lib/create-prompt.js +3 -1
- package/node_modules/@inquirer/core/package.json +2 -2
- package/node_modules/@inquirer/editor/package.json +3 -3
- package/node_modules/@inquirer/expand/package.json +3 -3
- package/node_modules/@inquirer/input/package.json +3 -3
- package/node_modules/@inquirer/number/dist/index.js +1 -1
- package/node_modules/@inquirer/number/package.json +3 -3
- package/node_modules/@inquirer/password/package.json +3 -3
- package/node_modules/@inquirer/rawlist/package.json +3 -3
- package/node_modules/@inquirer/search/package.json +3 -3
- package/node_modules/@inquirer/select/package.json +3 -3
- package/node_modules/@zuplo/core/customer.cli.minified.js +269 -269
- package/node_modules/@zuplo/core/index.minified.js +262 -262
- package/node_modules/@zuplo/core/package.json +1 -1
- package/node_modules/@zuplo/graphql/package.json +1 -1
- package/node_modules/@zuplo/openapi-tools/package.json +1 -1
- package/node_modules/@zuplo/otel/package.json +1 -1
- package/node_modules/@zuplo/runtime/out/esm/{chunk-3UPXKWR6.js → chunk-RH345HSZ.js} +3 -3
- package/node_modules/@zuplo/runtime/out/esm/chunk-RH345HSZ.js.map +1 -0
- package/node_modules/@zuplo/runtime/out/esm/chunk-WIQFTAJL.js +26 -0
- package/node_modules/@zuplo/runtime/out/esm/chunk-WIQFTAJL.js.map +1 -0
- package/node_modules/@zuplo/runtime/out/esm/{chunk-JBEZQ336.js → chunk-WTWRZT3M.js} +112 -111
- package/node_modules/@zuplo/runtime/out/esm/chunk-WTWRZT3M.js.map +1 -0
- package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/index.js.map +1 -1
- package/node_modules/@zuplo/runtime/out/esm/internal/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mocks/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/sdks/aws/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/types/index.d.ts +140 -16
- package/node_modules/@zuplo/runtime/out/types/internal/index.d.ts +93 -16
- package/node_modules/@zuplo/runtime/package.json +1 -1
- package/node_modules/fast-uri/.github/workflows/release.yml +35 -0
- package/node_modules/fast-uri/README.md +8 -0
- package/node_modules/fast-uri/index.js +98 -18
- package/node_modules/fast-uri/lib/utils.js +52 -0
- package/node_modules/fast-uri/package.json +1 -1
- package/node_modules/fast-uri/test/host-delimiter-security.test.js +94 -0
- package/node_modules/fast-uri/test/relative-normalization-security.test.js +156 -0
- package/node_modules/fast-uri/test/reserved-path-normalization.test.js +32 -4
- package/node_modules/fast-uri/test/scheme-validation.test.js +53 -14
- package/package.json +11 -11
- package/node_modules/@zuplo/runtime/out/esm/chunk-3UPXKWR6.js.map +0 -1
- package/node_modules/@zuplo/runtime/out/esm/chunk-GQMNFQTN.js +0 -26
- package/node_modules/@zuplo/runtime/out/esm/chunk-GQMNFQTN.js.map +0 -1
- package/node_modules/@zuplo/runtime/out/esm/chunk-JBEZQ336.js.map +0 -1
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-3UPXKWR6.js.LEGAL.txt → chunk-RH345HSZ.js.LEGAL.txt} +0 -0
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-JBEZQ336.js.LEGAL.txt → chunk-WTWRZT3M.js.LEGAL.txt} +0 -0
|
@@ -15,7 +15,15 @@ const malformedSchemes = [
|
|
|
15
15
|
'foo_bar:value',
|
|
16
16
|
'éxample:value',
|
|
17
17
|
'Kttp://example.com/',
|
|
18
|
-
'ſcheme:value'
|
|
18
|
+
'ſcheme:value',
|
|
19
|
+
// RFC 3986 section 3.1 does not allow percent-encoding in a scheme.
|
|
20
|
+
'%4Aavascript:alert(1)',
|
|
21
|
+
'%6aavascript:alert(1)',
|
|
22
|
+
'foo%2Bbar:value',
|
|
23
|
+
'%u006Aavascript:1',
|
|
24
|
+
'ht%74ps://example.com/',
|
|
25
|
+
'ma%69lto:user@example.org',
|
|
26
|
+
'%64ata:text/html,x'
|
|
19
27
|
]
|
|
20
28
|
|
|
21
29
|
test('parse validates the decoded scheme against RFC 3986', (t) => {
|
|
@@ -23,10 +31,7 @@ test('parse validates the decoded scheme against RFC 3986', (t) => {
|
|
|
23
31
|
['a:value', 'a'],
|
|
24
32
|
['HTTP://example.com/', 'http'],
|
|
25
33
|
['a1+.-:value', 'a1+.-'],
|
|
26
|
-
['
|
|
27
|
-
['foo%2Bbar:value', 'foo+bar'],
|
|
28
|
-
['%u006Aavascript:1', 'javascript'],
|
|
29
|
-
['ht%74ps://example.com/', 'https']
|
|
34
|
+
['foo+bar:value', 'foo+bar']
|
|
30
35
|
]
|
|
31
36
|
|
|
32
37
|
for (const [uri, scheme] of validSchemes) {
|
|
@@ -42,17 +47,41 @@ test('parse validates the decoded scheme against RFC 3986', (t) => {
|
|
|
42
47
|
t.end()
|
|
43
48
|
})
|
|
44
49
|
|
|
45
|
-
test('
|
|
50
|
+
test('percent-encoded schemes do not select scheme handlers', (t) => {
|
|
46
51
|
t.equal(
|
|
47
52
|
fastURI.normalize('ht%74ps://example.com:443'),
|
|
48
|
-
'
|
|
49
|
-
'HTTP normalization
|
|
53
|
+
'ht%74ps://example.com:443',
|
|
54
|
+
'HTTP normalization does not run for an encoded scheme'
|
|
50
55
|
)
|
|
51
56
|
|
|
52
57
|
// 3.x has no mailto scheme handler (added in v4); use the ws handler to
|
|
53
|
-
// verify that a percent-encoded scheme
|
|
54
|
-
const ws = fastURI.parse('
|
|
55
|
-
t.equal(ws.
|
|
58
|
+
// verify that a percent-encoded scheme does not select its scheme handler
|
|
59
|
+
const ws = fastURI.parse('w%73://example.com/a?b')
|
|
60
|
+
t.equal(ws.resourceName, undefined, 'ws parsing does not run for an encoded scheme')
|
|
61
|
+
t.equal(ws.error, MALFORMED_SCHEME_ERROR)
|
|
62
|
+
t.end()
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
test('normalization cannot synthesize a scheme from encoded input', (t) => {
|
|
66
|
+
const inputs = [
|
|
67
|
+
'%6Aavascript:alert(1)',
|
|
68
|
+
'%4A%41%56%41%53%43%52%49%50%54:alert(1)',
|
|
69
|
+
'%u006Aavascript:alert(1)',
|
|
70
|
+
'j%61vascript:alert(1)',
|
|
71
|
+
'%64ata:text/html,<script>alert(1)</script>',
|
|
72
|
+
'vb%73cript:msgbox(1)'
|
|
73
|
+
]
|
|
74
|
+
|
|
75
|
+
for (const uri of inputs) {
|
|
76
|
+
const parsed = fastURI.parse(uri)
|
|
77
|
+
t.equal(parsed.error, MALFORMED_SCHEME_ERROR, uri + ' is malformed')
|
|
78
|
+
t.notOk(/^(?:javascript|data|vbscript):/i.test(String(parsed.scheme) + ':'), uri + ' parsed scheme is not decoded')
|
|
79
|
+
t.equal(fastURI.normalize(uri), uri, uri + ' normalizes to itself')
|
|
80
|
+
t.equal(fastURI.equal(uri, uri), false, uri + ' is not comparable')
|
|
81
|
+
t.throws(() => fastURI.resolve('https://example.com/app/', uri), /URI scheme is malformed\./, uri + ' is rejected by resolve')
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
t.equal(fastURI.equal('%68ttp://a/', 'http://a/'), false, 'encoded scheme does not alias a plain scheme')
|
|
56
85
|
t.end()
|
|
57
86
|
})
|
|
58
87
|
|
|
@@ -95,11 +124,21 @@ test('resolve rejects malformed decoded schemes in either input', (t) => {
|
|
|
95
124
|
t.end()
|
|
96
125
|
})
|
|
97
126
|
|
|
98
|
-
test('serialize validates
|
|
127
|
+
test('serialize validates component schemes without decoding them', (t) => {
|
|
99
128
|
t.equal(
|
|
100
|
-
fastURI.serialize({ scheme: 'foo
|
|
129
|
+
fastURI.serialize({ scheme: 'foo+bar', path: 'value' }),
|
|
101
130
|
'foo+bar:value',
|
|
102
|
-
'valid
|
|
131
|
+
'valid scheme is serialized'
|
|
132
|
+
)
|
|
133
|
+
t.throws(
|
|
134
|
+
() => fastURI.serialize({ scheme: 'foo%2Bbar', path: 'value' }),
|
|
135
|
+
/URI scheme is malformed\./,
|
|
136
|
+
'percent-encoded scheme is rejected'
|
|
137
|
+
)
|
|
138
|
+
t.throws(
|
|
139
|
+
() => fastURI.serialize({ scheme: '%6Aavascript', path: 'alert(1)' }),
|
|
140
|
+
/URI scheme is malformed\./,
|
|
141
|
+
'encoded scheme cannot serialize as javascript:'
|
|
103
142
|
)
|
|
104
143
|
t.throws(
|
|
105
144
|
() => fastURI.serialize({ scheme: '//evil.example', path: '/pwn' }),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zuplo/cli",
|
|
3
|
-
"version": "7.12.
|
|
3
|
+
"version": "7.12.4",
|
|
4
4
|
"repository": "https://github.com/zuplo/zuplo",
|
|
5
5
|
"author": "Zuplo, Inc.",
|
|
6
6
|
"type": "module",
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"@opentelemetry/api": "1.9.0",
|
|
32
32
|
"@opentelemetry/api-logs": "0.220.0",
|
|
33
33
|
"@swc/core": "1.10.18",
|
|
34
|
-
"@zuplo/core": "7.12.
|
|
34
|
+
"@zuplo/core": "7.12.4",
|
|
35
35
|
"@zuplo/editor": "1.0.33162667821",
|
|
36
|
-
"@zuplo/openapi-tools": "7.12.
|
|
37
|
-
"@zuplo/runtime": "7.12.
|
|
36
|
+
"@zuplo/openapi-tools": "7.12.4",
|
|
37
|
+
"@zuplo/runtime": "7.12.4",
|
|
38
38
|
"chalk": "5.4.1",
|
|
39
39
|
"chokidar": "3.5.3",
|
|
40
40
|
"cookie": "1.0.2",
|
|
@@ -65,15 +65,15 @@
|
|
|
65
65
|
"workerd": "1.20261002.1",
|
|
66
66
|
"yargs": "17.7.2",
|
|
67
67
|
"zod": "4.4.3",
|
|
68
|
-
"@zuplo/graphql": "7.12.
|
|
69
|
-
"@zuplo/otel": "7.12.
|
|
68
|
+
"@zuplo/graphql": "7.12.4",
|
|
69
|
+
"@zuplo/otel": "7.12.4"
|
|
70
70
|
},
|
|
71
71
|
"optionalDependencies": {
|
|
72
|
-
"@zuplo/lint-darwin-arm64": "7.12.
|
|
73
|
-
"@zuplo/lint-darwin-x64": "7.12.
|
|
74
|
-
"@zuplo/lint-linux-x64": "7.12.
|
|
75
|
-
"@zuplo/lint-linux-arm64": "7.12.
|
|
76
|
-
"@zuplo/lint-win32-x64": "7.12.
|
|
72
|
+
"@zuplo/lint-darwin-arm64": "7.12.4",
|
|
73
|
+
"@zuplo/lint-darwin-x64": "7.12.4",
|
|
74
|
+
"@zuplo/lint-linux-x64": "7.12.4",
|
|
75
|
+
"@zuplo/lint-linux-arm64": "7.12.4",
|
|
76
|
+
"@zuplo/lint-win32-x64": "7.12.4"
|
|
77
77
|
},
|
|
78
78
|
"bundleDependencies": [
|
|
79
79
|
"@inquirer/prompts",
|