common-qa-mcp 0.1.1 → 0.3.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 +25 -70
- package/dist/adapters/factory.d.ts +17 -7
- package/dist/adapters/factory.d.ts.map +1 -1
- package/dist/adapters/factory.js +61 -7
- package/dist/adapters/factory.js.map +1 -1
- package/dist/adapters/http.d.ts +50 -0
- package/dist/adapters/http.d.ts.map +1 -0
- package/dist/adapters/http.js +109 -0
- package/dist/adapters/http.js.map +1 -0
- package/dist/adapters/remoteMcp/adapter.d.ts +10 -1
- package/dist/adapters/remoteMcp/adapter.d.ts.map +1 -1
- package/dist/adapters/remoteMcp/adapter.js +31 -3
- package/dist/adapters/remoteMcp/adapter.js.map +1 -1
- package/dist/adapters/simplifyqa/adapter.d.ts +154 -0
- package/dist/adapters/simplifyqa/adapter.d.ts.map +1 -0
- package/dist/adapters/simplifyqa/adapter.js +1150 -0
- package/dist/adapters/simplifyqa/adapter.js.map +1 -0
- package/dist/adapters/simplifyqa/mapper.d.ts +63 -0
- package/dist/adapters/simplifyqa/mapper.d.ts.map +1 -0
- package/dist/adapters/simplifyqa/mapper.js +409 -0
- package/dist/adapters/simplifyqa/mapper.js.map +1 -0
- package/dist/adapters/types.d.ts +48 -1
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/adapters/walnut/adapter.d.ts +231 -0
- package/dist/adapters/walnut/adapter.d.ts.map +1 -0
- package/dist/adapters/walnut/adapter.js +1083 -0
- package/dist/adapters/walnut/adapter.js.map +1 -0
- package/dist/adapters/walnut/mapper.d.ts +29 -9
- package/dist/adapters/walnut/mapper.d.ts.map +1 -1
- package/dist/adapters/walnut/mapper.js +136 -24
- package/dist/adapters/walnut/mapper.js.map +1 -1
- package/dist/cli.js +5 -3
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +32 -14
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +41 -19
- package/dist/config.js.map +1 -1
- package/dist/connection.d.ts +6 -2
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +37 -14
- package/dist/connection.js.map +1 -1
- package/dist/domain/types.d.ts +195 -1
- package/dist/domain/types.d.ts.map +1 -1
- package/dist/drafts/store.d.ts +4 -1
- package/dist/drafts/store.d.ts.map +1 -1
- package/dist/drafts/store.js +7 -2
- package/dist/drafts/store.js.map +1 -1
- package/dist/initAgents.d.ts.map +1 -1
- package/dist/initAgents.js +69 -21
- package/dist/initAgents.js.map +1 -1
- package/dist/requestConnection.d.ts +5 -3
- package/dist/requestConnection.d.ts.map +1 -1
- package/dist/requestConnection.js +11 -5
- package/dist/requestConnection.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +26 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/connection.tools.d.ts.map +1 -1
- package/dist/tools/connection.tools.js +12 -10
- package/dist/tools/connection.tools.js.map +1 -1
- package/dist/tools/discovery.tools.d.ts.map +1 -1
- package/dist/tools/discovery.tools.js +94 -2
- package/dist/tools/discovery.tools.js.map +1 -1
- package/dist/tools/formulas.tools.d.ts +7 -0
- package/dist/tools/formulas.tools.d.ts.map +1 -0
- package/dist/tools/formulas.tools.js +56 -0
- package/dist/tools/formulas.tools.js.map +1 -0
- package/dist/tools/heal.tools.d.ts +17 -0
- package/dist/tools/heal.tools.d.ts.map +1 -0
- package/dist/tools/heal.tools.js +76 -0
- package/dist/tools/heal.tools.js.map +1 -0
- package/dist/tools/recording.tools.d.ts.map +1 -1
- package/dist/tools/recording.tools.js +34 -12
- package/dist/tools/recording.tools.js.map +1 -1
- package/dist/tools/run.tools.d.ts.map +1 -1
- package/dist/tools/run.tools.js +378 -37
- package/dist/tools/run.tools.js.map +1 -1
- package/dist/tools/storySync.tools.d.ts +66 -0
- package/dist/tools/storySync.tools.d.ts.map +1 -0
- package/dist/tools/storySync.tools.js +213 -0
- package/dist/tools/storySync.tools.js.map +1 -0
- package/dist/tools/testcase.tools.d.ts.map +1 -1
- package/dist/tools/testcase.tools.js +24 -9
- package/dist/tools/testcase.tools.js.map +1 -1
- package/dist/tools/testdata.tools.d.ts +7 -0
- package/dist/tools/testdata.tools.d.ts.map +1 -0
- package/dist/tools/testdata.tools.js +161 -0
- package/dist/tools/testdata.tools.js.map +1 -0
- package/package.json +1 -1
package/dist/config.js
CHANGED
|
@@ -61,6 +61,9 @@ function normalizeLayer(raw) {
|
|
|
61
61
|
const agentUrl = asString(raw['agentUrl']);
|
|
62
62
|
if (agentUrl)
|
|
63
63
|
layer.agentUrl = agentUrl;
|
|
64
|
+
const baseUrl = asString(raw['baseUrl']);
|
|
65
|
+
if (baseUrl)
|
|
66
|
+
layer.baseUrl = baseUrl;
|
|
64
67
|
return layer;
|
|
65
68
|
}
|
|
66
69
|
function parseEnvLayer(env) {
|
|
@@ -76,6 +79,7 @@ function parseEnvLayer(env) {
|
|
|
76
79
|
port: env['QA_MCP_PORT'],
|
|
77
80
|
walnutUiOrigin: env['QA_MCP_WALNUT_UI'],
|
|
78
81
|
agentUrl: env['QA_MCP_AGENT_URL'],
|
|
82
|
+
baseUrl: env['QA_BASE_URL'],
|
|
79
83
|
});
|
|
80
84
|
}
|
|
81
85
|
// Reads the named connection out of ~/.common-qa-mcp/config.json. An absent
|
|
@@ -103,41 +107,59 @@ function applyLayer(target, layer) {
|
|
|
103
107
|
target[key] = value;
|
|
104
108
|
}
|
|
105
109
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
110
|
+
/**
|
|
111
|
+
* A token "looks like a JWT" when it is exactly three non-empty base64url segments separated by dots
|
|
112
|
+
* (header.payload.signature). Used to AUTO-DETECT the auth mode: a Walnut user JWT → 'jwt' (Bearer +
|
|
113
|
+
* x-project-id + x-user-id), anything else (an MCP API key) → 'key' (Bearer only). No decode/verify —
|
|
114
|
+
* shape alone is enough to pick the header set; the backend re-verifies the token itself.
|
|
115
|
+
*/
|
|
116
|
+
export function looksLikeJwt(token) {
|
|
117
|
+
const parts = token.split('.');
|
|
118
|
+
return parts.length === 3 && parts.every((p) => p.length > 0 && /^[A-Za-z0-9_-]+$/.test(p));
|
|
119
|
+
}
|
|
113
120
|
/**
|
|
114
121
|
* Resolution order (spec §12): defaults -> ~/.common-qa-mcp/config.json
|
|
115
122
|
* (named connections; cliFlags.connection selects) -> QA_MCP_* env -> CLI flags.
|
|
116
123
|
* Each layer only overrides keys it actually sets.
|
|
117
124
|
*
|
|
118
|
-
* Credentials
|
|
119
|
-
* -
|
|
120
|
-
*
|
|
121
|
-
* -
|
|
122
|
-
*
|
|
123
|
-
* -
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
125
|
+
* Credentials are optional overall (design note §3):
|
|
126
|
+
* - token AND baseUrl AND url ALL ABSENT -> OfflineQaConfig, no throw. The normal, supported way to
|
|
127
|
+
* run with no backend at all (author drafts, hand off to the editor).
|
|
128
|
+
* - a PARTIAL set (a baseUrl/url but no token, or a token but neither baseUrl nor url) ->
|
|
129
|
+
* misconfiguration, throws naming what is missing.
|
|
130
|
+
* - token + at least one of (baseUrl | url) -> ConnectedQaConfig. `baseUrl` (QA_BASE_URL) is the
|
|
131
|
+
* Walnut backend for direct data ops; `url` (QA_MCP_URL) is the agent /mcp endpoint (recording +
|
|
132
|
+
* the legacy/SimplifyQA forwarder). projectId is OPTIONAL: absent means "connected, no project
|
|
133
|
+
* selected yet" and the user chooses one at runtime.
|
|
134
|
+
*
|
|
135
|
+
* Auth mode is AUTO-DETECTED from the token shape (jwt vs key) unless QA_MCP_WALNUT_AUTH is set
|
|
136
|
+
* explicitly (env/config-file/CLI), which always wins. Never logs `token` -- callers must go through
|
|
137
|
+
* `mask()` from log.ts if they log config at all.
|
|
127
138
|
*/
|
|
128
139
|
export function resolveConfig(env, cliFlags = {}) {
|
|
129
140
|
const merged = {
|
|
130
|
-
walnutAuth: 'key',
|
|
131
141
|
caps: new Set(DEFAULT_CAPS),
|
|
132
142
|
};
|
|
133
143
|
applyLayer(merged, readConfigFileLayer(cliFlags.connection));
|
|
134
144
|
applyLayer(merged, parseEnvLayer(env));
|
|
135
145
|
applyLayer(merged, cliFlags);
|
|
136
|
-
|
|
137
|
-
|
|
146
|
+
// Auth mode: an explicit QA_MCP_WALNUT_AUTH (env/config-file/CLI) always wins; otherwise auto-detect
|
|
147
|
+
// from the token — a JWT-shaped token → 'jwt', anything else → 'key'. Offline (no token) keeps the
|
|
148
|
+
// harmless 'key' default. Computed AFTER the token is known (below the layer merge).
|
|
149
|
+
merged.walnutAuth = merged.walnutAuth ?? (merged.token && looksLikeJwt(merged.token) ? 'jwt' : 'key');
|
|
150
|
+
const hasToken = !!merged.token;
|
|
151
|
+
const hasUrl = !!merged.url;
|
|
152
|
+
const hasBaseUrl = !!merged.baseUrl;
|
|
153
|
+
if (!hasToken && !hasUrl && !hasBaseUrl) {
|
|
138
154
|
// No credentials supplied at all -- offline is the intended, error-free outcome.
|
|
139
155
|
return { ...merged, mode: 'offline' };
|
|
140
156
|
}
|
|
157
|
+
// A partial set is a misconfiguration -- name exactly what is missing.
|
|
158
|
+
const missing = [];
|
|
159
|
+
if (!hasToken)
|
|
160
|
+
missing.push('QA_MCP_TOKEN');
|
|
161
|
+
if (!hasUrl && !hasBaseUrl)
|
|
162
|
+
missing.push('QA_BASE_URL or QA_MCP_URL');
|
|
141
163
|
if (missing.length) {
|
|
142
164
|
throw new Error(`Missing required configuration: set ${missing.join(', ')} (via environment variables, ` +
|
|
143
165
|
`~/.common-qa-mcp/config.json, or CLI flags).`);
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/connection.d.ts
CHANGED
|
@@ -30,8 +30,9 @@
|
|
|
30
30
|
import type { ProviderAdapter } from './adapters/types.js';
|
|
31
31
|
import type { QaConfig } from './config.js';
|
|
32
32
|
export interface ConnectRequest {
|
|
33
|
-
/**
|
|
34
|
-
|
|
33
|
+
/** The MCP endpoint to hop to: the local agent `/mcp` (walnut recording) or the SimplifyQA `/mcp`.
|
|
34
|
+
* OPTIONAL for a walnut DIRECT connection — pass `baseUrl` (the backend) instead/as well. */
|
|
35
|
+
url?: string;
|
|
35
36
|
/** Bearer token: a Walnut session JWT, or an MCP API key. */
|
|
36
37
|
token: string;
|
|
37
38
|
/** Required for a JWT (the token alone carries no project context); optional for an API key,
|
|
@@ -43,6 +44,9 @@ export interface ConnectRequest {
|
|
|
43
44
|
/** Which product to route to. `walnut` (default) uses the in-process Walnut adapter (REST);
|
|
44
45
|
* `simplifyqa` routes to the SQA agent MCP (a remote MCP) — `url` is then its /mcp endpoint. */
|
|
45
46
|
product?: 'walnut' | 'simplifyqa';
|
|
47
|
+
/** Product base URL. Forwarded as `x-qa-base-url` to the product MCP (Walnut or SimplifyQA) so
|
|
48
|
+
* its backend REST calls have a base — for tokens without a JWT `url` claim. */
|
|
49
|
+
baseUrl?: string;
|
|
46
50
|
}
|
|
47
51
|
export interface ConnectionDescription {
|
|
48
52
|
mode: 'offline' | 'connected';
|
package/dist/connection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAqB,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAqB,QAAQ,EAAE,MAAM,aAAa,CAAC;AAO/D,MAAM,WAAW,cAAc;IAC7B;kGAC8F;IAC9F,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd;uDACmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;2CACuC;IACvC,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACrB;qGACiG;IACjG,OAAO,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;IAClC;qFACiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACrB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;sBACkB;IAClB,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;CACvD;AAED,qBAAa,YAAY;IAOX,OAAO,CAAC,QAAQ,CAAC,OAAO;IANpC,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,MAAM,CAAyB;IACvC,kGAAkG;IAClG,OAAO,CAAC,SAAS,CAAyB;gBAEb,OAAO,EAAE,QAAQ;IAuB9C,uFAAuF;IACvF,OAAO,IAAI,eAAe,GAAG,IAAI;IAOjC,MAAM,IAAI,QAAQ;IAIlB,QAAQ,IAAI,qBAAqB;IAgBjC;;;;;;OAMG;IACG,OAAO,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IA0EvG;;;;;OAKG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IA2B3G;+DAC2D;IAC3D,UAAU,IAAI,IAAI;CAOnB"}
|
package/dist/connection.js
CHANGED
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
* different orgs through the same agent would share it. Documented rather than pretended away.
|
|
29
29
|
*/
|
|
30
30
|
import { createAdapter } from './adapters/factory.js';
|
|
31
|
+
import { looksLikeJwt } from './config.js';
|
|
31
32
|
import { readLastProject, writeLastProject } from './projectStore.js';
|
|
32
33
|
import { createLogger } from './vendor/logger.js';
|
|
33
34
|
const logger = createLogger('QaConnection');
|
|
@@ -47,10 +48,13 @@ export class QaConnection {
|
|
|
47
48
|
// is since stale, project-scoped calls fail cleanly and the user can switch — the connection
|
|
48
49
|
// itself is fine.
|
|
49
50
|
if (startup.mode === 'connected' && !startup.projectId) {
|
|
50
|
-
|
|
51
|
+
// Key the remembered project by the effective backend base: `url` (agent /mcp) for the
|
|
52
|
+
// legacy/SQA forwarder, else `baseUrl` (QA_BASE_URL) for the direct walnut path.
|
|
53
|
+
const key = startup.url ?? startup.baseUrl ?? '';
|
|
54
|
+
const remembered = readLastProject(key);
|
|
51
55
|
if (remembered) {
|
|
52
56
|
this.current = { ...startup, projectId: remembered };
|
|
53
|
-
logger.info(`Restored last-selected project ${remembered} for ${
|
|
57
|
+
logger.info(`Restored last-selected project ${remembered} for ${key}`);
|
|
54
58
|
}
|
|
55
59
|
}
|
|
56
60
|
}
|
|
@@ -69,9 +73,12 @@ export class QaConnection {
|
|
|
69
73
|
const c = this.current;
|
|
70
74
|
if (c.mode !== 'connected')
|
|
71
75
|
return { mode: 'offline', source: this.source };
|
|
76
|
+
// The effective backend base: `url` (agent /mcp) for the legacy/SQA forwarder, else `baseUrl`
|
|
77
|
+
// (QA_BASE_URL) for the direct walnut path. Omitted entirely if somehow neither is set.
|
|
78
|
+
const effectiveUrl = c.url ?? c.baseUrl;
|
|
72
79
|
return {
|
|
73
80
|
mode: 'connected',
|
|
74
|
-
url:
|
|
81
|
+
...(effectiveUrl ? { url: effectiveUrl } : {}),
|
|
75
82
|
projectId: c.projectId ?? '', // '' = connected but no project selected yet
|
|
76
83
|
auth: c.walnutAuth === 'key' ? 'key' : 'jwt',
|
|
77
84
|
token: `present (${c.token.length} chars)`,
|
|
@@ -86,18 +93,33 @@ export class QaConnection {
|
|
|
86
93
|
* and is visible to that token. On failure NOTHING changes.
|
|
87
94
|
*/
|
|
88
95
|
async connect(req) {
|
|
89
|
-
const url = req.url?.trim();
|
|
90
96
|
// Tolerate a pasted/`headers.Authorization`-style "Bearer <token>": the field is labelled
|
|
91
97
|
// "Bearer token" and MCP-client header values carry the scheme, but we add `Bearer ` ourselves
|
|
92
98
|
// downstream -- so keep only the raw credential and never send "Bearer Bearer ...".
|
|
93
99
|
const token = (req.token ?? '').trim().replace(/^Bearer\s+/i, '').trim();
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
if (!/^https?:\/\//i.test(url)) {
|
|
97
|
-
return { ok: false, error: `url must be absolute and start with http:// or https:// -- got "${url}".` };
|
|
98
|
-
}
|
|
100
|
+
const url = req.url?.trim();
|
|
101
|
+
const baseUrl = req.baseUrl?.trim().replace(/\/+$/, '');
|
|
99
102
|
const product = req.product === 'simplifyqa' ? 'simplifyqa' : 'walnut';
|
|
100
|
-
|
|
103
|
+
if (!token)
|
|
104
|
+
return { ok: false, error: 'token is required.' };
|
|
105
|
+
// A connection needs an endpoint. `baseUrl` (QA_BASE_URL) is the Walnut BACKEND for direct data
|
|
106
|
+
// ops; `url` (QA_MCP_URL) is an MCP endpoint to hop to — the local agent (walnut recording) or the
|
|
107
|
+
// SimplifyQA /mcp. SimplifyQA is MCP-only (needs url); walnut needs at least one of the two.
|
|
108
|
+
if (product === 'simplifyqa' && !url) {
|
|
109
|
+
return { ok: false, error: 'url (the SimplifyQA agent /mcp endpoint) is required for product "simplifyqa".' };
|
|
110
|
+
}
|
|
111
|
+
if (!url && !baseUrl) {
|
|
112
|
+
return { ok: false, error: 'Provide baseUrl (the Walnut backend) and/or url (the agent /mcp) — at least one is required.' };
|
|
113
|
+
}
|
|
114
|
+
if (url && !/^https?:\/\//i.test(url)) {
|
|
115
|
+
return { ok: false, error: `url must be absolute and start with http:// or https:// — got "${url}".` };
|
|
116
|
+
}
|
|
117
|
+
if (baseUrl && !/^https?:\/\//i.test(baseUrl)) {
|
|
118
|
+
return { ok: false, error: `baseUrl must be absolute and start with http:// or https:// — got "${baseUrl}".` };
|
|
119
|
+
}
|
|
120
|
+
// Auth mode: explicit wins; else auto-detect from the token shape (JWT vs key) — same rule as the
|
|
121
|
+
// startup config (config.ts looksLikeJwt). A JWT sends x-project-id; a key sends Authorization only.
|
|
122
|
+
const auth = req.auth === 'key' ? 'key' : req.auth === 'jwt' ? 'jwt' : (looksLikeJwt(token) ? 'jwt' : 'key');
|
|
101
123
|
const projectId = req.projectId?.trim() ?? '';
|
|
102
124
|
// The JWT-needs-projectId rule is Walnut-specific (it sends x-project-id). SQA forwards the token
|
|
103
125
|
// to its own MCP, which resolves tenant context however it likes, so we don't force it there.
|
|
@@ -112,12 +134,13 @@ export class QaConnection {
|
|
|
112
134
|
...this.startup,
|
|
113
135
|
mode: 'connected',
|
|
114
136
|
provider: product,
|
|
115
|
-
url: url.replace(/\/+$/, ''),
|
|
116
137
|
token,
|
|
117
138
|
// An API key is project-scoped server-side; keep whatever the startup config had so
|
|
118
139
|
// project-scoped helpers still have something to name, but never require it.
|
|
119
140
|
projectId: projectId || (this.startup.projectId ?? ''),
|
|
120
141
|
walnutAuth: auth,
|
|
142
|
+
...(url ? { url: url.replace(/\/+$/, '') } : {}),
|
|
143
|
+
...(baseUrl ? { baseUrl } : {}),
|
|
121
144
|
};
|
|
122
145
|
const probe = createAdapter(candidate);
|
|
123
146
|
if (!probe)
|
|
@@ -131,9 +154,9 @@ export class QaConnection {
|
|
|
131
154
|
// Remember the project so a later restart reboots into it (see projectStore). Only when one
|
|
132
155
|
// was actually chosen — a key-scoped connect may carry none.
|
|
133
156
|
if (candidate.projectId)
|
|
134
|
-
writeLastProject(candidate.url, candidate.projectId);
|
|
157
|
+
writeLastProject(candidate.url ?? candidate.baseUrl ?? '', candidate.projectId);
|
|
135
158
|
// URL and project only -- never the token, not even truncated.
|
|
136
|
-
logger.info(`Connected to ${candidate.url} (project ${candidate.projectId || '(key-scoped)'}, auth ${auth})`);
|
|
159
|
+
logger.info(`Connected to ${candidate.url ?? candidate.baseUrl} (project ${candidate.projectId || '(key-scoped)'}, auth ${auth})`);
|
|
137
160
|
return { ok: true, info };
|
|
138
161
|
}
|
|
139
162
|
catch (err) {
|
|
@@ -167,7 +190,7 @@ export class QaConnection {
|
|
|
167
190
|
this.cachedFor = candidate;
|
|
168
191
|
this.source = 'runtime-connect';
|
|
169
192
|
// Remember it so a restart reboots into this project instead of project-less (projectStore).
|
|
170
|
-
writeLastProject(candidate.url, pid);
|
|
193
|
+
writeLastProject(candidate.url ?? candidate.baseUrl ?? '', pid);
|
|
171
194
|
logger.info(`Switched to project ${pid}`);
|
|
172
195
|
return { ok: true, info };
|
|
173
196
|
}
|
package/dist/connection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,MAAM,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
package/dist/domain/types.d.ts
CHANGED
|
@@ -113,6 +113,39 @@ export type StoryQuery = {
|
|
|
113
113
|
status?: string;
|
|
114
114
|
limit?: number;
|
|
115
115
|
offset?: number;
|
|
116
|
+
/** Filter stories that belong to this sprint. Neutral name; SimplifyQA maps it to `userstory.iterationId` server-side. */
|
|
117
|
+
sprintId?: string;
|
|
118
|
+
/** Filter stories that belong to this release (SimplifyQA `userstory.releaseId`). */
|
|
119
|
+
releaseId?: string;
|
|
120
|
+
};
|
|
121
|
+
/** A RELEASE (SimplifyQA `pm.release`). `state` is the release state ("planned", "in-progress", ...). */
|
|
122
|
+
export type ReleaseSummary = {
|
|
123
|
+
id: string;
|
|
124
|
+
name: string;
|
|
125
|
+
state?: string | undefined;
|
|
126
|
+
plannedStartDate?: string | undefined;
|
|
127
|
+
plannedEndDate?: string | undefined;
|
|
128
|
+
};
|
|
129
|
+
export type ReleaseQuery = {
|
|
130
|
+
scope: 'project' | 'all';
|
|
131
|
+
};
|
|
132
|
+
/** A SPRINT (SimplifyQA `pm.sprint`). `releaseId` links to the parent Release. */
|
|
133
|
+
export type SprintSummary = {
|
|
134
|
+
id: string;
|
|
135
|
+
name: string;
|
|
136
|
+
releaseId?: string | undefined;
|
|
137
|
+
state?: string | undefined;
|
|
138
|
+
plannedStartDate?: string | undefined;
|
|
139
|
+
plannedEndDate?: string | undefined;
|
|
140
|
+
};
|
|
141
|
+
export type SprintQuery = {
|
|
142
|
+
releaseId?: string;
|
|
143
|
+
};
|
|
144
|
+
/** A MODULE / folder in the SimplifyQA test-case tree. `parentId` is absent on root nodes. */
|
|
145
|
+
export type ModuleSummary = {
|
|
146
|
+
id: string;
|
|
147
|
+
name: string;
|
|
148
|
+
parentId?: string | undefined;
|
|
116
149
|
};
|
|
117
150
|
export type QaObject = {
|
|
118
151
|
id?: string;
|
|
@@ -155,8 +188,15 @@ export type RunOptions = {
|
|
|
155
188
|
/** Where to run: 'local' = the connected agent's own browser; 'cloud' = a cloud runner VM.
|
|
156
189
|
* The client MUST decide this (asking the user when unstated) — there is no safe default. */
|
|
157
190
|
mode?: 'local' | 'cloud';
|
|
191
|
+
/** For mode:'local' — a specific local agent credential_id to dispatch to (resolved from
|
|
192
|
+
* listLocalAgents). When omitted the adapter auto-picks the acting user's online agent. */
|
|
193
|
+
agentId?: string;
|
|
158
194
|
/** For mode:'cloud' — the specific online cloud runner to dispatch to (resolved from listCloudRunners). */
|
|
159
195
|
cloudRunnerId?: string;
|
|
196
|
+
/** REQUIRED for ANDROID/IOS test cases — the target device id (adb serial / emulator name for
|
|
197
|
+
* LOCAL; cloud device name for CLOUD). Enumerate with `android_list_devices`. Ignored for
|
|
198
|
+
* non-mobile tcTypes (WEB / API / MAINFRAME / etc.). */
|
|
199
|
+
deviceId?: string;
|
|
160
200
|
/** SUITE runs only. Cloud dispatch order across the suite's test cases: 'serial' one-at-a-time,
|
|
161
201
|
* 'batch'/'dynamic' concurrent (with maxConcurrent). Local is always serial. Default 'serial'. */
|
|
162
202
|
strategy?: 'serial' | 'batch' | 'dynamic';
|
|
@@ -168,14 +208,100 @@ export type RunOptions = {
|
|
|
168
208
|
export type RunRef = {
|
|
169
209
|
runId: string;
|
|
170
210
|
};
|
|
171
|
-
/** A cloud runner VM registered to the project. `online` is the single flag the run flow gates on.
|
|
211
|
+
/** A cloud runner VM registered to the project. `online` is the single flag the run flow gates on.
|
|
212
|
+
* `id` (compute_configs._id) drives an IMMEDIATE cloud reserve; `credentialId` (the linked
|
|
213
|
+
* test_runner_vm agent credential) is what a SCHEDULE pins as assigned_agent_credential_id —
|
|
214
|
+
* a different id-space from `id`. */
|
|
172
215
|
export type CloudRunner = {
|
|
173
216
|
id: string;
|
|
174
217
|
name: string;
|
|
175
218
|
online: boolean;
|
|
176
219
|
status?: string;
|
|
177
220
|
os?: string;
|
|
221
|
+
credentialId?: string;
|
|
222
|
+
};
|
|
223
|
+
/** A LOCAL Walnut agent registered to the project. `id` is the agent credential_id (what a LOCAL
|
|
224
|
+
* run/schedule dispatches to). `online` gates whether it can take a run now. `owner` is the person
|
|
225
|
+
* and `host` the machine hostname — shown together (like the product UI) so a user can tell apart
|
|
226
|
+
* several agents owned by the same person (the credential_id alone means nothing to them). */
|
|
227
|
+
export type LocalAgent = {
|
|
228
|
+
id: string;
|
|
229
|
+
name?: string;
|
|
230
|
+
online: boolean;
|
|
231
|
+
status?: string;
|
|
232
|
+
owner?: string;
|
|
233
|
+
host?: string;
|
|
234
|
+
};
|
|
235
|
+
/** Inputs to createSchedule (POST /api/schedules) — mirrors RunOptions' runner-pick fields plus the
|
|
236
|
+
* schedule cadence. `mode` and `scheduledFor` are required (the backend rejects a schedule with no
|
|
237
|
+
* start time). Manual test cases are not schedulable — the backend surfaces that error. */
|
|
238
|
+
export type ScheduleOptions = {
|
|
239
|
+
/** Where the scheduled run executes: 'local' (a local agent) or 'cloud' (a cloud runner VM). */
|
|
240
|
+
mode: 'local' | 'cloud';
|
|
241
|
+
/** mode:'local' — REQUIRED: the specific local agent credential_id (from listLocalAgents) the
|
|
242
|
+
* schedule fires on. A schedule runs detached from any live session (no "caller's own agent" at
|
|
243
|
+
* fire time), so a local schedule must pin an agent — createSchedule sets execution_mode:'manual'
|
|
244
|
+
* so the backend honors it. */
|
|
245
|
+
agentId?: string;
|
|
246
|
+
/** mode:'cloud' — the specific cloud runner id (compute_configs._id, from listCloudRunners), used
|
|
247
|
+
* only to identify the runner. The actual SCHEDULE pin travels in cloudRunnerCredentialId. */
|
|
248
|
+
cloudRunnerId?: string;
|
|
249
|
+
/** mode:'cloud' — pin a SPECIFIC cloud runner by its agent CREDENTIAL id (CloudRunner.credentialId,
|
|
250
|
+
* NOT cloudRunnerId). The backend validates it as an active test_runner_vm credential and rejects a
|
|
251
|
+
* VM that is offline at create time; omit to let the backend auto-pick a live VM at fire time. */
|
|
252
|
+
cloudRunnerCredentialId?: string;
|
|
253
|
+
browser?: string;
|
|
254
|
+
/** Environment id (Mongo id); only forwarded when it is a 24-hex id, mirroring startRun. */
|
|
255
|
+
environmentId?: string;
|
|
256
|
+
/** REQUIRED — ISO datetime of the first (or only) run. */
|
|
257
|
+
scheduledFor: string;
|
|
258
|
+
/** Recurrence cadence. Default 'once'. */
|
|
259
|
+
scheduleType?: 'once' | 'hourly' | 'daily' | 'weekdays' | 'weekly' | 'monthly';
|
|
260
|
+
/** ISO end date for recurring schedules. */
|
|
261
|
+
endDate?: string;
|
|
262
|
+
/** IANA timezone, default 'UTC'. */
|
|
263
|
+
timezone?: string;
|
|
264
|
+
};
|
|
265
|
+
/** Neutral reference to a created schedule (from POST /api/schedules `data`). */
|
|
266
|
+
export type ScheduleRef = {
|
|
267
|
+
id: string;
|
|
268
|
+
status?: string;
|
|
269
|
+
nextRunAt?: string;
|
|
270
|
+
productUrl?: string;
|
|
271
|
+
};
|
|
272
|
+
/** A schedule as listed for management (GET /api/schedules). `target` names WHAT it runs (a test case
|
|
273
|
+
* or a suite), `agent` is the pinned agent/runner's human name, and `updateVersion` is the optimistic-
|
|
274
|
+
* concurrency token an edit must echo back. */
|
|
275
|
+
export type ScheduleInfo = {
|
|
276
|
+
id: string;
|
|
277
|
+
target: string;
|
|
278
|
+
scheduleType: string;
|
|
279
|
+
status: string;
|
|
280
|
+
active?: boolean;
|
|
281
|
+
executionTarget?: 'local' | 'cloud_runner';
|
|
282
|
+
agent?: string;
|
|
283
|
+
browser?: string;
|
|
284
|
+
nextRunAt?: string;
|
|
285
|
+
scheduledFor?: string;
|
|
286
|
+
timezone?: string;
|
|
287
|
+
updateVersion?: number;
|
|
178
288
|
};
|
|
289
|
+
/** Fields an edit may change (schedule_update). Omitted = leave as-is. Mirrors updateScheduleSchema;
|
|
290
|
+
* `mode:'local'` re-pins via agentId, `mode:'cloud'` via cloudRunnerCredentialId. */
|
|
291
|
+
export type ScheduleUpdate = {
|
|
292
|
+
scheduledFor?: string;
|
|
293
|
+
scheduleType?: 'once' | 'hourly' | 'daily' | 'weekdays' | 'weekly' | 'monthly';
|
|
294
|
+
endDate?: string;
|
|
295
|
+
timezone?: string;
|
|
296
|
+
browser?: string;
|
|
297
|
+
environmentId?: string;
|
|
298
|
+
mode?: 'local' | 'cloud';
|
|
299
|
+
agentId?: string;
|
|
300
|
+
cloudRunnerCredentialId?: string;
|
|
301
|
+
};
|
|
302
|
+
/** State transitions for schedule_control. pause↔resume are reversible; cancel stops the pending/live
|
|
303
|
+
* run; delete (a separate tool) removes the row entirely. */
|
|
304
|
+
export type ScheduleAction = 'pause' | 'resume' | 'cancel';
|
|
179
305
|
export type RunStatus = {
|
|
180
306
|
runId: string;
|
|
181
307
|
state: 'queued' | 'running' | 'passed' | 'failed' | 'stopped' | 'error';
|
|
@@ -219,6 +345,74 @@ export type DatasetInfo = {
|
|
|
219
345
|
name: string;
|
|
220
346
|
rowCount?: number;
|
|
221
347
|
};
|
|
348
|
+
/** Template row for testdata generation. `parameters[i].paramId` is the backend id used when
|
|
349
|
+
* posting new rows; `name` is the human-facing token (e.g. `${username}`); `seed` is the current
|
|
350
|
+
* default value (empty string if unset) — used for regex-based type inference when no override is
|
|
351
|
+
* supplied. `versionId`/`environmentType` are echoed back from the product so a follow-up
|
|
352
|
+
* saveGeneratedIterations call targets the same TC context without a second lookup. */
|
|
353
|
+
export type DefaultIteration = {
|
|
354
|
+
tcId: string;
|
|
355
|
+
versionId: string;
|
|
356
|
+
environmentType: string;
|
|
357
|
+
parameters: Array<{
|
|
358
|
+
paramId: number;
|
|
359
|
+
name: string;
|
|
360
|
+
seed: string;
|
|
361
|
+
}>;
|
|
362
|
+
};
|
|
363
|
+
/** Request body for `saveGeneratedIterations`. `rows[i]` is a flat `{paramName: value}` map; the
|
|
364
|
+
* adapter re-keys it to `{paramId: value}` server-side using the template.
|
|
365
|
+
* `formulas` — optional per-column formula assignments applied to EVERY row: the adapter evaluates
|
|
366
|
+
* the formula fresh per row via the product's compute endpoint and stamps both `value` (evaluated)
|
|
367
|
+
* and `formulaValue` (source `=NAME(...)` expression) on the payload cell. A formula wins over an
|
|
368
|
+
* explicit `rows[i]` value for the same param name. */
|
|
369
|
+
export type SaveGeneratedIterations = {
|
|
370
|
+
tcId: string;
|
|
371
|
+
versionId: string;
|
|
372
|
+
environmentType: string;
|
|
373
|
+
rows: Array<Record<string, string>>;
|
|
374
|
+
formulas?: Record<string, FormulaCall> | undefined;
|
|
375
|
+
/** Optional pre-fetched template parameters (from a getDefaultIteration the caller already made).
|
|
376
|
+
* When present the adapter skips its own re-fetch — avoids paying the template + N parameter-name
|
|
377
|
+
* lookups twice per save. Safe to omit; adapter falls back to fetching. */
|
|
378
|
+
parameters?: Array<{
|
|
379
|
+
paramId: number;
|
|
380
|
+
name: string;
|
|
381
|
+
seed: string;
|
|
382
|
+
}> | undefined;
|
|
383
|
+
};
|
|
384
|
+
/** A formula available in the project for testdata generation. `scope` is derived from the formula
|
|
385
|
+
* document: 'default' = customer-wide prefab (FIRST_NAME, RANDOM_EMAIL, …); 'customer' = user-defined
|
|
386
|
+
* formula visible across every project in the customer; 'project' = only in the current project.
|
|
387
|
+
* `signature`/`example` come straight from the formula's stored description. `parameters` names the
|
|
388
|
+
* argument keys (order matters: the adapter serialises calls positionally as `=NAME("a","b")`). */
|
|
389
|
+
export type Formula = {
|
|
390
|
+
name: string;
|
|
391
|
+
uniqueId: string;
|
|
392
|
+
type: 'DEFAULT' | 'CUSTOM';
|
|
393
|
+
scope: 'default' | 'customer' | 'project';
|
|
394
|
+
signature: string;
|
|
395
|
+
details?: string | undefined;
|
|
396
|
+
example?: string | undefined;
|
|
397
|
+
parameters: Array<{
|
|
398
|
+
keyName: string;
|
|
399
|
+
description?: string | undefined;
|
|
400
|
+
dataType?: string | undefined;
|
|
401
|
+
}>;
|
|
402
|
+
};
|
|
403
|
+
/** A model-supplied call to a formula for one testdata column. `args` is name→value keyed by
|
|
404
|
+
* `Formula.parameters[].keyName`; the adapter orders them positionally when building the stored
|
|
405
|
+
* `formulaValue` expression, and passes them as query params to the compute endpoint. */
|
|
406
|
+
export type FormulaCall = {
|
|
407
|
+
name: string;
|
|
408
|
+
args?: Record<string, string> | undefined;
|
|
409
|
+
};
|
|
410
|
+
export type SaveGeneratedIterationsResult = {
|
|
411
|
+
tcId: string;
|
|
412
|
+
inserted: number;
|
|
413
|
+
iterationIds?: string[];
|
|
414
|
+
datasetUrl?: string;
|
|
415
|
+
};
|
|
222
416
|
export type EntityRef = {
|
|
223
417
|
kind: 'testcase' | 'suite' | 'run';
|
|
224
418
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,CAAC;AACpF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC,CAAC;AACF,MAAM,MAAM,IAAI,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IACnD;;qGAEiG;IACjG,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;IAC7F,SAAS,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,CAAC;IACjH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChE,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC;QACvD,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACpC,GAAG,SAAS,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACpF;;sGAEkG;IAClG,YAAY,CAAC,EAAE;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;QAClD,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACzC,GAAG,SAAS,CAAC;IACd,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC3B,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACjC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAChC,GAAG,SAAS,CAAC;CACf,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChI,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC/H,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7I,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAAC,KAAK,EAAE,IAAI,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzE;;;gDAG4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;CAAE,CAAC;AAC9C,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7G,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;CAAE,CAAC;AACvG,MAAM,MAAM,OAAO,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC5F;8GAC8G;AAC9G,MAAM,MAAM,YAAY,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAC/I,MAAM,MAAM,KAAK,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1G,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAC1G,MAAM,MAAM,UAAU,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC3F,0HAA0H;IAC1H,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACvB,yGAAyG;AACzG,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClF,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAC/E,MAAM,MAAM,YAAY,GAAG;IAAE,KAAK,EAAE,SAAS,GAAG,KAAK,CAAA;CAAE,CAAC;AACxD,kFAAkF;AAClF,MAAM,MAAM,aAAa,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrF,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAC3G,MAAM,MAAM,WAAW,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACjD,8FAA8F;AAC9F,MAAM,MAAM,aAAa,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AACxF,MAAM,MAAM,QAAQ,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC;AAClH,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/D,MAAM,MAAM,KAAK,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAAC;AACpH,MAAM,MAAM,YAAY,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC9E,MAAM,MAAM,QAAQ,GAAG;IAAE,EAAE,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1F,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC5D,MAAM,MAAM,UAAU,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACpF;kGAC8F;IAC9F,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB;gGAC4F;IAC5F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2GAA2G;IAC3G,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;6DAEyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;uGACmG;IACnG,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAC1C,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uFAAuF;IACvF,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AACjC,MAAM,MAAM,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AACvC;;;sCAGsC;AACtC,MAAM,MAAM,WAAW,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7H;;;+FAG+F;AAC/F,MAAM,MAAM,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACxH;;4FAE4F;AAC5F,MAAM,MAAM,eAAe,GAAG;IAC5B,gGAAgG;IAChG,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB;;;oCAGgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;mGAC+F;IAC/F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;uGAEmG;IACnG,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC/E,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,iFAAiF;AACjF,MAAM,MAAM,WAAW,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACnG;;gDAEgD;AAChD,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AACF;sFACsF;AACtF,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AACF;8DAC8D;AAC9D,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC3D,MAAM,MAAM,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IAC/G,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,WAAW,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3G;wDACoD;IACpD,QAAQ,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAA;KAAE,EAAE,CAAC;IACrH,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACvB,MAAM,MAAM,QAAQ,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AACnG,MAAM,MAAM,SAAS,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACvF,MAAM,MAAM,OAAO,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AACnD,MAAM,MAAM,WAAW,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E;;;;wFAIwF;AACxF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpE,CAAC;AAEF;;;;;wDAKwD;AACxD,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IACnD;;gFAE4E;IAC5E,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;CACjF,CAAC;AAEF;;;;oGAIoG;AACpG,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;CACzG,CAAC;AAEF;;0FAE0F;AAC1F,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3E;;gFAEgF;AAChF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,CAAC;AACF;6FAC6F;AAC7F,MAAM,MAAM,SAAS,GACjB;IAAE,EAAE,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,UAAU,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;CAAE,GAClE;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,GACtD;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,EAAE,EAAE,WAAW,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,EAAE,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACvH;IAAE,EAAE,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAAE,GACjF;IAAE,EAAE,EAAE,eAAe,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAC9F,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
package/dist/drafts/store.d.ts
CHANGED
|
@@ -3,6 +3,9 @@ export type Draft = {
|
|
|
3
3
|
draftId: string;
|
|
4
4
|
tc: TestCase;
|
|
5
5
|
updatedAt: number;
|
|
6
|
+
/** Recording session that produced this draft (set when a delegated recorder re-homes its result
|
|
7
|
+
* here). Lets tc_save close that session's live-recording editor window on the agent after saving. */
|
|
8
|
+
sessionId?: string;
|
|
6
9
|
};
|
|
7
10
|
export type DraftOp = {
|
|
8
11
|
op: 'set_meta';
|
|
@@ -42,7 +45,7 @@ export declare class DraftNotFoundError extends Error {
|
|
|
42
45
|
export declare class DraftStore {
|
|
43
46
|
private readonly drafts;
|
|
44
47
|
private counter;
|
|
45
|
-
create(tc: TestCase): string;
|
|
48
|
+
create(tc: TestCase, sessionId?: string): string;
|
|
46
49
|
get(draftId: string): Draft;
|
|
47
50
|
/**
|
|
48
51
|
* Bind a draft to the product id it was just saved as. After tc_save CREATES a test case, the draft
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/drafts/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,MAAM,KAAK,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/drafts/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,MAAM,KAAK,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IACrE;2GACuG;IACvG,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB,MAAM,MAAM,OAAO,GACf;IAAE,EAAE,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,UAAU,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;CAAE,GACtD;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,GACtD;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,EAAE,EAAE,WAAW,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/C;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAQ5B;AAUD;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,OAAO,CAAK;IAEpB,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAWhD,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;IAM3B;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAO5C,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI7B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK;CAYjD"}
|