@apex-inc/mcp-server 0.33.0 → 0.35.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 (69) hide show
  1. package/README.md +19 -18
  2. package/dist/api-client.d.ts +5 -0
  3. package/dist/api-client.d.ts.map +1 -1
  4. package/dist/api-client.js +40 -24
  5. package/dist/api-client.js.map +1 -1
  6. package/dist/index.js +7 -4
  7. package/dist/index.js.map +1 -1
  8. package/dist/prompts.d.ts.map +1 -1
  9. package/dist/prompts.js +5 -7
  10. package/dist/prompts.js.map +1 -1
  11. package/dist/setup-catchup-tools.d.ts +98 -0
  12. package/dist/setup-catchup-tools.d.ts.map +1 -1
  13. package/dist/setup-catchup-tools.js +84 -3
  14. package/dist/setup-catchup-tools.js.map +1 -1
  15. package/dist/smoke-tools.d.ts +56 -0
  16. package/dist/smoke-tools.d.ts.map +1 -0
  17. package/dist/smoke-tools.js +262 -0
  18. package/dist/smoke-tools.js.map +1 -0
  19. package/dist/tool-catalog.d.ts +10 -0
  20. package/dist/tool-catalog.d.ts.map +1 -0
  21. package/dist/tool-catalog.js +36 -0
  22. package/dist/tool-catalog.js.map +1 -0
  23. package/dist/tool-groups.d.ts +5 -0
  24. package/dist/tool-groups.d.ts.map +1 -0
  25. package/dist/tool-groups.js +213 -0
  26. package/dist/tool-groups.js.map +1 -0
  27. package/dist/tool-shared.d.ts +300 -0
  28. package/dist/tool-shared.d.ts.map +1 -0
  29. package/dist/tool-shared.js +319 -0
  30. package/dist/tool-shared.js.map +1 -0
  31. package/dist/tools/accounts.d.ts +124 -0
  32. package/dist/tools/accounts.d.ts.map +1 -0
  33. package/dist/tools/accounts.js +99 -0
  34. package/dist/tools/accounts.js.map +1 -0
  35. package/dist/tools/adoption.d.ts +499 -0
  36. package/dist/tools/adoption.d.ts.map +1 -0
  37. package/dist/tools/adoption.js +447 -0
  38. package/dist/tools/adoption.js.map +1 -0
  39. package/dist/tools/context.d.ts +216 -0
  40. package/dist/tools/context.d.ts.map +1 -0
  41. package/dist/tools/context.js +328 -0
  42. package/dist/tools/context.js.map +1 -0
  43. package/dist/tools/experiments.d.ts +1250 -0
  44. package/dist/tools/experiments.d.ts.map +1 -0
  45. package/dist/tools/experiments.js +2563 -0
  46. package/dist/tools/experiments.js.map +1 -0
  47. package/dist/tools/letters.d.ts +1107 -0
  48. package/dist/tools/letters.d.ts.map +1 -0
  49. package/dist/tools/letters.js +1324 -0
  50. package/dist/tools/letters.js.map +1 -0
  51. package/dist/tools/measurement.d.ts +886 -0
  52. package/dist/tools/measurement.d.ts.map +1 -0
  53. package/dist/tools/measurement.js +1353 -0
  54. package/dist/tools/measurement.js.map +1 -0
  55. package/dist/tools/partners.d.ts +364 -0
  56. package/dist/tools/partners.d.ts.map +1 -0
  57. package/dist/tools/partners.js +199 -0
  58. package/dist/tools/partners.js.map +1 -0
  59. package/dist/tools.d.ts +3445 -2825
  60. package/dist/tools.d.ts.map +1 -1
  61. package/dist/tools.js +26 -6112
  62. package/dist/tools.js.map +1 -1
  63. package/package.json +3 -2
  64. package/skills/apex-communications/SKILL.md +5 -5
  65. package/skills/apex-experimentation/SKILL.md +43 -11
  66. package/skills/apex-growth-intelligence/SKILL.md +23 -2
  67. package/skills/apex-growth-tracking/SKILL.md +10 -1
  68. package/skills/apex-integration-cookbook/SKILL.md +24 -1
  69. package/skills/apex-journeys/SKILL.md +19 -0
