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.
Files changed (89) hide show
  1. package/README.md +25 -70
  2. package/dist/adapters/factory.d.ts +17 -7
  3. package/dist/adapters/factory.d.ts.map +1 -1
  4. package/dist/adapters/factory.js +61 -7
  5. package/dist/adapters/factory.js.map +1 -1
  6. package/dist/adapters/http.d.ts +50 -0
  7. package/dist/adapters/http.d.ts.map +1 -0
  8. package/dist/adapters/http.js +109 -0
  9. package/dist/adapters/http.js.map +1 -0
  10. package/dist/adapters/remoteMcp/adapter.d.ts +10 -1
  11. package/dist/adapters/remoteMcp/adapter.d.ts.map +1 -1
  12. package/dist/adapters/remoteMcp/adapter.js +31 -3
  13. package/dist/adapters/remoteMcp/adapter.js.map +1 -1
  14. package/dist/adapters/simplifyqa/adapter.d.ts +154 -0
  15. package/dist/adapters/simplifyqa/adapter.d.ts.map +1 -0
  16. package/dist/adapters/simplifyqa/adapter.js +1150 -0
  17. package/dist/adapters/simplifyqa/adapter.js.map +1 -0
  18. package/dist/adapters/simplifyqa/mapper.d.ts +63 -0
  19. package/dist/adapters/simplifyqa/mapper.d.ts.map +1 -0
  20. package/dist/adapters/simplifyqa/mapper.js +409 -0
  21. package/dist/adapters/simplifyqa/mapper.js.map +1 -0
  22. package/dist/adapters/types.d.ts +48 -1
  23. package/dist/adapters/types.d.ts.map +1 -1
  24. package/dist/adapters/walnut/adapter.d.ts +231 -0
  25. package/dist/adapters/walnut/adapter.d.ts.map +1 -0
  26. package/dist/adapters/walnut/adapter.js +1083 -0
  27. package/dist/adapters/walnut/adapter.js.map +1 -0
  28. package/dist/adapters/walnut/mapper.d.ts +29 -9
  29. package/dist/adapters/walnut/mapper.d.ts.map +1 -1
  30. package/dist/adapters/walnut/mapper.js +136 -24
  31. package/dist/adapters/walnut/mapper.js.map +1 -1
  32. package/dist/cli.js +5 -3
  33. package/dist/cli.js.map +1 -1
  34. package/dist/config.d.ts +32 -14
  35. package/dist/config.d.ts.map +1 -1
  36. package/dist/config.js +41 -19
  37. package/dist/config.js.map +1 -1
  38. package/dist/connection.d.ts +6 -2
  39. package/dist/connection.d.ts.map +1 -1
  40. package/dist/connection.js +37 -14
  41. package/dist/connection.js.map +1 -1
  42. package/dist/domain/types.d.ts +195 -1
  43. package/dist/domain/types.d.ts.map +1 -1
  44. package/dist/drafts/store.d.ts +4 -1
  45. package/dist/drafts/store.d.ts.map +1 -1
  46. package/dist/drafts/store.js +7 -2
  47. package/dist/drafts/store.js.map +1 -1
  48. package/dist/initAgents.d.ts.map +1 -1
  49. package/dist/initAgents.js +69 -21
  50. package/dist/initAgents.js.map +1 -1
  51. package/dist/requestConnection.d.ts +5 -3
  52. package/dist/requestConnection.d.ts.map +1 -1
  53. package/dist/requestConnection.js +11 -5
  54. package/dist/requestConnection.js.map +1 -1
  55. package/dist/server.d.ts.map +1 -1
  56. package/dist/server.js +26 -2
  57. package/dist/server.js.map +1 -1
  58. package/dist/tools/connection.tools.d.ts.map +1 -1
  59. package/dist/tools/connection.tools.js +12 -10
  60. package/dist/tools/connection.tools.js.map +1 -1
  61. package/dist/tools/discovery.tools.d.ts.map +1 -1
  62. package/dist/tools/discovery.tools.js +94 -2
  63. package/dist/tools/discovery.tools.js.map +1 -1
  64. package/dist/tools/formulas.tools.d.ts +7 -0
  65. package/dist/tools/formulas.tools.d.ts.map +1 -0
  66. package/dist/tools/formulas.tools.js +56 -0
  67. package/dist/tools/formulas.tools.js.map +1 -0
  68. package/dist/tools/heal.tools.d.ts +17 -0
  69. package/dist/tools/heal.tools.d.ts.map +1 -0
  70. package/dist/tools/heal.tools.js +76 -0
  71. package/dist/tools/heal.tools.js.map +1 -0
  72. package/dist/tools/recording.tools.d.ts.map +1 -1
  73. package/dist/tools/recording.tools.js +34 -12
  74. package/dist/tools/recording.tools.js.map +1 -1
  75. package/dist/tools/run.tools.d.ts.map +1 -1
  76. package/dist/tools/run.tools.js +378 -37
  77. package/dist/tools/run.tools.js.map +1 -1
  78. package/dist/tools/storySync.tools.d.ts +66 -0
  79. package/dist/tools/storySync.tools.d.ts.map +1 -0
  80. package/dist/tools/storySync.tools.js +213 -0
  81. package/dist/tools/storySync.tools.js.map +1 -0
  82. package/dist/tools/testcase.tools.d.ts.map +1 -1
  83. package/dist/tools/testcase.tools.js +24 -9
  84. package/dist/tools/testcase.tools.js.map +1 -1
  85. package/dist/tools/testdata.tools.d.ts +7 -0
  86. package/dist/tools/testdata.tools.d.ts.map +1 -0
  87. package/dist/tools/testdata.tools.js +161 -0
  88. package/dist/tools/testdata.tools.js.map +1 -0
  89. 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
