callman-core 1.9.1 → 1.11.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/ai-packs/feature-policy.md +26 -0
- package/ai-packs/pm-api.md +213 -0
- package/ai-packs/sandbox-globals.md +20 -0
- package/ai-packs/templating.md +104 -0
- package/dist/host/connections.d.ts +67 -0
- package/dist/host/connections.d.ts.map +1 -0
- package/dist/host/connections.js +156 -0
- package/dist/host/connections.js.map +1 -0
- package/dist/host/db/mongoAdapter.d.ts +7 -0
- package/dist/host/db/mongoAdapter.d.ts.map +1 -0
- package/dist/host/db/mongoAdapter.js +426 -0
- package/dist/host/db/mongoAdapter.js.map +1 -0
- package/dist/host/db/mysqlAdapter.d.ts +7 -0
- package/dist/host/db/mysqlAdapter.d.ts.map +1 -0
- package/dist/host/db/mysqlAdapter.js +68 -0
- package/dist/host/db/mysqlAdapter.js.map +1 -0
- package/dist/host/db/oracleAdapter.d.ts +7 -0
- package/dist/host/db/oracleAdapter.d.ts.map +1 -0
- package/dist/host/db/oracleAdapter.js +142 -0
- package/dist/host/db/oracleAdapter.js.map +1 -0
- package/dist/host/db/oracleConnectString.d.ts +10 -0
- package/dist/host/db/oracleConnectString.d.ts.map +1 -0
- package/dist/host/db/oracleConnectString.js +58 -0
- package/dist/host/db/oracleConnectString.js.map +1 -0
- package/dist/host/db/postgresAdapter.d.ts +7 -0
- package/dist/host/db/postgresAdapter.d.ts.map +1 -0
- package/dist/host/db/postgresAdapter.js +67 -0
- package/dist/host/db/postgresAdapter.js.map +1 -0
- package/dist/host/db/queryExecutor.d.ts +3 -0
- package/dist/host/db/queryExecutor.d.ts.map +1 -0
- package/dist/host/db/queryExecutor.js +97 -0
- package/dist/host/db/queryExecutor.js.map +1 -0
- package/dist/host/db/sqlNormalize.d.ts +3 -0
- package/dist/host/db/sqlNormalize.d.ts.map +1 -0
- package/dist/host/db/sqlNormalize.js +29 -0
- package/dist/host/db/sqlNormalize.js.map +1 -0
- package/dist/host/db/templateResolver.d.ts +3 -0
- package/dist/host/db/templateResolver.d.ts.map +1 -0
- package/dist/host/db/templateResolver.js +77 -0
- package/dist/host/db/templateResolver.js.map +1 -0
- package/dist/host/db/types.d.ts +59 -0
- package/dist/host/db/types.d.ts.map +1 -0
- package/dist/host/db/types.js +6 -0
- package/dist/host/db/types.js.map +1 -0
- package/dist/host/index.d.ts +6 -0
- package/dist/host/index.d.ts.map +1 -0
- package/dist/host/index.js +7 -0
- package/dist/host/index.js.map +1 -0
- package/dist/host/lazy.d.ts +3 -0
- package/dist/host/lazy.d.ts.map +1 -0
- package/dist/host/lazy.js +31 -0
- package/dist/host/lazy.js.map +1 -0
- package/dist/host/redis/redisService.d.ts +9 -0
- package/dist/host/redis/redisService.d.ts.map +1 -0
- package/dist/host/redis/redisService.js +264 -0
- package/dist/host/redis/redisService.js.map +1 -0
- package/dist/host/redis/types.d.ts +44 -0
- package/dist/host/redis/types.d.ts.map +1 -0
- package/dist/host/redis/types.js +4 -0
- package/dist/host/redis/types.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/runner/requestRunner.d.ts.map +1 -1
- package/dist/runner/requestRunner.js +120 -0
- package/dist/runner/requestRunner.js.map +1 -1
- package/dist/runner/runCollection.d.ts +1 -1
- package/dist/runner/runCollection.d.ts.map +1 -1
- package/dist/runner/runCollection.js +3 -1
- package/dist/runner/runCollection.js.map +1 -1
- package/dist/scenario-runner/adapters/script-executor.js +3 -3
- package/dist/scenario-runner/adapters/script-executor.js.map +1 -1
- package/dist/script/features/log.d.ts.map +1 -1
- package/dist/script/features/log.js +23 -4
- package/dist/script/features/log.js.map +1 -1
- package/dist/script/isolated-runner.d.ts +11 -0
- package/dist/script/isolated-runner.d.ts.map +1 -0
- package/dist/script/isolated-runner.js +172 -0
- package/dist/script/isolated-runner.js.map +1 -0
- package/dist/script/legacy.d.ts.map +1 -1
- package/dist/script/legacy.js +8 -0
- package/dist/script/legacy.js.map +1 -1
- package/dist/script/pm-api-metadata.d.ts +19 -0
- package/dist/script/pm-api-metadata.d.ts.map +1 -0
- package/dist/script/pm-api-metadata.js +264 -0
- package/dist/script/pm-api-metadata.js.map +1 -0
- package/dist/script/scope.d.ts +2 -0
- package/dist/script/scope.d.ts.map +1 -1
- package/dist/script/scope.js +4 -0
- package/dist/script/scope.js.map +1 -1
- package/dist/script/worker-entry.d.ts +2 -0
- package/dist/script/worker-entry.d.ts.map +1 -0
- package/dist/script/worker-entry.js +79 -0
- package/dist/script/worker-entry.js.map +1 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist-cjs/host/connections.js +164 -0
- package/dist-cjs/host/connections.js.map +1 -0
- package/dist-cjs/host/db/mongoAdapter.js +431 -0
- package/dist-cjs/host/db/mongoAdapter.js.map +1 -0
- package/dist-cjs/host/db/mysqlAdapter.js +73 -0
- package/dist-cjs/host/db/mysqlAdapter.js.map +1 -0
- package/dist-cjs/host/db/oracleAdapter.js +147 -0
- package/dist-cjs/host/db/oracleAdapter.js.map +1 -0
- package/dist-cjs/host/db/oracleConnectString.js +63 -0
- package/dist-cjs/host/db/oracleConnectString.js.map +1 -0
- package/dist-cjs/host/db/postgresAdapter.js +72 -0
- package/dist-cjs/host/db/postgresAdapter.js.map +1 -0
- package/dist-cjs/host/db/queryExecutor.js +101 -0
- package/dist-cjs/host/db/queryExecutor.js.map +1 -0
- package/dist-cjs/host/db/sqlNormalize.js +33 -0
- package/dist-cjs/host/db/sqlNormalize.js.map +1 -0
- package/dist-cjs/host/db/templateResolver.js +81 -0
- package/dist-cjs/host/db/templateResolver.js.map +1 -0
- package/dist-cjs/host/db/types.js +7 -0
- package/dist-cjs/host/db/types.js.map +1 -0
- package/dist-cjs/host/index.js +17 -0
- package/dist-cjs/host/index.js.map +1 -0
- package/dist-cjs/host/lazy.js +69 -0
- package/dist-cjs/host/lazy.js.map +1 -0
- package/dist-cjs/host/redis/redisService.js +268 -0
- package/dist-cjs/host/redis/redisService.js.map +1 -0
- package/dist-cjs/host/redis/types.js +5 -0
- package/dist-cjs/host/redis/types.js.map +1 -0
- package/dist-cjs/index.js +10 -1
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/runner/requestRunner.js +120 -0
- package/dist-cjs/runner/requestRunner.js.map +1 -1
- package/dist-cjs/runner/runCollection.js +3 -1
- package/dist-cjs/runner/runCollection.js.map +1 -1
- package/dist-cjs/scenario-runner/adapters/script-executor.js +3 -3
- package/dist-cjs/scenario-runner/adapters/script-executor.js.map +1 -1
- package/dist-cjs/script/features/log.js +23 -4
- package/dist-cjs/script/features/log.js.map +1 -1
- package/dist-cjs/script/isolated-runner.js +209 -0
- package/dist-cjs/script/isolated-runner.js.map +1 -0
- package/dist-cjs/script/legacy.js +8 -0
- package/dist-cjs/script/legacy.js.map +1 -1
- package/dist-cjs/script/pm-api-metadata.js +267 -0
- package/dist-cjs/script/pm-api-metadata.js.map +1 -0
- package/dist-cjs/script/scope.js +5 -1
- package/dist-cjs/script/scope.js.map +1 -1
- package/dist-cjs/script/worker-entry.js +81 -0
- package/dist-cjs/script/worker-entry.js.map +1 -0
- package/package.json +15 -3
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
// Canonical, machine-readable description of the `pm.*` scripting surface.
|
|
2
|
+
// Same philosophy as templating/generator-metadata.ts: ONE runtime data
|
|
3
|
+
// structure, colocated with the implementation, consumed by every surface
|
|
4
|
+
// that needs to know "what exists" — today the AI knowledge-pack generator
|
|
5
|
+
// (scripts/generate-ai-packs.mjs), tomorrow the desktop autocomplete.
|
|
6
|
+
//
|
|
7
|
+
// When a feature module gains/loses a method, update THIS file in the same
|
|
8
|
+
// commit. The CI drift check regenerates ai-packs/ and fails on a diff, so
|
|
9
|
+
// the metadata cannot silently fall behind the docs the AI sees.
|
|
10
|
+
export const PM_API_METADATA = [
|
|
11
|
+
{
|
|
12
|
+
name: "pm.test",
|
|
13
|
+
description: "Register a named test. The callback's assertion failures mark the test failed without aborting the script.",
|
|
14
|
+
members: [
|
|
15
|
+
{
|
|
16
|
+
signature: "pm.test(name, fn)",
|
|
17
|
+
description: "Runs fn (sync or async); pass/fail lands in the run's test results.",
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: "pm.expect",
|
|
23
|
+
description: "Chai-style assertions plus Jest-style matchers.",
|
|
24
|
+
members: [
|
|
25
|
+
{
|
|
26
|
+
signature: "pm.expect(value)",
|
|
27
|
+
description: "Assertion chain. Equality: .to.equal(x) (identity), .to.eql(x) / .to.deep.equal(x) / .toEqual(x) (deep). Existence: .to.exist, .toBeDefined(), .toBeNull(). Strings/arrays: .to.include(x) / .toContain(x), .oneOf([..]). Numbers: .toBeGreaterThan / .toBeLessThan / .to.be.above(n) / .to.be.below(n). Types: .to.be.a('string'|'number'|...). Negation: .to.not.<...> / .not.<matcher>. Properties: .to.have.property('name', value?).",
|
|
28
|
+
},
|
|
29
|
+
{ signature: "pm.expect.fail(message?)", description: "Fails the surrounding test immediately." },
|
|
30
|
+
],
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: "pm.environment",
|
|
34
|
+
description: "Active environment variables (alias: pm.env). Writes are scoped to the run and surface as variable mutations.",
|
|
35
|
+
members: [
|
|
36
|
+
{ signature: "pm.environment.get(key)", description: "Read a variable (string or undefined)." },
|
|
37
|
+
{ signature: "pm.environment.set(key, value)", description: "Write a variable for subsequent steps." },
|
|
38
|
+
{ signature: "pm.environment.unset(key)", description: "Remove a variable." },
|
|
39
|
+
{ signature: "pm.environment.has(key)", description: "true when the key exists." },
|
|
40
|
+
{ signature: "pm.environment.clear()", description: "Remove every variable in the scope." },
|
|
41
|
+
{ signature: "pm.environment.toObject()", description: "Plain { key: value } snapshot." },
|
|
42
|
+
{ signature: "pm.environment.replaceIn(template)", description: "Resolve {{tokens}} inside a string." },
|
|
43
|
+
{ signature: "pm.environment.name", description: "Active environment's name." },
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: "pm.globals",
|
|
48
|
+
description: "Workspace-level global variables. Same surface as pm.environment.",
|
|
49
|
+
members: [
|
|
50
|
+
{ signature: "pm.globals.get(key)", description: "Read a global." },
|
|
51
|
+
{ signature: "pm.globals.set(key, value)", description: "Write a global for the run." },
|
|
52
|
+
{ signature: "pm.globals.unset(key)", description: "Remove a global." },
|
|
53
|
+
{ signature: "pm.globals.has(key)", description: "true when the key exists." },
|
|
54
|
+
{ signature: "pm.globals.clear()", description: "Remove every global in the scope." },
|
|
55
|
+
{ signature: "pm.globals.toObject()", description: "Plain snapshot." },
|
|
56
|
+
{ signature: "pm.globals.replaceIn(template)", description: "Resolve {{tokens}} inside a string." },
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: "pm.collectionVariables",
|
|
61
|
+
description: "Collection-scoped variables that survive across requests within one collection run iteration.",
|
|
62
|
+
members: [
|
|
63
|
+
{ signature: "pm.collectionVariables.get(key)", description: "Read a collection variable." },
|
|
64
|
+
{ signature: "pm.collectionVariables.set(key, value)", description: "Write; persists across the iteration." },
|
|
65
|
+
{ signature: "pm.collectionVariables.unset(key)", description: "Remove a collection variable." },
|
|
66
|
+
{ signature: "pm.collectionVariables.has(key)", description: "true when the key exists." },
|
|
67
|
+
{ signature: "pm.collectionVariables.clear()", description: "Remove all collection variables." },
|
|
68
|
+
{ signature: "pm.collectionVariables.toObject()", description: "Plain snapshot." },
|
|
69
|
+
{ signature: "pm.collectionVariables.replaceIn(template)", description: "Resolve {{tokens}}." },
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: "pm.variables",
|
|
74
|
+
description: "Layered read across all scopes (per-iteration > environment > globals) plus template resolution.",
|
|
75
|
+
members: [
|
|
76
|
+
{ signature: "pm.variables.get(key)", description: "Read through the precedence chain." },
|
|
77
|
+
{ signature: "pm.variables.set(key, value)", description: "Write to the run-local layer." },
|
|
78
|
+
{ signature: "pm.variables.unset(key)", description: "Remove from the run-local layer." },
|
|
79
|
+
{ signature: "pm.variables.has(key)", description: "true when any layer has the key." },
|
|
80
|
+
{ signature: "pm.variables.toObject()", description: "Merged snapshot." },
|
|
81
|
+
{ signature: "pm.variables.replaceIn(template)", description: "Resolve {{tokens}} in a string." },
|
|
82
|
+
{
|
|
83
|
+
signature: "pm.variables.resolve(template)",
|
|
84
|
+
description: "Like replaceIn, but also resolves scenario node-output references.",
|
|
85
|
+
},
|
|
86
|
+
],
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
name: "pm.request",
|
|
90
|
+
description: "The outgoing request. Mutations only have effect in pre-request scripts (the call has not fired yet).",
|
|
91
|
+
members: [
|
|
92
|
+
{ signature: "pm.request.url", description: "Resolved URL string." },
|
|
93
|
+
{ signature: "pm.request.method", description: "HTTP method." },
|
|
94
|
+
{ signature: "pm.request.body", description: "Body snapshot (mode + content)." },
|
|
95
|
+
{ signature: "pm.request.headers", description: "HeaderList: .all() .get(name) .has(name) .add({key,value}) .upsert({key,value}) .remove(name) .idx(i)." },
|
|
96
|
+
{ signature: "pm.request.query", description: "Query params as a HeaderList." },
|
|
97
|
+
{ signature: "pm.request.getHeader(name)", description: "Read one header value." },
|
|
98
|
+
{ signature: "pm.request.setHeader(name, value)", description: "Set/replace a header.", stages: ["pre-request", "scenario-script"] },
|
|
99
|
+
{ signature: "pm.request.unsetHeader(name)", description: "Remove a header.", stages: ["pre-request", "scenario-script"] },
|
|
100
|
+
{ signature: "pm.request.getQueryParam(name)", description: "Read one query param." },
|
|
101
|
+
{ signature: "pm.request.setQueryParam(name, value)", description: "Set/replace a query param.", stages: ["pre-request", "scenario-script"] },
|
|
102
|
+
{ signature: "pm.request.unsetQueryParam(name)", description: "Remove a query param.", stages: ["pre-request", "scenario-script"] },
|
|
103
|
+
{ signature: "pm.request.setUrl(url)", description: "Replace the URL.", stages: ["pre-request", "scenario-script"] },
|
|
104
|
+
{ signature: "pm.request.setMethod(method)", description: "Replace the method.", stages: ["pre-request", "scenario-script"] },
|
|
105
|
+
{ signature: "pm.request.setRawBody(value)", description: "Replace the raw body (string or object → JSON).", stages: ["pre-request", "scenario-script"] },
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
name: "pm.response",
|
|
110
|
+
description: "The received response. Not available in pre-request scripts.",
|
|
111
|
+
members: [
|
|
112
|
+
{ signature: "pm.response.code", description: "Status code (number).", stages: ["post-response", "tests", "scenario-script"] },
|
|
113
|
+
{ signature: "pm.response.status", description: "Status code (number, alias).", stages: ["post-response", "tests", "scenario-script"] },
|
|
114
|
+
{ signature: "pm.response.statusText", description: "Status text.", stages: ["post-response", "tests", "scenario-script"] },
|
|
115
|
+
{ signature: "pm.response.json()", description: "Parsed JSON body — call once into a const (`const body = pm.response.json()`); throws on non-JSON, so guard with try/catch or pm.response.to.be.json when the content type is uncertain.", stages: ["post-response", "tests", "scenario-script"] },
|
|
116
|
+
{ signature: "pm.response.text()", description: "Raw body as string.", stages: ["post-response", "tests", "scenario-script"] },
|
|
117
|
+
{ signature: "pm.response.rawBody", description: "Raw body string.", stages: ["post-response", "tests", "scenario-script"] },
|
|
118
|
+
{ signature: "pm.response.headers", description: "Response HeaderList.", stages: ["post-response", "tests", "scenario-script"] },
|
|
119
|
+
{ signature: "pm.response.responseTime", description: "Duration in ms.", stages: ["post-response", "tests", "scenario-script"] },
|
|
120
|
+
{ signature: "pm.response.responseSize", description: "Body size in bytes.", stages: ["post-response", "tests", "scenario-script"] },
|
|
121
|
+
{
|
|
122
|
+
signature: "pm.response.to.have.status(code)",
|
|
123
|
+
description: "Assertion shortcuts; also .to.have.header/.jsonBody/.body and .to.be.ok/.json/.success/.clientError/... plus .to.not.<predicate>.",
|
|
124
|
+
stages: ["post-response", "tests", "scenario-script"],
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
name: "pm.sendRequest",
|
|
130
|
+
description: "Fire an ad-hoc HTTP request from inside a script.",
|
|
131
|
+
members: [
|
|
132
|
+
{
|
|
133
|
+
signature: "pm.sendRequest(urlOrOptions, callback?)",
|
|
134
|
+
description: "Options: { url, method, header: {name: value}, body }. Body accepts a plain object (auto-JSON) OR Postman style { mode: 'raw', raw: JSON.stringify({...}) } / { mode: 'urlencoded', urlencoded: [{key, value}] }. Prefer `const res = await pm.sendRequest({...})`; callback form gets (err, res). The response object is { code, status, statusText, headers, body, responseTime, json(), text() } — note it is NOT pm.response.",
|
|
135
|
+
},
|
|
136
|
+
],
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
name: "pm.db",
|
|
140
|
+
description: "Database access (Oracle / MongoDB / PostgreSQL / MySQL). Disabled by feature policy in some contexts — tests then report SKIP.",
|
|
141
|
+
members: [
|
|
142
|
+
{
|
|
143
|
+
signature: "pm.db.query({ connectionId, query })",
|
|
144
|
+
description: "Run an ad-hoc query — ALWAYS await it. Resolves to { success, error, rowCount, rows, firstRow(), connectionId, connectionName, connectionType, durationMs, executedAt }. firstRow is a FUNCTION: res.firstRow()?.STATUS (Oracle columns are UPPERCASE).",
|
|
145
|
+
requires: "database",
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
signature: "pm.db.pre",
|
|
149
|
+
description: "Result object of the declared pre-request DB query: { success, error, rowCount, rows, firstRow() }. Not a promise — read directly.",
|
|
150
|
+
requires: "database",
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
signature: "pm.db.post",
|
|
154
|
+
description: "Result object of the declared post-response DB query (same shape as pm.db.pre).",
|
|
155
|
+
requires: "database",
|
|
156
|
+
stages: ["post-response", "tests"],
|
|
157
|
+
},
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
name: "pm.kafka",
|
|
162
|
+
description: "Captured Kafka events from the request's Kafka tab listener.",
|
|
163
|
+
members: [
|
|
164
|
+
{ signature: "pm.kafka.event()", description: "The matched event's parsed payload (or null).", requires: "kafka", stages: ["post-response", "tests"] },
|
|
165
|
+
{ signature: "pm.kafka.messages()", description: "Every captured message in the listen window.", requires: "kafka", stages: ["post-response", "tests"] },
|
|
166
|
+
],
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
name: "pm.redis",
|
|
170
|
+
description: "Results of the declared pre/post Redis commands.",
|
|
171
|
+
members: [
|
|
172
|
+
{ signature: "pm.redis.get(key)", description: "Read a value already captured by a declared GET.", requires: "redis" },
|
|
173
|
+
{ signature: "pm.redis.results.pre", description: "Array of pre-stage command results (by line index).", requires: "redis" },
|
|
174
|
+
{ signature: "pm.redis.results.post", description: "Array of post-stage command results.", requires: "redis", stages: ["post-response", "tests"] },
|
|
175
|
+
],
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
name: "pm.random",
|
|
179
|
+
description: "Deterministic-format random data generators.",
|
|
180
|
+
members: [
|
|
181
|
+
{ signature: "pm.random.uuid()", description: "UUID v4." },
|
|
182
|
+
{ signature: "pm.random.email()", description: "Random email address." },
|
|
183
|
+
{ signature: "pm.random.string(length?)", description: "Alphanumeric string." },
|
|
184
|
+
{ signature: "pm.random.int(min, max)", description: "Integer in range." },
|
|
185
|
+
{ signature: "pm.random.bigdecimal(min, max, scale)", description: "Decimal with given scale." },
|
|
186
|
+
{ signature: "pm.random.boolean()", description: "true/false." },
|
|
187
|
+
{ signature: "pm.random.phone()", description: "Phone number string." },
|
|
188
|
+
{ signature: "pm.random.name()", description: "Person name." },
|
|
189
|
+
{ signature: "pm.random.date(format?)", description: "Date string." },
|
|
190
|
+
],
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
name: "pm.counter",
|
|
194
|
+
description: "Monotonic counter scoped to the run.",
|
|
195
|
+
members: [
|
|
196
|
+
{ signature: "pm.counter.next()", description: "Next value (starts at 1)." },
|
|
197
|
+
{ signature: "pm.counter.start(startAt?)", description: "Counter starting at a custom value." },
|
|
198
|
+
],
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
name: "pm.info",
|
|
202
|
+
description: "Execution metadata snapshot.",
|
|
203
|
+
members: [
|
|
204
|
+
{ signature: "pm.info.eventName", description: "\"prerequest\" | \"test\"." },
|
|
205
|
+
{ signature: "pm.info.iteration", description: "Zero-based data-driven iteration index." },
|
|
206
|
+
{
|
|
207
|
+
signature: "pm.info.iterationCount",
|
|
208
|
+
description: "Total iterations — only meaningful in collection/data-driven runs. Never use it to gate token/cache logic in single sends.",
|
|
209
|
+
},
|
|
210
|
+
{ signature: "pm.info.requestName", description: "Current request's name." },
|
|
211
|
+
{ signature: "pm.info.requestId", description: "Current request's id." },
|
|
212
|
+
],
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
name: "pm.execution",
|
|
216
|
+
description: "Collection-run flow control.",
|
|
217
|
+
members: [
|
|
218
|
+
{ signature: "pm.execution.setNextRequest(name)", description: "Jump to a named request next (collection runs)." },
|
|
219
|
+
{ signature: "pm.execution.skipRequest()", description: "Skip the current request.", stages: ["pre-request"] },
|
|
220
|
+
{ signature: "pm.execution.location", description: "Folder path of the current request." },
|
|
221
|
+
],
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
name: "pm.node",
|
|
225
|
+
description: "Scenario workflow context (only meaningful inside scenario script nodes).",
|
|
226
|
+
members: [
|
|
227
|
+
{ signature: "pm.node.nodeLabel", description: "Current node's label.", stages: ["scenario-script"] },
|
|
228
|
+
{ signature: "pm.node.setNextRequest(name)", description: "Route the workflow to a named node.", stages: ["scenario-script"] },
|
|
229
|
+
],
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
name: "pm.log",
|
|
233
|
+
description: "Structured logging into the run report.",
|
|
234
|
+
members: [{ signature: "pm.log(...args)", description: "Like console.log; entries land in the run's log panel." }],
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
name: "CryptoJS",
|
|
238
|
+
description: "crypto-js global (NOT under pm.*).",
|
|
239
|
+
members: [
|
|
240
|
+
{ signature: "CryptoJS.SHA256(msg) / SHA1 / SHA512 / MD5", description: "Hashes; .toString() or .toString(CryptoJS.enc.Hex)." },
|
|
241
|
+
{ signature: "CryptoJS.HmacSHA256(msg, key)", description: "HMAC family (SHA1/224/384/512, MD5 variants)." },
|
|
242
|
+
{ signature: "CryptoJS.AES.encrypt(msg, key) / .decrypt(cipher, key)", description: "AES; decrypt result needs .toString(CryptoJS.enc.Utf8)." },
|
|
243
|
+
{ signature: "CryptoJS.PBKDF2(password, salt, options)", description: "Key derivation." },
|
|
244
|
+
{ signature: "CryptoJS.enc.Utf8 / Base64 / Hex / Latin1", description: "Encoders for .toString(...)." },
|
|
245
|
+
{ signature: "CryptoJS.lib.WordArray.create / random(n)", description: "Raw word arrays (e.g. random IVs)." },
|
|
246
|
+
],
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
name: "_",
|
|
250
|
+
description: "lodash global (NOT under pm.*).",
|
|
251
|
+
members: [
|
|
252
|
+
{ signature: "_.get(obj, path, default?) / _.pick / _.groupBy / _.sortBy / _.uniq / ...", description: "Full lodash surface for data wrangling." },
|
|
253
|
+
],
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
name: "timers",
|
|
257
|
+
description: "Safe per-execution timer wrappers (callbacks never outlive the run).",
|
|
258
|
+
members: [
|
|
259
|
+
{ signature: "setTimeout(fn, ms) / clearTimeout(id)", description: "Use with await new Promise(r => setTimeout(r, ms)) for polling loops." },
|
|
260
|
+
{ signature: "setInterval(fn, ms) / clearInterval(id)", description: "Interval variant." },
|
|
261
|
+
],
|
|
262
|
+
},
|
|
263
|
+
];
|
|
264
|
+
//# sourceMappingURL=pm-api-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pm-api-metadata.js","sourceRoot":"","sources":["../../src/script/pm-api-metadata.ts"],"names":[],"mappings":"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"}
|
package/dist/script/scope.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export declare const ALLOWED_GLOBAL_NAMES: readonly string[];
|
|
2
|
+
export declare const BLOCKED_GLOBAL_NAMES: readonly string[];
|
|
1
3
|
export declare const RESERVED_LABEL_NAMES: Set<string>;
|
|
2
4
|
export declare const VALID_LABEL_IDENTIFIER_PATTERN: RegExp;
|
|
3
5
|
export interface ScopeBindings {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/script/scope.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/script/scope.ts"],"names":[],"mappings":"AAiHA,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAAiC,CAAC;AACpF,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAAyB,CAAC;AAM5E,eAAO,MAAM,oBAAoB,aAgB/B,CAAC;AAEH,eAAO,MAAM,8BAA8B,QAAuB,CAAC;AAEnE,MAAM,WAAW,aAAa;IAE5B,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAM5B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC;IAIvD,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;+CAE2C;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IAKjB,MAAM,CAAC,EAAE;QACP,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,OAAO,CAAC;QACtB,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IAGF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,gBAAgB,GAAI,UAAU,aAAa,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAqEhF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAiBrF,CAAC"}
|
package/dist/script/scope.js
CHANGED
|
@@ -105,6 +105,10 @@ const BLOCKED_GLOBALS = [
|
|
|
105
105
|
"navigator",
|
|
106
106
|
"importScripts",
|
|
107
107
|
];
|
|
108
|
+
// Exposed for the AI knowledge-pack generator (scripts/generate-ai-packs.mjs)
|
|
109
|
+
// so the sandbox surface documentation is derived from the live lists.
|
|
110
|
+
export const ALLOWED_GLOBAL_NAMES = Object.keys(ALLOWED_GLOBALS);
|
|
111
|
+
export const BLOCKED_GLOBAL_NAMES = [...BLOCKED_GLOBALS];
|
|
108
112
|
// Names that the caller cannot use as a "label-as-global" workflow key.
|
|
109
113
|
// Exposing a workflow node named `pm` or `eval` would shadow the built-in
|
|
110
114
|
// API or reintroduce a blocked global, so we reject these reservations
|
package/dist/script/scope.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/script/scope.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/script/scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-entry.d.ts","sourceRoot":"","sources":["../../src/script/worker-entry.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// worker_threads entry for runScriptIsolated. Runs the canonical executeScript
|
|
2
|
+
// inside the worker so a runaway/CPU-bound user script blocks only this worker
|
|
3
|
+
// thread — the host hard-kills it via worker.terminate() on timeout.
|
|
4
|
+
//
|
|
5
|
+
// pm.sendRequest (when the host enabled it) is proxied back to the host over
|
|
6
|
+
// the MessagePort: each call posts a "sendRequest" message and awaits the
|
|
7
|
+
// matching "sendRequestResult" reply.
|
|
8
|
+
import { parentPort, workerData } from "node:worker_threads";
|
|
9
|
+
import { executeScript } from "./executor.js";
|
|
10
|
+
const port = parentPort;
|
|
11
|
+
const data = workerData;
|
|
12
|
+
// Drop values JSON can't represent (functions/symbols/cyclic) so the result is
|
|
13
|
+
// always structured-cloneable back to the host. returnValue is template-
|
|
14
|
+
// resolved as JSON downstream anyway.
|
|
15
|
+
const jsonSafe = (value) => {
|
|
16
|
+
try {
|
|
17
|
+
return JSON.parse(JSON.stringify(value ?? null));
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
if (port) {
|
|
24
|
+
const pendingSendRequests = new Map();
|
|
25
|
+
let nextRequestId = 1;
|
|
26
|
+
port.on("message", (message) => {
|
|
27
|
+
if (message.type === "sendRequestResult") {
|
|
28
|
+
const pending = pendingSendRequests.get(message.id);
|
|
29
|
+
if (!pending) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
pendingSendRequests.delete(message.id);
|
|
33
|
+
if (message.ok) {
|
|
34
|
+
pending.resolve(message.result);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
pending.reject(new Error(String(message.error ?? "pm.sendRequest failed")));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
const sendRequestProxy = (input) => new Promise((resolve, reject) => {
|
|
42
|
+
const id = nextRequestId++;
|
|
43
|
+
pendingSendRequests.set(id, { resolve, reject });
|
|
44
|
+
port.postMessage({ type: "sendRequest", id, input });
|
|
45
|
+
});
|
|
46
|
+
if (data.enableSendRequest) {
|
|
47
|
+
data.input.capabilities.extensions = {
|
|
48
|
+
...(data.input.capabilities.extensions ?? {}),
|
|
49
|
+
sendRequest: { execute: sendRequestProxy },
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
void (async () => {
|
|
53
|
+
let result;
|
|
54
|
+
try {
|
|
55
|
+
result = await executeScript(data.input);
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
result = {
|
|
59
|
+
success: false,
|
|
60
|
+
error: {
|
|
61
|
+
stage: data.input.stage ?? "script",
|
|
62
|
+
message: error instanceof Error ? error.message : String(error),
|
|
63
|
+
lineNumber: null,
|
|
64
|
+
column: null,
|
|
65
|
+
stack: error instanceof Error ? (error.stack ?? null) : null,
|
|
66
|
+
},
|
|
67
|
+
testResults: [],
|
|
68
|
+
variableMutations: [],
|
|
69
|
+
logs: [],
|
|
70
|
+
hasReturnValue: false,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
if (result.hasReturnValue) {
|
|
74
|
+
result = { ...result, returnValue: jsonSafe(result.returnValue) };
|
|
75
|
+
}
|
|
76
|
+
port.postMessage({ type: "done", result });
|
|
77
|
+
})();
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=worker-entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-entry.js","sourceRoot":"","sources":["../../src/script/worker-entry.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { EnvStore } from "../variables/envStore.js";
|
|
2
|
+
import type { ConnectionRuntimeMap, RequestDatabaseRuntimeConfig, RequestRedisRuntimeConfig } from "../host/connections.js";
|
|
3
|
+
import type { ScriptDbCapability, ScriptFeaturePolicy, ScriptRedisCapability } from "../script/types.js";
|
|
2
4
|
export interface Collection {
|
|
3
5
|
name: string;
|
|
4
6
|
runnerSettings?: {
|
|
@@ -18,6 +20,8 @@ export interface RequestItem {
|
|
|
18
20
|
body?: any;
|
|
19
21
|
tests?: string;
|
|
20
22
|
contracts?: any[];
|
|
23
|
+
database?: RequestDatabaseRuntimeConfig;
|
|
24
|
+
redis?: RequestRedisRuntimeConfig;
|
|
21
25
|
}
|
|
22
26
|
export interface ExecutionResult {
|
|
23
27
|
requestId: string;
|
|
@@ -65,6 +69,8 @@ export interface RunRequestInput {
|
|
|
65
69
|
request: RequestItem;
|
|
66
70
|
env: EnvStore;
|
|
67
71
|
previousResponse?: ExecuteRequestResult | null;
|
|
72
|
+
connections?: ConnectionRuntimeMap;
|
|
73
|
+
featurePolicy?: ScriptFeaturePolicy;
|
|
68
74
|
}
|
|
69
75
|
export interface RunRequestResult {
|
|
70
76
|
result: ExecutionResult;
|
|
@@ -73,6 +79,8 @@ export interface RunRequestResult {
|
|
|
73
79
|
export interface RunCollectionInput {
|
|
74
80
|
collection: Collection;
|
|
75
81
|
env?: EnvStore | Record<string, any>;
|
|
82
|
+
connections?: ConnectionRuntimeMap;
|
|
83
|
+
featurePolicy?: ScriptFeaturePolicy;
|
|
76
84
|
onRequestStart?: (input: {
|
|
77
85
|
request: RequestItem;
|
|
78
86
|
index: number;
|
|
@@ -128,5 +136,8 @@ export interface ScriptRunContext {
|
|
|
128
136
|
env: EnvStore;
|
|
129
137
|
response?: ExecuteRequestResult | null;
|
|
130
138
|
request?: ExecuteRequestInput | RequestItem;
|
|
139
|
+
db?: ScriptDbCapability;
|
|
140
|
+
redis?: ScriptRedisCapability;
|
|
141
|
+
featurePolicy?: ScriptFeaturePolicy;
|
|
131
142
|
}
|
|
132
143
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,yBAAyB,EAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAIlB,QAAQ,CAAC,EAAE,4BAA4B,CAAC;IACxC,KAAK,CAAC,EAAE,yBAAyB,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,eAAe,EAAE,UAAU,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IAQjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IAIf,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IAIjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,GAAG,EAAE,QAAQ,CAAC;IACd,gBAAgB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAG/C,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAEnC,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,GAAG,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAErC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QACvB,OAAO,EAAE,WAAW,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC1B,OAAO,EAAE,WAAW,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,eAAe,CAAC;KACzB,KAAK,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,EAAE,oBAAoB,CAAC;CAC/B;AAED,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,GACN,WAAW,CAAC;AAEhB,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,iBAAiB,CAAC;QACzB,MAAM,CAAC,EAAE,GAAG,CAAC;QACb,KAAK,CAAC,EAAE,GAAG,CAAC;QACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,QAAQ,CAAC;IACd,QAAQ,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,mBAAmB,GAAG,WAAW,CAAC;IAE5C,EAAE,CAAC,EAAE,kBAAkB,CAAC;IACxB,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC"}
|