@@ -0,0 +1,213 @@
1
+ export const TOOL_GROUPS = [
2
+ "Experiments",
3
+ "Letters",
4
+ "Adoption",
5
+ "Partners",
6
+ "Measurement",
7
+ "Accounts",
8
+ "Context",
9
+ ];
10
+ const GROUP_BY_NAME = {
11
+ plan_experiment: "Experiments",
12
+ start_reasoning: "Experiments",
13
+ create_belief: "Experiments",
14
+ create_experiment: "Experiments",
15
+ attach_experiment_asset: "Experiments",
16
+ recapture_experiment_screenshots: "Experiments",
17
+ verify_experiment_wiring: "Experiments",
18
+ activate_experiment: "Experiments",
19
+ pause_experiment: "Experiments",
20
+ track_deployment: "Experiments",
21
+ check_deployment: "Experiments",
22
+ archive_experiment: "Experiments",
23
+ list_experiments: "Experiments",
24
+ get_results: "Experiments",
25
+ list_beliefs: "Experiments",
26
+ list_belief_suggestions: "Experiments",
27
+ accept_belief_suggestion: "Experiments",
28
+ update_experiment: "Experiments",
29
+ fork_experiment: "Experiments",
30
+ check_experiment_conflicts: "Experiments",
31
+ verify_ad_exclusion: "Experiments",
32
+ attach_ad_exclusion: "Experiments",
33
+ detach_ad_exclusion: "Experiments",
34
+ check_live_tests: "Experiments",
35
+ set_experiment_mutex: "Experiments",
36
+ suggest_experiment: "Experiments",
37
+ promote_winner: "Experiments",
38
+ get_experiment_results: "Experiments",
39
+ promote_experiment_winner: "Experiments",
40
+ graduate_experiment: "Experiments",
41
+ record_outcome: "Experiments",
42
+ predict_impact: "Experiments",
43
+ evaluate_feature: "Experiments",
44
+ link_experiment: "Experiments",
45
+ unlink_experiment: "Experiments",
46
+ gate_experiment_on_merge: "Experiments",
47
+ open_graduation_pr: "Experiments",
48
+ open_revert_pr: "Experiments",
49
+ get_automation_controls: "Experiments",
50
+ update_automation_controls: "Experiments",
51
+ list_engineering_links: "Experiments",
52
+ recommend_communications: "Letters",
53
+ generate_communications: "Letters",
54
+ list_communications: "Letters",
55
+ list_communication_themes: "Letters",
56
+ create_communication_theme: "Letters",
57
+ update_communication_theme: "Letters",
58
+ apply_communication_theme: "Letters",
59
+ edit_communication: "Letters",
60
+ publish_communication: "Letters",
61
+ preview_communication: "Letters",
62
+ add_communication_variant: "Letters",
63
+ send_test_communication: "Letters",
64
+ trigger_communication: "Letters",
65
+ create_comm_experiment: "Letters",
66
+ create_communication: "Letters",
67
+ create_journey: "Letters",
68
+ create_journey_from_template: "Letters",
69
+ list_trigger_contracts: "Letters",
70
+ set_journey_trigger: "Letters",
71
+ add_journey_step: "Letters",
72
+ set_journey_send: "Letters",
73
+ add_journey_branch: "Letters",
74
+ publish_journey: "Letters",
75
+ list_journeys: "Letters",
76
+ get_journey: "Letters",
77
+ list_journey_exits: "Letters",
78
+ add_journey_exit: "Letters",
79
+ remove_journey_exit: "Letters",
80
+ get_contact_cart: "Letters",
81
+ audit_journey_exits: "Letters",
82
+ wire_audience_seed: "Letters",
83
+ wire_audience: "Letters",
84
+ audit_audience_readiness: "Letters",
85
+ list_segments: "Letters",
86
+ get_segment: "Letters",
87
+ create_segment: "Letters",
88
+ list_adoption_milestones: "Adoption",
89
+ get_adoption_milestone: "Adoption",
90
+ create_adoption_milestone: "Adoption",
91
+ update_adoption_milestone: "Adoption",
92
+ delete_adoption_milestone: "Adoption",
93
+ compose_adoption_milestone: "Adoption",
94
+ attach_adoption_milestone_still: "Adoption",
95
+ recapture_adoption_milestone_stills: "Adoption",
96
+ list_adoption_milestone_stills: "Adoption",
97
+ reorder_adoption_milestones: "Adoption",
98
+ get_adoption_metrics: "Adoption",
99
+ get_adoption_account_progress: "Adoption",
100
+ get_adoption_user_progress: "Adoption",
101
+ list_adoption_features: "Adoption",
102
+ create_adoption_feature: "Adoption",
103
+ list_partner_programs: "Partners",
104
+ create_partner_program: "Partners",
105
+ update_partner_program: "Partners",
106
+ list_partner_program_members: "Partners",
107
+ apply_program_default_to_members: "Partners",
108
+ update_membership_rate: "Partners",
109
+ reset_membership_rate: "Partners",
110
+ invite_partner: "Partners",
111
+ list_pending_payouts: "Partners",
112
+ approve_payouts: "Partners",
113
+ reject_payouts: "Partners",
114
+ get_effective_fees: "Partners",
115
+ vouch_for_partner: "Partners",
116
+ list_events: "Measurement",
117
+ list_metrics: "Measurement",
118
+ get_growth_reality: "Measurement",
119
+ get_channel_economics: "Measurement",
120
+ get_saas_recurring_revenue: "Measurement",
121
+ get_saas_expansion: "Measurement",
122
+ get_ecommerce_product_sales: "Measurement",
123
+ list_product_costs: "Measurement",
124
+ set_product_cost: "Measurement",
125
+ upload_product_catalog: "Measurement",
126
+ get_ecommerce_returns: "Measurement",
127
+ get_marketplace_metrics: "Measurement",
128
+ track_event: "Measurement",
129
+ send_server_event: "Measurement",
130
+ identify_user: "Measurement",
131
+ get_schema: "Measurement",
132
+ map_attribute: "Measurement",
133
+ define_event: "Measurement",
134
+ log_prediction: "Measurement",
135
+ list_data_sources: "Measurement",
136
+ create_data_source: "Measurement",
137
+ get_data_source_health: "Measurement",
138
+ get_analytics_sources: "Measurement",
139
+ get_analytics_hostnames: "Measurement",
140
+ get_event_spec: "Measurement",
141
+ get_event_taxonomy: "Measurement",
142
+ get_wiring_status: "Measurement",
143
+ propose_wiring_plan: "Measurement",
144
+ apex_test_event: "Measurement",
145
+ apex_recent_events: "Measurement",
146
+ apex_health: "Measurement",
147
+ apex_spec_validate: "Measurement",
148
+ list_conversions: "Measurement",
149
+ create_conversion: "Measurement",
150
+ set_primary_conversion: "Measurement",
151
+ create_target: "Measurement",
152
+ list_ad_measurement: "Measurement",
153
+ set_ad_measurement_events: "Measurement",
154
+ list_apex_links: "Measurement",
155
+ create_apex_link: "Measurement",
156
+ get_skan_schema: "Measurement",
157
+ set_skan_schema: "Measurement",
158
+ get_conversion_source_of_truth: "Measurement",
159
+ set_conversion_source_of_truth: "Measurement",
160
+ list_accounts: "Accounts",
161
+ get_account: "Accounts",
162
+ get_account_people: "Accounts",
163
+ list_sub_accounts: "Accounts",
164
+ get_contact_groups: "Accounts",
165
+ update_account_pipeline: "Accounts",
166
+ list_workspaces: "Context",
167
+ list_projects: "Context",
168
+ switch_workspace: "Context",
169
+ switch_project: "Context",
170
+ list_orgs: "Context",
171
+ switch_org: "Context",
172
+ get_setup_state: "Context",
173
+ list_workspace_environments: "Context",
174
+ set_workspace_environments: "Context",
175
+ check_workspace_readiness: "Context",
176
+ start_apex_login: "Context",
177
+ start_integration_install: "Context",
178
+ create_api_key: "Context",
179
+ list_api_keys: "Context",
180
+ revoke_api_key: "Context",
181
+ update_organization: "Context",
182
+ update_workspace: "Context",
183
+ set_consent_posture: "Context",
184
+ set_app_surface_paths: "Context",
185
+ get_scoring_model: "Context",
186
+ set_scoring_weights: "Context",
187
+ invite_teammate: "Context",
188
+ set_engagement_analytics: "Context",
189
+ set_app_platforms: "Context",
190
+ set_attribution_model: "Context",
191
+ start_sender_domain: "Context",
192
+ get_sender_domain: "Context",
193
+ set_push_credentials: "Context",
194
+ set_protect_auto_pause: "Context",
195
+ claim_links_subdomain: "Context",
196
+ list_webhook_destinations: "Context",
197
+ add_webhook_destination: "Context",
198
+ get_messaging_guardrails: "Context",
199
+ set_messaging_guardrails: "Context",
200
+ };
201
+ export function toolGroup(name) {
202
+ return GROUP_BY_NAME[name];
203
+ }
204
+ export function countToolsByGroup(names) {
205
+ const counts = Object.fromEntries(TOOL_GROUPS.map((g) => [g, 0]));
206
+ for (const name of names) {
207
+ const group = toolGroup(name);
208
+ if (group)
209
+ counts[group] += 1;
210
+ }
211
+ return counts;
212
+ }
213
+ //# sourceMappingURL=tool-groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-groups.js","sourceRoot":"","sources":["../src/tool-groups.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,300 @@
1
+ import { z } from "zod";
2
+ export interface Belief {
3
+ id: string;
4
+ statement: string;
5
+ confidence: number;
6
+ evidenceSupporting: unknown[];
7
+ evidenceContradicting: unknown[];
8
+ parentBeliefId?: string;
9
+ createdAt: string;
10
+ updatedAt: string;
11
+ validationState?: "unvalidated" | "validated";
12
+ generatedFromExperimentId?: string;
13
+ }
14
+ export interface MetricCatalogEntry {
15
+ key: string;
16
+ label: string;
17
+ type: "rate" | "count" | "revenue" | "duration";
18
+ outcomeTier: "outcome" | "proximal" | "internal";
19
+ measurable: boolean;
20
+ wired: "detected" | "waiting";
21
+ trailingVolume?: number;
22
+ }
23
+ export interface Hypothesis {
24
+ id: string;
25
+ beliefId: string;
26
+ statement: string;
27
+ predictedEffect: string;
28
+ confidence: number;
29
+ status: string;
30
+ }
31
+ export interface Prediction {
32
+ id: string;
33
+ hypothesisId: string;
34
+ beliefId: string;
35
+ metric: string;
36
+ expectedChange: number;
37
+ direction: "increase" | "decrease" | "no_change";
38
+ expectedRange: {
39
+ low: number;
40
+ high: number;
41
+ };
42
+ confidence: number;
43
+ timeHorizon: number;
44
+ evaluationWindow: number;
45
+ actualChange?: number;
46
+ accuracyScore?: number;
47
+ }
48
+ export interface DOMChange {
49
+ selector: string;
50
+ type: string;
51
+ value: string;
52
+ originalValue?: string;
53
+ }
54
+ export interface UnifiedVariant {
55
+ id: string;
56
+ key: string;
57
+ label: string;
58
+ surface: string;
59
+ createdAt: string;
60
+ description?: string;
61
+ mode?: "snippet" | "redirect" | "server_side" | "manual" | "sdk";
62
+ changes?: DOMChange[];
63
+ redirectUrl?: string;
64
+ screenshotUrl?: string;
65
+ }
66
+ export interface UnifiedExperiment {
67
+ id: string;
68
+ workspaceKey: string;
69
+ name: string;
70
+ surface: string;
71
+ status: string;
72
+ createdAt: string;
73
+ startedAt?: string;
74
+ completedAt?: string;
75
+ variants: UnifiedVariant[];
76
+ primaryMetric: {
77
+ key: string;
78
+ label: string;
79
+ type: string;
80
+ unit: string;
81
+ direction: string;
82
+ source: {
83
+ kind: string;
84
+ eventType?: string;
85
+ property?: string;
86
+ };
87
+ };
88
+ allocation: {
89
+ strategy: string;
90
+ weights?: Record<string, number>;
91
+ thompsonPrior?: unknown;
92
+ };
93
+ hypothesis: string;
94
+ prediction: {
95
+ direction: string;
96
+ magnitude: string;
97
+ };
98
+ confidence: number;
99
+ beliefId?: string;
100
+ hypothesisId?: string;
101
+ predictionId?: string;
102
+ winner?: string;
103
+ winnerConfidence?: number;
104
+ results?: {
105
+ perVariant: Record<string, {
106
+ assigned: number;
107
+ participated: number;
108
+ converted: number;
109
+ conversionRate?: number;
110
+ }>;
111
+ winner?: string;
112
+ winnerConfidence?: number;
113
+ };
114
+ targetUrl?: string;
115
+ targetAnchor?: string;
116
+ createdFrom?: "dashboard" | "api" | "sdk" | "mcp" | "cursor";
117
+ previewUrl?: string;
118
+ deploymentCommit?: string;
119
+ deploymentStatus?: "pending" | "building" | "deployed" | "failed";
120
+ deployedAt?: string;
121
+ deployedBranch?: string;
122
+ graduated?: boolean;
123
+ promoted?: boolean;
124
+ }
125
+ /**
126
+ * Wiring verdict from `GET /api/experiments/{id}/wiring`.
127
+ *
128
+ * "Wiring" = are `experiment_exposure` events actually arriving for BOTH arms?
129
+ * An experiment can be configured perfectly but collect zero data if the
130
+ * variant-serving code (useApexVariant / Apex.getVariant) isn't deployed or
131
+ * running yet. This is the pre-launch safety check.
132
+ */
133
+ export interface WiringResult {
134
+ experimentId: string;
135
+ surface: string;
136
+ status: string;
137
+ perArm: Array<{
138
+ variantKey: string;
139
+ label: string;
140
+ exposures: number;
141
+ lastSeenAt?: string;
142
+ }>;
143
+ armsLive: number;
144
+ totalArms: number;
145
+ bothArmsLive: boolean;
146
+ totalExposures: number;
147
+ /** Pageviews on the experiment's target page in the last 7 days. */
148
+ targetPageviews7d?: number;
149
+ lastTargetVisitAt?: string;
150
+ /** All web variants are SDK-hook wired — exposures need deployed code. */
151
+ sdkMode?: boolean;
152
+ /** All web variants are snippet-applied — exposures only exist once running,
153
+ * so activation must not require pre-exposures (applied on activation). */
154
+ snippetMode?: boolean;
155
+ verdict: "wired" | "partial" | "no_exposures";
156
+ }
157
+ export interface GraduationRecipe {
158
+ experimentId: string;
159
+ experimentName: string;
160
+ mode: string;
161
+ targetUrl: string;
162
+ winner: string;
163
+ changes: DOMChange[];
164
+ graduatedAt: string | null;
165
+ }
166
+ export interface LedgerEntry {
167
+ id: string;
168
+ beliefId: string;
169
+ decision: string;
170
+ reasoning: string;
171
+ beliefUpdateFrom: number;
172
+ beliefUpdateTo: number;
173
+ createdAt: string;
174
+ }
175
+ export declare const APEX = "Apex";
176
+ /**
177
+ * MOBX-006 — stable synthetic visitor id for agent-fired events.
178
+ *
179
+ * `/api/events` only counts an event toward wiring detection when it
180
+ * carries a top-level `visitorId`. A per-process random suffix keeps
181
+ * the id stable for the MCP server's lifetime (so repeated track_event
182
+ * calls roll up to one synthetic "visitor") while distinguishing
183
+ * separate agent sessions from each other.
184
+ */
185
+ export declare const MCP_AGENT_VISITOR_ID: string;
186
+ /** Control traffic % derived from the unified allocation weights (default 50). */
187
+ export declare function controlPctOf(exp: UnifiedExperiment): number;
188
+ /**
189
+ * Days running, derived locally from startedAt/createdAt → completedAt/now.
190
+ * The legacy web shape carried a server-computed `daysRunning`; the unified
191
+ * shape does not, so we compute it from the lifecycle timestamps.
192
+ */
193
+ export declare function daysRunningOf(exp: UnifiedExperiment): number;
194
+ /** Find a unified variant by its key (e.g. "control", "variant_a"). */
195
+ export declare function findVariant(exp: UnifiedExperiment, key: string): UnifiedVariant | undefined;
196
+ /** Render a per-arm exposure line for wiring summaries. */
197
+ export declare function formatArmLine(arm: WiringResult["perArm"][number]): string;
198
+ /** "add_to_cart" → "Add To Cart" (for primaryMetric labels). */
199
+ export declare function titleCaseEvent(event: string): string;
200
+ export declare function activeWorkspaceSiteUrl(): string | null;
201
+ export declare function assertTargetUrlForActiveWorkspace(targetUrl: string): Promise<{
202
+ ok: true;
203
+ } | {
204
+ ok: false;
205
+ message: string;
206
+ }>;
207
+ /**
208
+ * Query string for the pack report windows: relative (`days` / `months`)
209
+ * or explicit `start` + `end` (YYYY-MM-DD, both required together —
210
+ * explicit bounds win server-side).
211
+ */
212
+ export declare function windowQuery(opts: {
213
+ days?: number;
214
+ months?: number;
215
+ start?: string;
216
+ end?: string;
217
+ }): string;
218
+ export declare function errMsg(err: unknown): string;
219
+ /** Build a dashboard deep link on the same host the MCP talks to (app origin). */
220
+ export declare function appUrl(path: string): string;
221
+ export declare function journeyLink(id: string): string;
222
+ /**
223
+ * Detect a MOBILE experiment surface from repo signals (the MCP runs in the
224
+ * merchant's repo). Walks up a few dirs looking for capacitor.config.* or a
225
+ * Capacitor/RN dependency. Returns null when there's no mobile signal (web is
226
+ * the safe default — a website repo carries no special marker). QA 2026-06-18.
227
+ */
228
+ export declare function detectSurfaceFromRepo(): "mobile" | null;
229
+ /**
230
+ * Resolve the experiment surface. Explicit wins; otherwise detect from repo
231
+ * signals, then the workspace's registered data sources. Returns an `ambiguous`
232
+ * error only when both web and mobile data sources exist and there's no repo
233
+ * signal — in that case the agent must choose. (QA: stop defaulting to web.)
234
+ */
235
+ export declare function resolveCreateSurface(explicit?: "web" | "mobile"): Promise<{
236
+ surface: "web" | "mobile";
237
+ } | {
238
+ ambiguous: true;
239
+ }>;
240
+ /**
241
+ * Tenant echo (council CISO): never report a mutation as successful for a record
242
+ * outside the active workspace (guards a leaked/cross-workspace key).
243
+ */
244
+ export declare function tenantOk(workspaceKey?: string): boolean;
245
+ export declare function tenantMismatch(): {
246
+ content: {
247
+ type: "text";
248
+ text: string;
249
+ }[];
250
+ isError: boolean;
251
+ };
252
+ /**
253
+ * Shared schema + handler for `switch_workspace` (canonical) and its
254
+ * deprecated alias `switch_project`. Both register against the same handler
255
+ * so existing agent calls keep working through the project→workspace rename.
256
+ *
257
+ * After updating the active workspace locally, we VALIDATE the switch with an
258
+ * authed read against `/api/setup-state` (which `apiGet` scopes to the active
259
+ * workspace). Validation is non-fatal: the local switch always succeeds, but
260
+ * we surface an auth/reachability warning so the user knows to connect or
261
+ * fix the workspace key.
262
+ */
263
+ export declare const switchWorkspaceSchema: z.ZodObject<{
264
+ workspaceKey: z.ZodOptional<z.ZodString>;
265
+ projectKey: z.ZodOptional<z.ZodString>;
266
+ }, "strip", z.ZodTypeAny, {
267
+ workspaceKey?: string | undefined;
268
+ projectKey?: string | undefined;
269
+ }, {
270
+ workspaceKey?: string | undefined;
271
+ projectKey?: string | undefined;
272
+ }>;
273
+ export declare function switchWorkspaceHandler(args: {
274
+ workspaceKey?: string;
275
+ projectKey?: string;
276
+ }): Promise<{
277
+ content: {
278
+ type: "text";
279
+ text: string;
280
+ }[];
281
+ isError: boolean;
282
+ } | {
283
+ content: {
284
+ type: "text";
285
+ text: string;
286
+ }[];
287
+ isError?: undefined;
288
+ }>;
289
+ /**
290
+ * Shared handler for `list_workspaces` (canonical) and its deprecated alias
291
+ * `list_projects`. Both register against the same handler so existing agent
292
+ * calls keep working through the project→workspace rename.
293
+ */
294
+ export declare function listWorkspacesHandler(): Promise<{
295
+ content: {
296
+ type: "text";
297
+ text: string;
298
+ }[];
299
+ }>;
300
+ //# sourceMappingURL=tool-shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-shared.d.ts","sourceRoot":"","sources":["../src/tool-shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmCxB,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,OAAO,EAAE,CAAC;IAC9B,qBAAqB,EAAE,OAAO,EAAE,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,aAAa,GAAG,WAAW,CAAC;IAC9C,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;IAChD,WAAW,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IACjD,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;IACjD,aAAa,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjE,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,aAAa,EAAE;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACjE,CAAC;IACF,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5F,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE;QACR,UAAU,EAAE,MAAM,CAChB,MAAM,EACN;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,cAAc,CAAC,EAAE,MAAM,CAAA;SAAE,CACvF,CAAC;QACF,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IAEF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;gFAC4E;IAC5E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,cAAc,CAAC;CAC/C;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,IAAI,SAAS,CAAC;AAE3B;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,QAAyD,CAAC;AAE3F,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAG3D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAO5D;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE3F;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAKzE;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAStD;AAED,wBAAsB,iCAAiC,CACrD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAiDxD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,MAAM,CAUT;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAE3C;AAED,kFAAkF;AAClF,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI3C;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,GAAG,IAAI,CAuCvD;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,GAAG,QAAQ,CAAA;CAAE,GAAG;IAAE,SAAS,EAAE,IAAI,CAAA;CAAE,CAAC,CAqB9D;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED,wBAAgB,cAAc;;;;;;EAU7B;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;EAMhC,CAAC;AAEH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;GA6ChG;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB;;;;;GAwB1C"}