@positronic/spec 0.0.77 → 0.0.78

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.
@@ -86,30 +86,6 @@ export declare const brains: {
86
86
  * Requires a brain with a loop step that will pause on a webhook.
87
87
  */
88
88
  killSuspended(fetch: Fetch, loopBrainIdentifier: string, webhookSlug: string, webhookPayload: Record<string, any>): Promise<boolean>;
89
- /**
90
- * Test that agent steps emit proper AGENT_* events in the SSE stream.
91
- * Requires a brain with an agent step that will pause on a webhook.
92
- *
93
- * Expected events before webhook pause:
94
- * - AGENT_START (with prompt and optional system)
95
- * - AGENT_ITERATION
96
- * - AGENT_TOOL_CALL
97
- * - AGENT_WEBHOOK (before WEBHOOK event)
98
- * - WEBHOOK
99
- */
100
- watchAgentEvents(fetch: Fetch, agentBrainIdentifier: string): Promise<boolean>;
101
- /**
102
- * Test full agent webhook resumption flow:
103
- * 1. Start an agent brain that will pause on a webhook
104
- * 2. Verify it pauses with WEBHOOK event
105
- * 3. Trigger the webhook with a response
106
- * 4. Verify the brain resumes and emits WEBHOOK_RESPONSE and AGENT_TOOL_RESULT
107
- *
108
- * Requires:
109
- * - A brain with an agent step that calls a tool returning { waitFor: webhook(...) }
110
- * - The webhook slug and identifier to trigger
111
- */
112
- agentWebhookResume(fetch: Fetch, agentBrainIdentifier: string, webhookSlug: string, webhookPayload: Record<string, any>): Promise<boolean>;
113
89
  /**
114
90
  * Test that inner brain COMPLETE events don't overwrite outer brain status.
115
91
  *
@@ -1 +1 @@
1
- {"version":3,"file":"brains.d.ts","sourceRoot":"","sources":["../../src/api/brains.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC,eAAO,MAAM,MAAM;IACjB;;OAEG;eAEM,KAAK,cACA,MAAM,YACR,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,iBACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA+CzB;;OAEG;0BAEM,KAAK,cACA,MAAM,WACT,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,iBAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuCzB;;OAEG;uBAEM,KAAK,yBACW,MAAM,GAC5B,OAAO,CAAC,OAAO,CAAC;IAuDnB;;OAEG;iBACgB,KAAK,SAAS,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2D1D;;OAEG;mBAEM,KAAK,cACA,MAAM,UACV,MAAM,GACb,OAAO,CAAC,OAAO,CAAC;IA2DnB;;OAEG;oBACmB,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAsD9C;;OAEG;gBACe,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IA6D1C;;;;;OAKG;kBAEM,KAAK,SACL,MAAM,GACZ,OAAO,CAAC;QACT,MAAM,EAAE,KAAK,CAAC;YACZ,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC,CAAC;QACH,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,IAAI,CAAC;IAqET;;;OAGG;wBACuB,KAAK,cAAc,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqFtE;;OAEG;sBACqB,KAAK,cAAc,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsEpE;;OAEG;kBACiB,KAAK,SAAS,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2F3D;;OAEG;0BAEM,KAAK,oBACM,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC;IA8BnB;;;OAGG;iCAEM,KAAK,uBACS,MAAM,GAC1B,OAAO,CAAC,OAAO,CAAC;IAqDnB;;OAEG;wBAEM,KAAK,uBACS,MAAM,GAC1B,OAAO,CAAC,OAAO,CAAC;IAoEnB;;;OAGG;iBAEM,KAAK,SACL,MAAM,YACH,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA0CzB;;OAEG;gBACe,KAAK,SAAS,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBzD;;;;;;;;OAQG;yBAEM,KAAK,uBACS,MAAM,eACd,MAAM,kBACH,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAClC,OAAO,CAAC,OAAO,CAAC;IA0JnB;;;;;;;;;;OAUG;4BAEM,KAAK,wBACU,MAAM,GAC3B,OAAO,CAAC,OAAO,CAAC;IAyGnB;;;;;;;;;;OAUG;8BAEM,KAAK,wBACU,MAAM,eACf,MAAM,kBACH,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAClC,OAAO,CAAC,OAAO,CAAC;IAuJnB;;;;;;;;;;;;;OAaG;sDAEM,KAAK,wBACU,MAAM,eACf,MAAM,kBACH,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAClC,OAAO,CAAC,OAAO,CAAC;CAuKpB,CAAC"}
1
+ {"version":3,"file":"brains.d.ts","sourceRoot":"","sources":["../../src/api/brains.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC,eAAO,MAAM,MAAM;IACjB;;OAEG;eAEM,KAAK,cACA,MAAM,YACR,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,iBACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA+CzB;;OAEG;0BAEM,KAAK,cACA,MAAM,WACT,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,iBAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuCzB;;OAEG;uBAEM,KAAK,yBACW,MAAM,GAC5B,OAAO,CAAC,OAAO,CAAC;IAuDnB;;OAEG;iBACgB,KAAK,SAAS,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2D1D;;OAEG;mBAEM,KAAK,cACA,MAAM,UACV,MAAM,GACb,OAAO,CAAC,OAAO,CAAC;IA2DnB;;OAEG;oBACmB,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAsD9C;;OAEG;gBACe,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IA6D1C;;;;;OAKG;kBAEM,KAAK,SACL,MAAM,GACZ,OAAO,CAAC;QACT,MAAM,EAAE,KAAK,CAAC;YACZ,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC,CAAC;QACH,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,IAAI,CAAC;IAqET;;;OAGG;wBACuB,KAAK,cAAc,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqFtE;;OAEG;sBACqB,KAAK,cAAc,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsEpE;;OAEG;kBACiB,KAAK,SAAS,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2F3D;;OAEG;0BAEM,KAAK,oBACM,MAAM,GACvB,OAAO,CAAC,OAAO,CAAC;IA8BnB;;;OAGG;iCAEM,KAAK,uBACS,MAAM,GAC1B,OAAO,CAAC,OAAO,CAAC;IAqDnB;;OAEG;wBAEM,KAAK,uBACS,MAAM,GAC1B,OAAO,CAAC,OAAO,CAAC;IAoEnB;;;OAGG;iBAEM,KAAK,SACL,MAAM,YACH,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA0CzB;;OAEG;gBACe,KAAK,SAAS,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBzD;;;;;;;;OAQG;yBAEM,KAAK,uBACS,MAAM,eACd,MAAM,kBACH,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAClC,OAAO,CAAC,OAAO,CAAC;IA0JnB;;;;;;;;;;;;;OAaG;sDAEM,KAAK,wBACU,MAAM,eACf,MAAM,kBACH,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAClC,OAAO,CAAC,OAAO,CAAC;CAuKpB,CAAC"}
@@ -738,192 +738,6 @@ export const brains = {
738
738
  return false;
739
739
  }
740
740
  },
741
- /**
742
- * Test that agent steps emit proper AGENT_* events in the SSE stream.
743
- * Requires a brain with an agent step that will pause on a webhook.
744
- *
745
- * Expected events before webhook pause:
746
- * - AGENT_START (with prompt and optional system)
747
- * - AGENT_ITERATION
748
- * - AGENT_TOOL_CALL
749
- * - AGENT_WEBHOOK (before WEBHOOK event)
750
- * - WEBHOOK
751
- */
752
- async watchAgentEvents(fetch, agentBrainIdentifier) {
753
- try {
754
- // Start the agent brain
755
- const brainRunId = await startBrainRun(fetch, agentBrainIdentifier);
756
- if (!brainRunId)
757
- return false;
758
- // Watch the brain run
759
- const watchRequest = new Request(`http://example.com/brains/runs/${brainRunId}/watch`, { method: 'GET' });
760
- const watchResponse = await fetch(watchRequest);
761
- if (!watchResponse.ok) {
762
- console.error(`GET /brains/runs/${brainRunId}/watch returned ${watchResponse.status}`);
763
- return false;
764
- }
765
- // Read SSE events until we get WEBHOOK or COMPLETE/ERROR
766
- const events = watchResponse.body
767
- ? await readSseUntil(watchResponse.body, (event) => event.type === BRAIN_EVENTS.WEBHOOK ||
768
- event.type === BRAIN_EVENTS.COMPLETE ||
769
- event.type === BRAIN_EVENTS.ERROR)
770
- : [];
771
- // Verify required agent events are present
772
- const hasAgentStart = events.some((e) => e.type === BRAIN_EVENTS.AGENT_START);
773
- if (!hasAgentStart) {
774
- console.error('Missing AGENT_START event in SSE stream');
775
- return false;
776
- }
777
- // Verify AGENT_START has prompt field
778
- const agentStartEvent = events.find((e) => e.type === BRAIN_EVENTS.AGENT_START);
779
- if (!agentStartEvent.prompt ||
780
- typeof agentStartEvent.prompt !== 'string') {
781
- console.error('AGENT_START event missing prompt field');
782
- return false;
783
- }
784
- const hasAgentIteration = events.some((e) => e.type === BRAIN_EVENTS.AGENT_ITERATION);
785
- if (!hasAgentIteration) {
786
- console.error('Missing AGENT_ITERATION event in SSE stream');
787
- return false;
788
- }
789
- const hasAgentToolCall = events.some((e) => e.type === BRAIN_EVENTS.AGENT_TOOL_CALL);
790
- if (!hasAgentToolCall) {
791
- console.error('Missing AGENT_TOOL_CALL event in SSE stream');
792
- return false;
793
- }
794
- // If we got a WEBHOOK event, verify AGENT_WEBHOOK came before it
795
- const webhookIndex = events.findIndex((e) => e.type === BRAIN_EVENTS.WEBHOOK);
796
- if (webhookIndex !== -1) {
797
- const agentWebhookIndex = events.findIndex((e) => e.type === BRAIN_EVENTS.AGENT_WEBHOOK);
798
- if (agentWebhookIndex === -1) {
799
- console.error('Missing AGENT_WEBHOOK event before WEBHOOK event');
800
- return false;
801
- }
802
- if (agentWebhookIndex >= webhookIndex) {
803
- console.error('AGENT_WEBHOOK event must come before WEBHOOK event');
804
- return false;
805
- }
806
- // Verify AGENT_WEBHOOK has required fields
807
- const agentWebhookEvent = events[agentWebhookIndex];
808
- if (!agentWebhookEvent.toolCallId || !agentWebhookEvent.toolName) {
809
- console.error('AGENT_WEBHOOK event missing toolCallId or toolName fields');
810
- return false;
811
- }
812
- }
813
- return true;
814
- }
815
- catch (error) {
816
- console.error(`Failed to test agent events for ${agentBrainIdentifier}:`, error);
817
- return false;
818
- }
819
- },
820
- /**
821
- * Test full agent webhook resumption flow:
822
- * 1. Start an agent brain that will pause on a webhook
823
- * 2. Verify it pauses with WEBHOOK event
824
- * 3. Trigger the webhook with a response
825
- * 4. Verify the brain resumes and emits WEBHOOK_RESPONSE and AGENT_TOOL_RESULT
826
- *
827
- * Requires:
828
- * - A brain with an agent step that calls a tool returning { waitFor: webhook(...) }
829
- * - The webhook slug and identifier to trigger
830
- */
831
- async agentWebhookResume(fetch, agentBrainIdentifier, webhookSlug, webhookPayload) {
832
- try {
833
- // Step 1: Start the agent brain
834
- const brainRunId = await startBrainRun(fetch, agentBrainIdentifier);
835
- if (!brainRunId)
836
- return false;
837
- // Step 2: Watch until WEBHOOK event (brain pauses)
838
- const watchRequest = new Request(`http://example.com/brains/runs/${brainRunId}/watch`, { method: 'GET' });
839
- const watchResponse = await fetch(watchRequest);
840
- if (!watchResponse.ok) {
841
- console.error(`GET /brains/runs/${brainRunId}/watch returned ${watchResponse.status}`);
842
- return false;
843
- }
844
- if (!watchResponse.body) {
845
- console.error('Watch response has no body');
846
- return false;
847
- }
848
- let earlyTermination = false;
849
- const watchEvents = await readSseUntil(watchResponse.body, (event) => {
850
- if (event.type === BRAIN_EVENTS.WEBHOOK)
851
- return true;
852
- if (event.type === BRAIN_EVENTS.COMPLETE ||
853
- event.type === BRAIN_EVENTS.ERROR) {
854
- console.error(`Brain completed/errored before WEBHOOK event: ${event.type}`);
855
- earlyTermination = true;
856
- return true;
857
- }
858
- return false;
859
- });
860
- if (earlyTermination)
861
- return false;
862
- const foundWebhookEvent = watchEvents.some((e) => e.type === BRAIN_EVENTS.WEBHOOK);
863
- if (!foundWebhookEvent) {
864
- console.error('Brain did not emit WEBHOOK event');
865
- return false;
866
- }
867
- // Step 3: Trigger the webhook
868
- const webhookRequest = new Request(`http://example.com/webhooks/${encodeURIComponent(webhookSlug)}`, {
869
- method: 'POST',
870
- headers: { 'Content-Type': 'application/json' },
871
- body: JSON.stringify(webhookPayload),
872
- });
873
- const webhookResponse = await fetch(webhookRequest);
874
- if (!webhookResponse.ok) {
875
- console.error(`POST /webhooks/${webhookSlug} returned ${webhookResponse.status}`);
876
- return false;
877
- }
878
- const webhookResult = (await webhookResponse.json());
879
- if (!webhookResult.received) {
880
- console.error('Webhook was not received');
881
- return false;
882
- }
883
- if (webhookResult.action !== 'resumed') {
884
- console.error(`Expected webhook action 'resumed', got '${webhookResult.action}'`);
885
- return false;
886
- }
887
- // Step 4: Watch again for resumed events
888
- const resumeWatchRequest = new Request(`http://example.com/brains/runs/${brainRunId}/watch`, { method: 'GET' });
889
- const resumeWatchResponse = await fetch(resumeWatchRequest);
890
- if (!resumeWatchResponse.ok) {
891
- console.error(`GET /brains/runs/${brainRunId}/watch (resume) returned ${resumeWatchResponse.status}`);
892
- return false;
893
- }
894
- const resumeEvents = resumeWatchResponse.body
895
- ? await readSseUntil(resumeWatchResponse.body, (event) => event.type === BRAIN_EVENTS.COMPLETE ||
896
- event.type === BRAIN_EVENTS.ERROR)
897
- : [];
898
- // Verify WEBHOOK_RESPONSE event is present
899
- const hasWebhookResponse = resumeEvents.some((e) => e.type === BRAIN_EVENTS.WEBHOOK_RESPONSE);
900
- if (!hasWebhookResponse) {
901
- console.error('Missing WEBHOOK_RESPONSE event after resume');
902
- return false;
903
- }
904
- // Verify AGENT_TOOL_RESULT event is present (with the webhook response as result)
905
- const hasAgentToolResult = resumeEvents.some((e) => e.type === BRAIN_EVENTS.AGENT_TOOL_RESULT);
906
- if (!hasAgentToolResult) {
907
- console.error('Missing AGENT_TOOL_RESULT event after resume');
908
- return false;
909
- }
910
- // Verify brain completed successfully
911
- const completeEvent = resumeEvents.find((e) => e.type === BRAIN_EVENTS.COMPLETE);
912
- if (!completeEvent) {
913
- console.error('Brain did not complete after resume');
914
- return false;
915
- }
916
- if (completeEvent.status !== STATUS.COMPLETE) {
917
- console.error(`Expected COMPLETE status, got ${completeEvent.status}`);
918
- return false;
919
- }
920
- return true;
921
- }
922
- catch (error) {
923
- console.error(`Failed to test agent webhook resume for ${agentBrainIdentifier}:`, error);
924
- return false;
925
- }
926
- },
927
741
  /**
928
742
  * Test that inner brain COMPLETE events don't overwrite outer brain status.
929
743
  *
@@ -1 +1 @@
1
- {"version":3,"file":"brains.js","sourceRoot":"","sources":["../../src/api/brains.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brains.js","sourceRoot":"","sources":["../../src/api/brains.ts"],"names":[],"mappings":"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"}
@@ -13,31 +13,44 @@ export declare const webhooks: {
13
13
  */
14
14
  notFound(fetch: Fetch, slug: string): Promise<boolean>;
15
15
  /**
16
- * Test POST /webhooks/system/ui-form - Built-in webhook for UI form submissions.
17
- * This is used by pages generated via .ui() steps to submit form data.
16
+ * Test POST /webhooks/:slug - Webhook triggers a new brain run.
17
+ * The webhook handler returns { type: 'trigger', response } and the webhook
18
+ * has a triggers config specifying which brain to start.
19
+ * Expects 201 with { received: true, action: 'triggered', brainRunId }.
20
+ */
21
+ trigger(fetch: Fetch, slug: string, payload: any): Promise<boolean>;
22
+ /**
23
+ * Test POST /webhooks/:slug - Webhook handler returns ignore.
24
+ * The webhook handler returns { type: 'ignore' } to acknowledge
25
+ * receipt but take no action.
26
+ * Expects 200 with { received: true, action: 'ignored' }.
27
+ */
28
+ ignore(fetch: Fetch, slug: string, payload: any): Promise<boolean>;
29
+ /**
30
+ * Test POST /webhooks/system/page-form - Built-in webhook for page form submissions.
31
+ * This is used by pages generated via .page() steps to submit form data.
18
32
  *
19
33
  * The endpoint:
20
34
  * - Accepts form data (application/x-www-form-urlencoded or multipart/form-data)
21
- * - Requires an `identifier` query parameter to match the waiting brain
22
- * - Requires a `__positronic_token` field for CSRF validation
35
+ * - Requires `identifier` and `token` query parameters
23
36
  * - Returns { received: true, action: 'resumed' | 'not_found', ... }
24
37
  */
25
- uiForm(fetch: Fetch, identifier: string, formData: Record<string, string | string[]>, token: string): Promise<boolean>;
38
+ pageForm(fetch: Fetch, identifier: string, formData: Record<string, string | string[]>, token: string): Promise<boolean>;
26
39
  /**
27
- * Test POST /webhooks/system/ui-form with missing identifier - Should return 400
40
+ * Test POST /webhooks/system/page-form with missing identifier - Should return 400
28
41
  */
29
- uiFormMissingIdentifier(fetch: Fetch): Promise<boolean>;
42
+ pageFormMissingIdentifier(fetch: Fetch): Promise<boolean>;
30
43
  /**
31
- * Test POST /webhooks/system/ui-form without a CSRF token - Should return 403.
32
- * The endpoint checks for missing token before looking up a waiting brain.
44
+ * Test POST /webhooks/system/page-form without a CSRF token - Should return 403.
45
+ * The endpoint checks for missing token query param before looking up a waiting brain.
33
46
  */
34
- uiFormMissingToken(fetch: Fetch, identifier: string): Promise<boolean>;
47
+ pageFormMissingToken(fetch: Fetch, identifier: string): Promise<boolean>;
35
48
  /**
36
- * Test POST /webhooks/system/ui-form with a wrong CSRF token.
49
+ * Test POST /webhooks/system/page-form with a wrong CSRF token.
37
50
  * Without a brain waiting, the endpoint returns 404 (not_found) since
38
51
  * token comparison only runs after a brain is found. The key assertion
39
52
  * is that a wrong token never produces a successful 200 "resumed" response.
40
53
  */
41
- uiFormWrongToken(fetch: Fetch, identifier: string, formData: Record<string, string | string[]>, wrongToken: string): Promise<boolean>;
54
+ pageFormWrongToken(fetch: Fetch, identifier: string, formData: Record<string, string | string[]>, wrongToken: string): Promise<boolean>;
42
55
  };
