@apex-inc/mcp-server 0.9.9 → 0.9.11
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/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +4 -2
- package/dist/api-client.js.map +1 -1
- package/dist/auth.d.ts +8 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +22 -5
- package/dist/auth.js.map +1 -1
- package/dist/experiment-copy.d.ts +16 -0
- package/dist/experiment-copy.d.ts.map +1 -0
- package/dist/experiment-copy.js +23 -0
- package/dist/experiment-copy.js.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/prompts.d.ts +104 -0
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +181 -7
- package/dist/prompts.js.map +1 -1
- package/dist/tools.d.ts +370 -6
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +492 -41
- package/dist/tools.js.map +1 -1
- package/guardrails/apex-experiment-guardrails.mdc +20 -0
- package/guardrails/brand-truth.md +34 -0
- package/guardrails/brand-voice.md +22 -0
- package/guardrails/experiment-rules.md +21 -0
- package/guardrails/lexicon.md +16 -0
- package/package.json +6 -3
- package/skills/apex-experimentation/SKILL.md +17 -0
package/dist/api-client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAaA,UAAU,OAAO;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxE;AAED,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB;AAID,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,QAEtD;AAED,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAEvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,QAMzC;AAED,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAEjD;AAED,wBAAgB,cAAc,IAAI,WAAW,GAAG,SAAS,CAExD;AAiBD;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAsCnE;AA2BD,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAUrD;AAmED,wBAAsB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAIxD;AAED,wBAAsB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAQxE;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,CAAC,CAAC,CAWZ;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3D;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAQzE"}
|
package/dist/api-client.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MCP_SERVER_VERSION } from "./version.js";
|
|
2
|
-
import { ensureAuth, getAuthToken, reauthAfterFailure, hasStoredCredential, } from "./auth.js";
|
|
2
|
+
import { ensureAuth, getAuthToken, reauthAfterFailure, hasStoredCredential, staticApiKey, } from "./auth.js";
|
|
3
3
|
const BASE_URL = process.env.APEX_URL || process.env.APEX_API_URL || "http://localhost:3001";
|
|
4
4
|
let activeWorkspaceKey = (process.env.APEX_WORKSPACE_KEY || process.env.APEX_PROJECT_KEY);
|
|
5
5
|
let activeOrgId;
|
|
@@ -158,7 +158,9 @@ async function fetchWithAuth(path, init) {
|
|
|
158
158
|
headers: { ...init.headers, ...authHeaders() },
|
|
159
159
|
});
|
|
160
160
|
let res = await fetch(`${BASE_URL}${path}`, build());
|
|
161
|
-
|
|
161
|
+
// Only a *valid* static key suppresses device-token reauth; a placeholder
|
|
162
|
+
// must still fall through to the device flow on 401.
|
|
163
|
+
if (res.status === 401 && !staticApiKey()) {
|
|
162
164
|
if (await reauthAfterFailure()) {
|
|
163
165
|
res = await fetch(`${BASE_URL}${path}`, build());
|
|
164
166
|
}
|
package/dist/api-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
|
package/dist/auth.d.ts
CHANGED
|
@@ -23,6 +23,14 @@ export declare class AuthRequiredError extends Error {
|
|
|
23
23
|
* `AuthRequiredError` (with the approval URL) when the user must approve.
|
|
24
24
|
* Never blocks waiting for approval.
|
|
25
25
|
*/
|
|
26
|
+
/**
|
|
27
|
+
* The static API key from the environment, but ONLY when it's a real,
|
|
28
|
+
* valid-shaped Apex key. A placeholder (`apex_sk_REPLACE_WITH_YOUR_KEY`) or a
|
|
29
|
+
* malformed value is treated as ABSENT so a valid device token wins instead of
|
|
30
|
+
* 401-ing. This is the footgun fix: a leftover placeholder used to override the
|
|
31
|
+
* OAuth device token and block every authed call.
|
|
32
|
+
*/
|
|
33
|
+
export declare function staticApiKey(): string | undefined;
|
|
26
34
|
export declare function ensureAuth(): Promise<void>;
|
|
27
35
|
/** The credential to send (static key, or current device access token). */
|
|
28
36
|
export declare function getAuthToken(): string | undefined;
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAqCH,+EAA+E;AAC/E,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,uBAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAS9D;AA6ID;;;;GAIG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAahD;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAEjD;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAM3D;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,IAAI,OAAO,CAO7C"}
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAqCH,+EAA+E;AAC/E,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,uBAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAS9D;AA6ID;;;;GAIG;AACH;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAMjD;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAahD;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAEjD;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAM3D;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,IAAI,OAAO,CAO7C"}
|
package/dist/auth.js
CHANGED
|
@@ -173,8 +173,25 @@ async function backgroundPoll(intervalSec) {
|
|
|
173
173
|
* `AuthRequiredError` (with the approval URL) when the user must approve.
|
|
174
174
|
* Never blocks waiting for approval.
|
|
175
175
|
*/
|
|
176
|
+
/**
|
|
177
|
+
* The static API key from the environment, but ONLY when it's a real,
|
|
178
|
+
* valid-shaped Apex key. A placeholder (`apex_sk_REPLACE_WITH_YOUR_KEY`) or a
|
|
179
|
+
* malformed value is treated as ABSENT so a valid device token wins instead of
|
|
180
|
+
* 401-ing. This is the footgun fix: a leftover placeholder used to override the
|
|
181
|
+
* OAuth device token and block every authed call.
|
|
182
|
+
*/
|
|
183
|
+
export function staticApiKey() {
|
|
184
|
+
const raw = process.env.APEX_API_KEY?.trim();
|
|
185
|
+
if (!raw)
|
|
186
|
+
return undefined;
|
|
187
|
+
if (/REPLACE/i.test(raw))
|
|
188
|
+
return undefined; // scaffold placeholder
|
|
189
|
+
if (!/^apex_(sk|uk|at)_[A-Za-z0-9_-]{16,}$/.test(raw))
|
|
190
|
+
return undefined; // wrong shape
|
|
191
|
+
return raw;
|
|
192
|
+
}
|
|
176
193
|
export async function ensureAuth() {
|
|
177
|
-
if (
|
|
194
|
+
if (staticApiKey())
|
|
178
195
|
return;
|
|
179
196
|
if (!loaded) {
|
|
180
197
|
creds = loadCreds();
|
|
@@ -192,7 +209,7 @@ export async function ensureAuth() {
|
|
|
192
209
|
}
|
|
193
210
|
/** The credential to send (static key, or current device access token). */
|
|
194
211
|
export function getAuthToken() {
|
|
195
|
-
return
|
|
212
|
+
return staticApiKey() ?? creds?.accessToken;
|
|
196
213
|
}
|
|
197
214
|
/**
|
|
198
215
|
* Called after a 401. Try a refresh; if that fails, start a fresh device
|
|
@@ -200,8 +217,8 @@ export function getAuthToken() {
|
|
|
200
217
|
* Returns true only when a refresh succeeded and the caller should retry.
|
|
201
218
|
*/
|
|
202
219
|
export async function reauthAfterFailure() {
|
|
203
|
-
if (
|
|
204
|
-
return false; // static key — nothing to refresh
|
|
220
|
+
if (staticApiKey())
|
|
221
|
+
return false; // valid static key — nothing to refresh
|
|
205
222
|
if (await tryRefresh())
|
|
206
223
|
return true;
|
|
207
224
|
creds = null;
|
|
@@ -210,7 +227,7 @@ export async function reauthAfterFailure() {
|
|
|
210
227
|
}
|
|
211
228
|
/** True when we already hold a (possibly stale) credential — used by startup. */
|
|
212
229
|
export function hasStoredCredential() {
|
|
213
|
-
if (
|
|
230
|
+
if (staticApiKey())
|
|
214
231
|
return true;
|
|
215
232
|
if (!loaded) {
|
|
216
233
|
creds = loadCreds();
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,SAAS,EACT,YAAY,EACZ,aAAa,EACb,UAAU,EACV,SAAS,GACV,MAAM,SAAS,CAAC;AAEjB,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,uBAAuB,CAAC;AAe9E,IAAI,KAAK,GAAuB,IAAI,CAAC;AACrC,IAAI,MAAM,GAAG,KAAK,CAAC;AACnB,IAAI,OAAO,GAAyB,IAAI,CAAC;AACzC,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AACrD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAEnD,+EAA+E;AAC/E,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,uBAA+B,EAAE,QAAgB;QAC3D,KAAK,CACH,0DAA0D;YACxD,aAAa,uBAAuB,IAAI;YACxC,4DAA4D,QAAQ,MAAM;YAC1E,gEAAgE,CACnE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,SAAS,SAAS;IAChB,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAgC,CAAC;QACvF,OAAO,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAiB;IAClC,KAAK,GAAG,IAAI,CAAC;IACb,IAAI,CAAC;QACH,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,GAAG,GAAgC,EAAE,CAAC;QAC1C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAgC,CAAC;YACnF,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,GAAG,EAAE,CAAC;YACX,CAAC;QACH,CAAC;QACD,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;QACtB,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,CAI3B;IACC,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IACtD,SAAS,CAAC;QACR,WAAW,EAAE,CAAC,CAAC,YAAY;QAC3B,YAAY,EAAE,CAAC,CAAC,aAAa;QAC7B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,IAAI;KACtD,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEpE,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC,KAAK,EAAE,YAAY;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,wBAAwB,EAAE;YAC3D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;SACzF,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC1B,OAAO,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA4B,CAAC,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,KAAK,UAAU,kBAAkB;IAC/B,IAAI,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS;QAAE,OAAO,OAAO,CAAC;IAE9D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,uBAAuB,EAAE;QAC1D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;KACpD,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,6CAA6C,GAAG,CAAC,MAAM,KAAK;YAC1D,wDAAwD,CAC3D,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAM1B,CAAC;IACF,OAAO,GAAG;QACR,UAAU,EAAE,CAAC,CAAC,WAAW;QACzB,QAAQ,EAAE,CAAC,CAAC,SAAS;QACrB,uBAAuB,EAAE,CAAC,CAAC,yBAAyB;QACpD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,GAAG,IAAI;KAC5C,CAAC;IACF,4EAA4E;IAC5E,OAAO,CAAC,KAAK,CACX,sCAAsC,CAAC,CAAC,yBAAyB,sBAAsB,CAAC,CAAC,SAAS,IAAI,CACvG,CAAC;IACF,KAAK,cAAc,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,kFAAkF;AAClF,KAAK,UAAU,cAAc,CAAC,WAAmB;IAC/C,IAAI,SAAS;QAAE,OAAO;IACtB,SAAS,GAAG,IAAI,CAAC;IACjB,IAAI,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC;IACpC,IAAI,CAAC;QACH,OAAO,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3D,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO;gBAAE,MAAM;YACpB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,wBAAwB,EAAE;oBAC3D,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;iBACrF,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA4B,CAAC;gBAC7E,IAAI,GAAG,CAAC,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;oBACnC,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO;gBACT,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBACrC,IAAI,GAAG,KAAK,WAAW;oBAAE,UAAU,IAAI,IAAI,CAAC;qBACvC,IAAI,GAAG,KAAK,uBAAuB;oBAAE,SAAS;qBAC9C,CAAC;oBACJ,gEAAgE;oBAChE,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO;gBACT,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,2BAA2B;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,SAAS,GAAG,KAAK,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH;;;;;;GAMG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IAC7C,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC,CAAC,uBAAuB;IACnE,IAAI,CAAC,sCAAsC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC,CAAC,cAAc;IACvF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,YAAY,EAAE;QAAE,OAAO;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,KAAK,GAAG,SAAS,EAAE,CAAC;QACpB,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,MAAM;QAAE,OAAO;IAC3D,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,MAAM,UAAU,EAAE;YAAE,OAAO;QAC/B,KAAK,GAAG,IAAI,CAAC,CAAC,+CAA+C;IAC/D,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,kBAAkB,EAAE,CAAC;IACrC,MAAM,IAAI,iBAAiB,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;AACrE,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,YAAY;IAC1B,OAAO,YAAY,EAAE,IAAI,KAAK,EAAE,WAAW,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,IAAI,YAAY,EAAE;QAAE,OAAO,KAAK,CAAC,CAAC,wCAAwC;IAC1E,IAAI,MAAM,UAAU,EAAE;QAAE,OAAO,IAAI,CAAC;IACpC,KAAK,GAAG,IAAI,CAAC;IACb,MAAM,CAAC,GAAG,MAAM,kBAAkB,EAAE,CAAC;IACrC,MAAM,IAAI,iBAAiB,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;AACrE,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,mBAAmB;IACjC,IAAI,YAAY,EAAE;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,KAAK,GAAG,SAAS,EAAE,CAAC;QACpB,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure helpers for experiment copy/metadata the MCP create flow sends to the
|
|
3
|
+
* Apex API. Kept separate from tools.ts so they're unit-testable without
|
|
4
|
+
* importing the MCP SDK / tool registry.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Resolve a non-empty experiment hypothesis.
|
|
8
|
+
*
|
|
9
|
+
* Regression guard: `POST /api/experiments` rejects an empty `hypothesis`
|
|
10
|
+
* (validate-create requires a non-empty string). The create_experiment tool
|
|
11
|
+
* used to send `hypothesis: ""`, which 400'd every MCP-driven creation. Prefer
|
|
12
|
+
* an explicit statement; otherwise derive a sensible one from the experiment
|
|
13
|
+
* name + primary metric. Never returns an empty string.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveExperimentHypothesis(hypothesisStatement: string | undefined, name: string, primaryMetricLabel: string): string;
|
|
16
|
+
//# sourceMappingURL=experiment-copy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experiment-copy.d.ts","sourceRoot":"","sources":["../src/experiment-copy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,IAAI,EAAE,MAAM,EACZ,kBAAkB,EAAE,MAAM,GACzB,MAAM,CAMR"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure helpers for experiment copy/metadata the MCP create flow sends to the
|
|
3
|
+
* Apex API. Kept separate from tools.ts so they're unit-testable without
|
|
4
|
+
* importing the MCP SDK / tool registry.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Resolve a non-empty experiment hypothesis.
|
|
8
|
+
*
|
|
9
|
+
* Regression guard: `POST /api/experiments` rejects an empty `hypothesis`
|
|
10
|
+
* (validate-create requires a non-empty string). The create_experiment tool
|
|
11
|
+
* used to send `hypothesis: ""`, which 400'd every MCP-driven creation. Prefer
|
|
12
|
+
* an explicit statement; otherwise derive a sensible one from the experiment
|
|
13
|
+
* name + primary metric. Never returns an empty string.
|
|
14
|
+
*/
|
|
15
|
+
export function resolveExperimentHypothesis(hypothesisStatement, name, primaryMetricLabel) {
|
|
16
|
+
const explicit = hypothesisStatement?.trim();
|
|
17
|
+
if (explicit)
|
|
18
|
+
return explicit;
|
|
19
|
+
const metric = (primaryMetricLabel || "the primary metric").trim().toLowerCase();
|
|
20
|
+
const subject = name?.trim() || "this experiment";
|
|
21
|
+
return `Changing "${subject}" from the control to the variant improves ${metric}.`;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=experiment-copy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experiment-copy.js","sourceRoot":"","sources":["../src/experiment-copy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CACzC,mBAAuC,EACvC,IAAY,EACZ,kBAA0B;IAE1B,MAAM,QAAQ,GAAG,mBAAmB,EAAE,IAAI,EAAE,CAAC;IAC7C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,MAAM,GAAG,CAAC,kBAAkB,IAAI,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjF,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,iBAAiB,CAAC;IAClD,OAAO,aAAa,OAAO,8CAA8C,MAAM,GAAG,CAAC;AACrF,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -53,6 +53,12 @@ for (const def of Object.values(resourceDefinitions)) {
|
|
|
53
53
|
// --- Register prompts ---
|
|
54
54
|
server.prompt("new-experiment", "Walk through setting up a new experiment: goal, assumption, expected outcome, and test design", { decision: z.string().optional().describe("What you want to improve") }, (args) => promptDefinitions["new-experiment"].handler(args));
|
|
55
55
|
server.prompt("experiment-review", "Review experiment results, see what you learned, and decide what to do next", { experimentId: z.string().describe("The experiment ID to review") }, (args) => promptDefinitions["experiment-review"].handler(args));
|
|
56
|
+
server.prompt("apex-graduate", "Graduate a winning experiment from inside Cursor — apply the recipe locally and open the PR yourself", { experimentId: z.string().describe("The experiment ID to graduate") }, (args) => promptDefinitions["apex-graduate"].handler(args));
|
|
57
|
+
server.prompt("apex-experiment", "Propose + ship an experiment from Cursor: author the variant, open the PR, arm the merge gate", { idea: z.string().optional().describe("What you want to test") }, (args) => promptDefinitions["apex-experiment"].handler(args));
|
|
58
|
+
server.prompt("apex-link", "Bind an already-open PR to an experiment", { experimentId: z.string().describe("The experiment ID") }, (args) => promptDefinitions["apex-link"].handler(args));
|
|
59
|
+
server.prompt("apex-followup", "Author the next experiment in a series, seeded by the prior result", { experimentId: z.string().describe("The concluded experiment to follow up on") }, (args) => promptDefinitions["apex-followup"].handler(args));
|
|
60
|
+
server.prompt("apex-login", "Sign in to Apex from the terminal (browser + poll)", {}, () => promptDefinitions["apex-login"].handler());
|
|
61
|
+
server.prompt("apex-keys", "Manage Apex API keys from the IDE", { action: z.string().optional().describe("list | create | revoke") }, (args) => promptDefinitions["apex-keys"].handler(args));
|
|
56
62
|
// --- Start ---
|
|
57
63
|
async function main() {
|
|
58
64
|
const transport = new StdioServerTransport();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/prompts.d.ts
CHANGED
|
@@ -35,5 +35,109 @@ export declare const promptDefinitions: {
|
|
|
35
35
|
}[];
|
|
36
36
|
};
|
|
37
37
|
};
|
|
38
|
+
"apex-graduate": {
|
|
39
|
+
name: string;
|
|
40
|
+
description: string;
|
|
41
|
+
arguments: {
|
|
42
|
+
name: string;
|
|
43
|
+
description: string;
|
|
44
|
+
required: boolean;
|
|
45
|
+
}[];
|
|
46
|
+
handler: (args: Record<string, string>) => {
|
|
47
|
+
messages: {
|
|
48
|
+
role: "user";
|
|
49
|
+
content: {
|
|
50
|
+
type: "text";
|
|
51
|
+
text: string;
|
|
52
|
+
};
|
|
53
|
+
}[];
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
"apex-experiment": {
|
|
57
|
+
name: string;
|
|
58
|
+
description: string;
|
|
59
|
+
arguments: {
|
|
60
|
+
name: string;
|
|
61
|
+
description: string;
|
|
62
|
+
required: boolean;
|
|
63
|
+
}[];
|
|
64
|
+
handler: (args: Record<string, string>) => {
|
|
65
|
+
messages: {
|
|
66
|
+
role: "user";
|
|
67
|
+
content: {
|
|
68
|
+
type: "text";
|
|
69
|
+
text: string;
|
|
70
|
+
};
|
|
71
|
+
}[];
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
"apex-link": {
|
|
75
|
+
name: string;
|
|
76
|
+
description: string;
|
|
77
|
+
arguments: {
|
|
78
|
+
name: string;
|
|
79
|
+
description: string;
|
|
80
|
+
required: boolean;
|
|
81
|
+
}[];
|
|
82
|
+
handler: (args: Record<string, string>) => {
|
|
83
|
+
messages: {
|
|
84
|
+
role: "user";
|
|
85
|
+
content: {
|
|
86
|
+
type: "text";
|
|
87
|
+
text: string;
|
|
88
|
+
};
|
|
89
|
+
}[];
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
"apex-followup": {
|
|
93
|
+
name: string;
|
|
94
|
+
description: string;
|
|
95
|
+
arguments: {
|
|
96
|
+
name: string;
|
|
97
|
+
description: string;
|
|
98
|
+
required: boolean;
|
|
99
|
+
}[];
|
|
100
|
+
handler: (args: Record<string, string>) => {
|
|
101
|
+
messages: {
|
|
102
|
+
role: "user";
|
|
103
|
+
content: {
|
|
104
|
+
type: "text";
|
|
105
|
+
text: string;
|
|
106
|
+
};
|
|
107
|
+
}[];
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
"apex-login": {
|
|
111
|
+
name: string;
|
|
112
|
+
description: string;
|
|
113
|
+
arguments: never[];
|
|
114
|
+
handler: () => {
|
|
115
|
+
messages: {
|
|
116
|
+
role: "user";
|
|
117
|
+
content: {
|
|
118
|
+
type: "text";
|
|
119
|
+
text: string;
|
|
120
|
+
};
|
|
121
|
+
}[];
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
"apex-keys": {
|
|
125
|
+
name: string;
|
|
126
|
+
description: string;
|
|
127
|
+
arguments: {
|
|
128
|
+
name: string;
|
|
129
|
+
description: string;
|
|
130
|
+
required: boolean;
|
|
131
|
+
}[];
|
|
132
|
+
handler: (args: Record<string, string>) => {
|
|
133
|
+
messages: {
|
|
134
|
+
role: "user";
|
|
135
|
+
content: {
|
|
136
|
+
type: "text";
|
|
137
|
+
text: string;
|
|
138
|
+
};
|
|
139
|
+
}[];
|
|
140
|
+
};
|
|
141
|
+
};
|
|
38
142
|
};
|
|
39
143
|
//# sourceMappingURL=prompts.d.ts.map
|
package/dist/prompts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;wBAYV,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;wBAYV,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;wBAgLtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;wBAiDtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;wBAkCtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;wBA0CtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;wBAyBtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAgDtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;CAkBzC,CAAC"}
|
package/dist/prompts.js
CHANGED
|
@@ -48,6 +48,9 @@ For MCP workflows, always use SDK mode unless the user explicitly requests snipp
|
|
|
48
48
|
|
|
49
49
|
## Flow — one AskQuestion at a time
|
|
50
50
|
|
|
51
|
+
### Step 0: Ground in brand truth (MANDATORY before writing any copy)
|
|
52
|
+
Read \`.apex/brand-truth.md\`, \`.apex/brand-voice.md\`, and \`.apex/lexicon.md\` in the repo. Every factual claim in your variant copy MUST trace to a specific line in \`.apex/brand-truth.md\` — cite that line when you propose the copy. If a claim isn't backed there, ask the user instead of inventing it. If \`.apex/brand-truth.md\` is missing, tell the user to scaffold the guardrails (Apex → Set up Apex → Intelligence → "Set up experiment guardrails") and fill in the facts first.
|
|
53
|
+
|
|
51
54
|
### Step 1: Understand the Goal
|
|
52
55
|
${decision ? `I want to improve: "${decision}". ` : "Use AskQuestion to ask what the user wants to improve. "}Call \`plan_experiment\` with the goal. Then use AskQuestion to present beliefs:
|
|
53
56
|
|
|
@@ -96,12 +99,12 @@ AskQuestion:
|
|
|
96
99
|
options: [2-3 specific elements from the page]
|
|
97
100
|
\`\`\`
|
|
98
101
|
|
|
99
|
-
Then — variant text:
|
|
102
|
+
Then — variant text (every suggestion must be grounded in \`.apex/brand-truth.md\` per Step 0 — never propose a claim the brand-truth file doesn't back):
|
|
100
103
|
\`\`\`
|
|
101
104
|
AskQuestion:
|
|
102
105
|
title: "Apex — Variant Content"
|
|
103
106
|
prompt: "What should the variant say? (Current: [original text])"
|
|
104
|
-
options: [2-3 suggestions based on the belief]
|
|
107
|
+
options: [2-3 suggestions based on the belief, each grounded in brand-truth.md]
|
|
105
108
|
\`\`\`
|
|
106
109
|
|
|
107
110
|
Then — traffic allocation:
|
|
@@ -129,11 +132,11 @@ AskQuestion:
|
|
|
129
132
|
If confirmed, call \`create_experiment\` with preview=false.
|
|
130
133
|
|
|
131
134
|
### Step 6: Implement (SDK mode)
|
|
132
|
-
The create_experiment response contains an \`sdk\` recipe.
|
|
133
|
-
1.
|
|
134
|
-
2.
|
|
135
|
-
3. Wrap the target content in a variant conditional
|
|
136
|
-
4. Show the diff, then:
|
|
135
|
+
The create_experiment response contains an \`sdk\` recipe. Follow ITS import + steps (web uses \`useApexVariant\` from \`@apex-inc/react\`; mobile uses \`Apex.getVariant()\` from \`@apex-inc/capacitor-plugin\`). In short:
|
|
136
|
+
1. Install + import the resolver named in the recipe's \`sdk\` block
|
|
137
|
+
2. Resolve the variant for \`<experimentId>\` (fires \`experiment_exposure\` automatically)
|
|
138
|
+
3. Wrap the target content in a variant conditional; fall back to control on null/error
|
|
139
|
+
4. For visual/style changes, verify the arms actually differ (screenshot both). Show the diff, then:
|
|
137
140
|
|
|
138
141
|
\`\`\`
|
|
139
142
|
AskQuestion:
|
|
@@ -216,5 +219,176 @@ If promoting a winner, the \`promote_winner\` response includes a code cleanup r
|
|
|
216
219
|
};
|
|
217
220
|
},
|
|
218
221
|
},
|
|
222
|
+
"apex-graduate": {
|
|
223
|
+
name: "apex-graduate",
|
|
224
|
+
description: "Graduate a winning experiment from inside Cursor — apply the graduation recipe locally and open the PR yourself (no Apex write access needed).",
|
|
225
|
+
arguments: [
|
|
226
|
+
{
|
|
227
|
+
name: "experimentId",
|
|
228
|
+
description: "The experiment ID to graduate (e.g. exp_482)",
|
|
229
|
+
required: true,
|
|
230
|
+
},
|
|
231
|
+
],
|
|
232
|
+
handler: (args) => {
|
|
233
|
+
const experimentId = args.experimentId ?? "<experimentId>";
|
|
234
|
+
return {
|
|
235
|
+
messages: [
|
|
236
|
+
{
|
|
237
|
+
role: "user",
|
|
238
|
+
content: {
|
|
239
|
+
type: "text",
|
|
240
|
+
text: `Graduate experiment ${experimentId} using **Apex** — the in-Cursor path (you apply the change and open the PR with your own git auth; Apex never needs write access to your repo).
|
|
241
|
+
|
|
242
|
+
## Steps
|
|
243
|
+
|
|
244
|
+
1. Call \`get_results\` for ${experimentId} to confirm the winner and the lift.
|
|
245
|
+
2. Fetch the graduation recipe: GET /api/experiments/${experimentId}/graduation-recipe (via the Apex API / your connected MCP). It lists the winning variant's changes.
|
|
246
|
+
3. In the codebase, find the \`useApexVariant("${experimentId}")\` call site. Inline the winning branch, remove the control branch, and delete the hook usage for this experiment. This is a normal feature-flag cleanup.
|
|
247
|
+
4. Show me the diff. Use a Conventional Commit message: \`refactor(apex): inline winning variant from ${experimentId}\`. Add a \`Co-Authored-By: Apex <apex@apex.inc>\` trailer (unless the workspace's "Apex visibility in GitHub" is set to off — check with \`get_automation_controls\`).
|
|
248
|
+
5. After I review, commit, push, and open the PR through my normal flow.
|
|
249
|
+
6. Call \`link_experiment\` to bind the new PR to ${experimentId} so Apex tracks the graduation.
|
|
250
|
+
|
|
251
|
+
Start at step 1.`,
|
|
252
|
+
},
|
|
253
|
+
},
|
|
254
|
+
],
|
|
255
|
+
};
|
|
256
|
+
},
|
|
257
|
+
},
|
|
258
|
+
"apex-experiment": {
|
|
259
|
+
name: "apex-experiment",
|
|
260
|
+
description: "Propose and ship an experiment from inside Cursor: author the variant, open the PR, and arm the merge gate so merging starts the test.",
|
|
261
|
+
arguments: [
|
|
262
|
+
{ name: "idea", description: "What you want to test (optional)", required: false },
|
|
263
|
+
],
|
|
264
|
+
handler: (args) => {
|
|
265
|
+
const idea = args.idea ? `The user wants to test: "${args.idea}".\n\n` : "";
|
|
266
|
+
return {
|
|
267
|
+
messages: [
|
|
268
|
+
{
|
|
269
|
+
role: "user",
|
|
270
|
+
content: {
|
|
271
|
+
type: "text",
|
|
272
|
+
text: `${idea}Run the **Apex** in-Cursor experiment flow (Graduation Pipeline).
|
|
273
|
+
|
|
274
|
+
## 0. Readiness
|
|
275
|
+
Call \`check_workspace_readiness\` with the current repo ("owner/name"). If not authed → run /apex-login (or \`start_apex_login\`). If the GitHub App isn't installed → offer \`start_integration_install({ type: "github" })\`. If \`@apex-inc/sdk\` isn't in package.json → offer to install it. If the user skips a gate, continue but warn the merge gate won't arm.
|
|
276
|
+
|
|
277
|
+
## 1. Plan
|
|
278
|
+
Call \`plan_experiment\` with the goal. Confirm the design spec with the user via AskQuestion: primary metric, minimum sample size (from MDE + baseline — must exceed 10), max duration (days), stopping rule. All four are required to arm the gate.
|
|
279
|
+
|
|
280
|
+
## 2. Create
|
|
281
|
+
Call \`create_experiment\` (returns exp_id).
|
|
282
|
+
|
|
283
|
+
## 3. Author the variant — in the user's IDE
|
|
284
|
+
Find the target component. Wrap it with \`useApexVariant("exp_id")\` and add the variant branch. Show the diff. The user reviews + tweaks.
|
|
285
|
+
|
|
286
|
+
## 4. Commit + PR (the user's own git auth)
|
|
287
|
+
Commit with a Conventional Commit message including the exp_id, e.g. \`feat(apex): <change> for exp_id\`. Add a \`Co-Authored-By: Apex <apex@apex.inc>\` trailer unless the workspace visibility is off (\`get_automation_controls\`). Push, open the PR. The \`apex/exp_id\` reference auto-links, but also call \`link_experiment\` to be sure.
|
|
288
|
+
|
|
289
|
+
## 5. Arm the merge gate
|
|
290
|
+
Call \`gate_experiment_on_merge\` with the link id + the frozen design spec. Merging the PR will start the experiment automatically.
|
|
291
|
+
|
|
292
|
+
Start at step 0.`,
|
|
293
|
+
},
|
|
294
|
+
},
|
|
295
|
+
],
|
|
296
|
+
};
|
|
297
|
+
},
|
|
298
|
+
},
|
|
299
|
+
"apex-link": {
|
|
300
|
+
name: "apex-link",
|
|
301
|
+
description: "Bind an already-open PR to an experiment (when you didn't go through /apex-experiment).",
|
|
302
|
+
arguments: [
|
|
303
|
+
{ name: "experimentId", description: "The experiment ID", required: true },
|
|
304
|
+
],
|
|
305
|
+
handler: (args) => {
|
|
306
|
+
return {
|
|
307
|
+
messages: [
|
|
308
|
+
{
|
|
309
|
+
role: "user",
|
|
310
|
+
content: {
|
|
311
|
+
type: "text",
|
|
312
|
+
text: `Link an existing PR to Apex experiment ${args.experimentId ?? "<experimentId>"}.
|
|
313
|
+
|
|
314
|
+
1. Ask the user for the PR (owner/repo + number), or detect it from the current branch.
|
|
315
|
+
2. Call \`link_experiment\` with system "github", kind "pr", the repo, and the PR number.
|
|
316
|
+
3. If they want merging the PR to start the test, call \`gate_experiment_on_merge\` (collect the design spec first).`,
|
|
317
|
+
},
|
|
318
|
+
},
|
|
319
|
+
],
|
|
320
|
+
};
|
|
321
|
+
},
|
|
322
|
+
},
|
|
323
|
+
"apex-followup": {
|
|
324
|
+
name: "apex-followup",
|
|
325
|
+
description: "Author the next experiment in a series, seeded by the prior result and the belief graph.",
|
|
326
|
+
arguments: [
|
|
327
|
+
{ name: "experimentId", description: "The concluded experiment to follow up on", required: true },
|
|
328
|
+
],
|
|
329
|
+
handler: (args) => {
|
|
330
|
+
return {
|
|
331
|
+
messages: [
|
|
332
|
+
{
|
|
333
|
+
role: "user",
|
|
334
|
+
content: {
|
|
335
|
+
type: "text",
|
|
336
|
+
text: `Design a follow-up to Apex experiment ${args.experimentId ?? "<experimentId>"}.
|
|
337
|
+
|
|
338
|
+
1. Call \`get_results\` for it, and \`suggest_experiment\` for next ideas from the belief graph.
|
|
339
|
+
2. Present the suggestions via AskQuestion; let the user pick or propose their own.
|
|
340
|
+
3. Then run the same flow as /apex-experiment (plan → create → author → PR → gate) for the chosen follow-up. This is manual — nothing dispatches automatically.`,
|
|
341
|
+
},
|
|
342
|
+
},
|
|
343
|
+
],
|
|
344
|
+
};
|
|
345
|
+
},
|
|
346
|
+
},
|
|
347
|
+
"apex-login": {
|
|
348
|
+
name: "apex-login",
|
|
349
|
+
description: "Sign in to Apex from the terminal (browser + poll), then save the API key to your Cursor config.",
|
|
350
|
+
arguments: [],
|
|
351
|
+
handler: () => {
|
|
352
|
+
return {
|
|
353
|
+
messages: [
|
|
354
|
+
{
|
|
355
|
+
role: "user",
|
|
356
|
+
content: {
|
|
357
|
+
type: "text",
|
|
358
|
+
text: `Sign me in to **Apex** from Cursor.
|
|
359
|
+
|
|
360
|
+
1. Call \`start_apex_login\`. Open the returned URL in my browser.
|
|
361
|
+
2. It polls until I finish signing in and returns an API key.
|
|
362
|
+
3. Ask my consent, then save the key to my Cursor MCP config as \`APEX_API_KEY\` (or print it once for me to store in an env var). Confirm when done.`,
|
|
363
|
+
},
|
|
364
|
+
},
|
|
365
|
+
],
|
|
366
|
+
};
|
|
367
|
+
},
|
|
368
|
+
},
|
|
369
|
+
"apex-keys": {
|
|
370
|
+
name: "apex-keys",
|
|
371
|
+
description: "Manage Apex API keys from the IDE: list, create, or revoke.",
|
|
372
|
+
arguments: [
|
|
373
|
+
{ name: "action", description: "list | create | revoke", required: false },
|
|
374
|
+
],
|
|
375
|
+
handler: (args) => {
|
|
376
|
+
return {
|
|
377
|
+
messages: [
|
|
378
|
+
{
|
|
379
|
+
role: "user",
|
|
380
|
+
content: {
|
|
381
|
+
type: "text",
|
|
382
|
+
text: `Manage my Apex API keys (action: ${args.action ?? "ask me"}).
|
|
383
|
+
|
|
384
|
+
- list → \`list_api_keys\`
|
|
385
|
+
- create → \`create_api_key\` (ask for a name; show the raw key once and remind me to store it securely)
|
|
386
|
+
- revoke → \`list_api_keys\` first so I can pick which, then \`revoke_api_key\``,
|
|
387
|
+
},
|
|
388
|
+
},
|
|
389
|
+
],
|
|
390
|
+
};
|
|
391
|
+
},
|
|
392
|
+
},
|
|
219
393
|
};
|
|
220
394
|
//# sourceMappingURL=prompts.js.map
|
package/dist/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,gBAAgB,EAAE;QAChB,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,sFAAsF;QACxF,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,gEAAgE;gBAC7E,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,OAAO,EAAE,CAAC,IAA4B,EAAE,EAAE;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,MAAM,KAAK,GAAG,QAAQ;gBACpB,CAAC,CAAC,+BAA+B,QAAQ,OAAO;gBAChD,CAAC,CAAC,EAAE,CAAC;YAEP,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAe;wBACrB,OAAO,EAAE;4BACP,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,GAAG,KAAK
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
|