- // Only url + token are required to be CONNECTED. projectId is intentionally NOT here: a session may
107
- // connect with no project selected, then the user picks one at runtime (list_projects ->
108
- // qa_switch_project). Hardcoding a project in config defeats the "any project, any client" model.
109
- const REQUIRED_FIELDS = [
110
- ['url', 'QA_MCP_URL'],
111
- ['token', 'QA_MCP_TOKEN'],
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 (url/token) are optional overall:
119
- * - BOTH url+token ABSENT -> OfflineQaConfig, no throw. The normal, supported way
120
- * to run with no backend at all (author drafts, hand off to the editor).
121
- * - ONE of url/token present but not the other -> misconfiguration, throws naming
122
- * the missing var.
123
- * - url+token present -> ConnectedQaConfig. projectId is OPTIONAL: absent means
124
- * "connected, no project selected yet" and the user chooses one at runtime.
125
- * Never logs `token` -- callers must go through `mask()` from log.ts if they log
126
- * config at all.
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
- const missing = REQUIRED_FIELDS.filter(([key]) => !merged[key]).map(([, envVar]) => envVar);
137
- if (missing.length === REQUIRED_FIELDS.length) {
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).`);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -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
- /** Walnut app URL, e.g. `https://app.walnut.ai` or a self-hosted origin. */
34
- url: string;
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';
@@ -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;AAM/D,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ,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;CACnC;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;IAoB9C,uFAAuF;IACvF,OAAO,IAAI,eAAe,GAAG,IAAI;IAOjC,MAAM,IAAI,QAAQ;IAIlB,QAAQ,IAAI,qBAAqB;IAajC;;;;;;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;IAwDvG;;;;;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"}
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"}
@@ -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
- const remembered = readLastProject(startup.url);
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 ${startup.url}`);
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: c.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
- if (!url || !token)
95
- return { ok: false, error: 'url and token are both required.' };
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
- const auth = req.auth === 'key' ? 'key' : 'jwt';
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
@@ -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;AAEzE,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,GAAG,MAAM;IAM5B,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"}
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"}