43
56
  //# sourceMappingURL=webhooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/api/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,eAAO,MAAM,QAAQ;IACnB;;OAEG;gBACe,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAgE1C;;OAEG;mBACkB,KAAK,QAAQ,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAoDzE;;OAEG;oBACmB,KAAK,QAAQ,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA+C5D;;;;;;;;;OASG;kBAEM,KAAK,cACA,MAAM,YACR,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,SACpC,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC;IA0EnB;;OAEG;mCACkC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IA8C7D;;;OAGG;8BAC6B,KAAK,cAAc,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsD5E;;;;;OAKG;4BAEM,KAAK,cACA,MAAM,YACR,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,cAC/B,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC;CAyDpB,CAAC"}
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/api/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,eAAO,MAAM,QAAQ;IACnB;;OAEG;gBACe,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAgE1C;;OAEG;mBACkB,KAAK,QAAQ,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAoDzE;;OAEG;oBACmB,KAAK,QAAQ,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA+C5D;;;;;OAKG;mBACkB,KAAK,QAAQ,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAsDzE;;;;;OAKG;kBACiB,KAAK,QAAQ,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IA4CxE;;;;;;;;OAQG;oBAEM,KAAK,cACA,MAAM,YACR,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,SACpC,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC;IAyEnB;;OAEG;qCACoC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IA8C/D;;;OAGG;gCAEM,KAAK,cACA,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC;IAsDnB;;;;;OAKG;8BAEM,KAAK,cACA,MAAM,YACR,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,cAC/B,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC;CAwDpB,CAAC"}