Skip to content

Commit a1fa3b4

Browse files
committed
chore: fix public-spec test
1 parent 9fe7af8 commit a1fa3b4

2 files changed

Lines changed: 62 additions & 35 deletions

File tree

apps/builder/__tests__/__snapshots__/public-spec-operations.test.ts.snap

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,41 @@ exports[`public API spec — operation naming guard > operation list (operationI
2222
"operationId": "aiAgents.list",
2323
"path": "/v1/ai-agents",
2424
},
25+
{
26+
"method": "PUT",
27+
"operationId": "aiAgents.update",
28+
"path": "/v1/ai-agents/{id}",
29+
},
30+
{
31+
"method": "POST",
32+
"operationId": "aiTriggers.create",
33+
"path": "/v1/ai-triggers",
34+
},
35+
{
36+
"method": "DELETE",
37+
"operationId": "aiTriggers.delete",
38+
"path": "/v1/ai-triggers/{id}",
39+
},
40+
{
41+
"method": "POST",
42+
"operationId": "aiTriggers.duplicate",
43+
"path": "/v1/ai-triggers/{id}/duplicate",
44+
},
45+
{
46+
"method": "GET",
47+
"operationId": "aiTriggers.get",
48+
"path": "/v1/ai-triggers/{id}",
49+
},
50+
{
51+
"method": "GET",
52+
"operationId": "aiTriggers.list",
53+
"path": "/v1/ai-triggers",
54+
},
55+
{
56+
"method": "PUT",
57+
"operationId": "aiTriggers.update",
58+
"path": "/v1/ai-triggers/{id}",
59+
},
2560
{
2661
"method": "GET",
2762
"operationId": "analytics.activeContactsCount",
@@ -172,41 +207,6 @@ exports[`public API spec — operation naming guard > operation list (operationI
172207
"operationId": "analytics.uniqueConversationsByAdmin",
173208
"path": "/v1/analytics/unique-conversations-by-admin",
174209
},
175-
{
176-
"method": "PUT",
177-
"operationId": "aiAgents.update",
178-
"path": "/v1/ai-agents/{id}",
179-
},
180-
{
181-
"method": "POST",
182-
"operationId": "aiTriggers.create",
183-
"path": "/v1/ai-triggers",
184-
},
185-
{
186-
"method": "DELETE",
187-
"operationId": "aiTriggers.delete",
188-
"path": "/v1/ai-triggers/{id}",
189-
},
190-
{
191-
"method": "POST",
192-
"operationId": "aiTriggers.duplicate",
193-
"path": "/v1/ai-triggers/{id}/duplicate",
194-
},
195-
{
196-
"method": "GET",
197-
"operationId": "aiTriggers.get",
198-
"path": "/v1/ai-triggers/{id}",
199-
},
200-
{
201-
"method": "GET",
202-
"operationId": "aiTriggers.list",
203-
"path": "/v1/ai-triggers",
204-
},
205-
{
206-
"method": "PUT",
207-
"operationId": "aiTriggers.update",
208-
"path": "/v1/ai-triggers/{id}",
209-
},
210210
{
211211
"method": "PUT",
212212
"operationId": "botFields.bulkUpdate",

apps/builder/__tests__/public-spec-operations.test.ts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,33 @@ describe("public API spec — operation naming guard", () => {
281281
"webhooks.create",
282282
"workspaceMembers.list",
283283
"workspaceMembers.get",
284+
285+
// Same pre-existing-shared-resource-schema leak pattern as above,
286+
// introduced by the automation public API (flows, triggers, keywords,
287+
// ai-agents, reflinks, ai-triggers) — see PR that added
288+
// `aiAgentsPublicRouter`/`aiTriggersPublicRouter`/etc. Each of these
289+
// reuses a resource schema shared with private (non-public) callers,
290+
// so `workspaceId` can't be omitted from the shared schema without
291+
// breaking those callers. Fix per operation by giving the public
292+
// router its own `.omit({ workspaceId: true })` output schema,
293+
// mirroring `apps/builder/src/features/analytics/schema/public.ts`.
294+
"aiAgents.create",
295+
"aiAgents.get",
296+
"aiAgents.update",
297+
"aiTriggers.list",
298+
"aiTriggers.create",
299+
"aiTriggers.get",
300+
"aiTriggers.update",
301+
"aiTriggers.duplicate",
302+
"flows.get",
303+
"flows.versions",
304+
"reflinks.list",
305+
"reflinks.create",
306+
"reflinks.update",
307+
"triggers.create",
308+
"triggers.get",
309+
"triggers.update",
310+
"triggers.updateSettings",
284311
])
285312

286313
const leaking = Object.entries(responseSchemasByOperationId)

0 commit comments

Comments
 (0)