managed-deepagents 0.10.0-dev.14 → 0.10.0-dev.16

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 (118) hide show
  1. package/README.md +17 -295
  2. package/dist/channels/github/connections.d.ts.map +1 -1
  3. package/dist/channels/github/connections.js +2 -2
  4. package/dist/channels/github/connections.js.map +1 -1
  5. package/dist/channels/github/index.d.ts +8 -1
  6. package/dist/channels/github/index.d.ts.map +1 -1
  7. package/dist/channels/github/index.js +137 -39
  8. package/dist/channels/github/index.js.map +1 -1
  9. package/dist/channels/github/schema.d.ts +0 -168
  10. package/dist/channels/github/schema.d.ts.map +1 -1
  11. package/dist/channels/github/schema.js +3 -9
  12. package/dist/channels/github/schema.js.map +1 -1
  13. package/dist/channels/github/types.d.ts +3 -49
  14. package/dist/channels/github/types.d.ts.map +1 -1
  15. package/dist/channels/http/http.d.ts.map +1 -1
  16. package/dist/channels/http/http.js +65 -224
  17. package/dist/channels/http/http.js.map +1 -1
  18. package/dist/channels/http/index.d.ts +1 -1
  19. package/dist/channels/http/index.d.ts.map +1 -1
  20. package/dist/channels/http/index.js.map +1 -1
  21. package/dist/channels/http/ingress.d.ts +3 -23
  22. package/dist/channels/http/ingress.d.ts.map +1 -1
  23. package/dist/channels/http/ingress.js +30 -51
  24. package/dist/channels/http/ingress.js.map +1 -1
  25. package/dist/channels/http/types.d.ts +6 -59
  26. package/dist/channels/http/types.d.ts.map +1 -1
  27. package/dist/channels/message-schema.d.ts +0 -2
  28. package/dist/channels/message-schema.d.ts.map +1 -1
  29. package/dist/channels/message-schema.js +0 -4
  30. package/dist/channels/message-schema.js.map +1 -1
  31. package/dist/channels/reserved-connections.d.ts +2 -2
  32. package/dist/channels/reserved-connections.d.ts.map +1 -1
  33. package/dist/channels/reserved-connections.js +9 -26
  34. package/dist/channels/reserved-connections.js.map +1 -1
  35. package/dist/channels/run-input.d.ts +1 -17
  36. package/dist/channels/run-input.d.ts.map +1 -1
  37. package/dist/channels/run-input.js +5 -50
  38. package/dist/channels/run-input.js.map +1 -1
  39. package/dist/channels/slack/index.d.ts +1 -33
  40. package/dist/channels/slack/index.d.ts.map +1 -1
  41. package/dist/channels/slack/index.js +4 -54
  42. package/dist/channels/slack/index.js.map +1 -1
  43. package/dist/channels/source-providers.js +1 -1
  44. package/dist/channels/source-providers.js.map +1 -1
  45. package/dist/connections.d.ts +0 -5
  46. package/dist/connections.d.ts.map +1 -1
  47. package/dist/connections.js +1 -14
  48. package/dist/connections.js.map +1 -1
  49. package/dist/index.d.ts +2 -7
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +0 -1
  52. package/dist/index.js.map +1 -1
  53. package/dist/ingress/runs.d.ts +1 -10
  54. package/dist/ingress/runs.d.ts.map +1 -1
  55. package/dist/ingress/runs.js +4 -40
  56. package/dist/ingress/runs.js.map +1 -1
  57. package/dist/namespaces.d.ts +0 -15
  58. package/dist/namespaces.d.ts.map +1 -1
  59. package/dist/namespaces.js +0 -2
  60. package/dist/namespaces.js.map +1 -1
  61. package/dist/runtime/auth.d.ts.map +1 -1
  62. package/dist/runtime/auth.js +1 -20
  63. package/dist/runtime/auth.js.map +1 -1
  64. package/dist/runtime/channel.d.ts +0 -6
  65. package/dist/runtime/channel.d.ts.map +1 -1
  66. package/dist/runtime/channel.js.map +1 -1
  67. package/dist/runtime/identity-http.d.ts +0 -2
  68. package/dist/runtime/identity-http.d.ts.map +1 -1
  69. package/dist/runtime/identity-http.js +0 -35
  70. package/dist/runtime/identity-http.js.map +1 -1
  71. package/dist/runtime/index.d.ts.map +1 -1
  72. package/dist/runtime/index.js +0 -2
  73. package/dist/runtime/index.js.map +1 -1
  74. package/package.json +7 -7
  75. package/dist/channels/github/mentions.d.ts +0 -7
  76. package/dist/channels/github/mentions.d.ts.map +0 -1
  77. package/dist/channels/github/mentions.js +0 -112
  78. package/dist/channels/github/mentions.js.map +0 -1
  79. package/dist/channels/http/endpoint.d.ts +0 -77
  80. package/dist/channels/http/endpoint.d.ts.map +0 -1
  81. package/dist/channels/http/endpoint.js +0 -204
  82. package/dist/channels/http/endpoint.js.map +0 -1
  83. package/dist/channels/http/provider.d.ts +0 -110
  84. package/dist/channels/http/provider.d.ts.map +0 -1
  85. package/dist/channels/http/provider.js +0 -208
  86. package/dist/channels/http/provider.js.map +0 -1
  87. package/dist/channels/http/reply.d.ts +0 -20
  88. package/dist/channels/http/reply.d.ts.map +0 -1
  89. package/dist/channels/http/reply.js +0 -116
  90. package/dist/channels/http/reply.js.map +0 -1
  91. package/dist/channels/http/studio.d.ts +0 -23
  92. package/dist/channels/http/studio.d.ts.map +0 -1
  93. package/dist/channels/http/studio.js +0 -92
  94. package/dist/channels/http/studio.js.map +0 -1
  95. package/dist/channels/linear/connections.d.ts +0 -11
  96. package/dist/channels/linear/connections.d.ts.map +0 -1
  97. package/dist/channels/linear/connections.js +0 -14
  98. package/dist/channels/linear/connections.js.map +0 -1
  99. package/dist/channels/linear/graphql.d.ts +0 -57
  100. package/dist/channels/linear/graphql.d.ts.map +0 -1
  101. package/dist/channels/linear/graphql.js +0 -167
  102. package/dist/channels/linear/graphql.js.map +0 -1
  103. package/dist/channels/linear/index.d.ts +0 -9
  104. package/dist/channels/linear/index.d.ts.map +0 -1
  105. package/dist/channels/linear/index.js +0 -481
  106. package/dist/channels/linear/index.js.map +0 -1
  107. package/dist/channels/linear/schema.d.ts +0 -1064
  108. package/dist/channels/linear/schema.d.ts.map +0 -1
  109. package/dist/channels/linear/schema.js +0 -249
  110. package/dist/channels/linear/schema.js.map +0 -1
  111. package/dist/channels/linear/types.d.ts +0 -153
  112. package/dist/channels/linear/types.d.ts.map +0 -1
  113. package/dist/channels/linear/types.js +0 -2
  114. package/dist/channels/linear/types.js.map +0 -1
  115. package/dist/runtime/channel-icon.d.ts +0 -22
  116. package/dist/runtime/channel-icon.d.ts.map +0 -1
  117. package/dist/runtime/channel-icon.js +0 -70
  118. package/dist/runtime/channel-icon.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channels/http/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAEL,KAAK,OAAO,EAEb,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAS9D,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAsCpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/channels/http/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAEL,KAAK,OAAO,EAEb,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,kBAAkB,EAClB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAS9D,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAsCpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/channels/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,eAAe,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EACL,aAAa,GAGd,MAAM,0BAA0B,CAAC;AAelC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/C,MAAM,oBAAoB,GAAyB,IAAI,GAAG,CAAC;IACzD,SAAS;IACT,WAAW;IACX,UAAU;IACV,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;IACtE,IACE,OAAO,CAAC,iBAAiB,KAAK,SAAS;QACvC,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAEpD,MAAM,IAAI,SAAS,CACjB,0EAA0E,CAC3E,CAAC;IACJ,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAiB,CAAC;IAElD,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAyB,EAAE,EAAE,CACpD,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAChC,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAA4B,EAAE,CAAC,CAAC;YACzD,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,CACvC,IAAI,CACF,aAAa,CAAC;gBACZ,GAAG,OAAO;gBACV,MAAM;gBACN,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;aAClD,CAAC,CACH;SACJ,CAAC,CAAC,CAAC;IACN,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,IAAY,EAAmB,EAAE,CAAC,CAAC;QAChE,IAAI;QACJ,QAAQ;QACR,UAAU,EAAE,aAAa,IAAI,SAAS;QACtC,SAAS,EAAE,IAAI,KAAK,SAAS;QAC7B,mBAAmB,EAAE,EAAE;QACvB,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;KAC5D,CAAC,CAAC,CAAC;IACJ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,KAAa;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,IAAI,CAAC,MAAc,EAAE,GAAoB,EAAE,KAAc;IAChE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/channels/http/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,eAAe,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EACL,aAAa,GAGd,MAAM,0BAA0B,CAAC;AAYlC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/C,MAAM,oBAAoB,GAAyB,IAAI,GAAG,CAAC;IACzD,SAAS;IACT,WAAW;IACX,UAAU;IACV,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;IACtE,IACE,OAAO,CAAC,iBAAiB,KAAK,SAAS;QACvC,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAEpD,MAAM,IAAI,SAAS,CACjB,0EAA0E,CAC3E,CAAC;IACJ,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAiB,CAAC;IAElD,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAyB,EAAE,EAAE,CACpD,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAChC,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAA4B,EAAE,CAAC,CAAC;YACzD,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,CACvC,IAAI,CACF,aAAa,CAAC;gBACZ,GAAG,OAAO;gBACV,MAAM;gBACN,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;aAClD,CAAC,CACH;SACJ,CAAC,CAAC,CAAC;IACN,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,IAAY,EAAmB,EAAE,CAAC,CAAC;QAChE,IAAI;QACJ,QAAQ;QACR,UAAU,EAAE,aAAa,IAAI,SAAS;QACtC,SAAS,EAAE,IAAI,KAAK,SAAS;QAC7B,mBAAmB,EAAE,EAAE;QACvB,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;KAC5D,CAAC,CAAC,CAAC;IACJ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,KAAa;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,IAAI,CAAC,MAAc,EAAE,GAAoB,EAAE,KAAc;IAChE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AACnE,CAAC"}
@@ -1,4 +1,3 @@
1
- import type { Interrupt } from "@langchain/langgraph-sdk";
2
1
  import type { MultitaskStrategy } from "../../ingress/runs.js";
3
2
  import { type MessageContent } from "@langchain/core/messages";
4
3
  import type { ChannelBinding } from "../binding.js";
@@ -32,8 +31,6 @@ export type HttpIngressStart = StartedIngressRun | {
32
31
  skipped: "paused";
33
32
  /** The paused thread's assistant, for links into LangSmith Studio. */
34
33
  assistantId?: string;
35
- /** What the thread waits on. */
36
- interrupts: Interrupt[];
37
34
  } | {
38
35
  skipped: "duplicate" | "busy" | "rejected" | "ignored";
39
36
  };
@@ -41,26 +38,9 @@ export type HttpIngressStart = StartedIngressRun | {
41
38
  export declare function waitForHttpIngressThread(input: HttpIngressSource & {
42
39
  threadId: string;
43
40
  }): Promise<void>;
44
- /**
45
- * Cancel the thread's queued and running runs, keeping their progress.
46
- * Returns the IDs of the runs it cancelled.
47
- */
48
- export declare function cancelHttpIngressRuns(input: {
49
- userId: string;
50
- sourceThreadKey: string;
51
- sourceProvider: string;
52
- threadId: string;
53
- }): Promise<string[]>;
54
41
  export declare function startHttpIngressAgent(input: StartHttpIngressInput): Promise<HttpIngressStart>;
55
- /** How a run a channel started ended, in LangGraph's terms. */
56
- export interface HttpIngressOutcome {
57
- /** The run's status; one a newer message's `rollback` deleted reads as `interrupted`. */
58
- status: "success" | "error" | "timeout" | "interrupted";
59
- /** The thread's pending interrupts once it ended: what it now waits on. */
60
- interrupts: Interrupt[];
61
- /** The thread's assistant, for links into LangSmith Studio. */
62
- assistantId?: string;
63
- }
64
- export declare function observeHttpIngressAgent(input: HttpIngressSource & StartedIngressRun): Promise<HttpIngressOutcome>;
42
+ export declare function observeHttpIngressAgent(input: HttpIngressSource & StartedIngressRun): Promise<StartedIngressRun & {
43
+ replyContent: MessageContent | null;
44
+ }>;
65
45
  export {};
66
46
  //# sourceMappingURL=ingress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ingress.d.ts","sourceRoot":"","sources":["../../../src/channels/http/ingress.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAKpD,OAAO,EASL,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAS1D,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CAC7C;AAED,UAAU,qBAAsB,SAAQ,iBAAiB;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,4FAA4F;AAC5F,MAAM,MAAM,gBAAgB,GACxB,iBAAiB,GACjB;IACE,OAAO,EAAE,QAAQ,CAAC;IAClB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB,GACD;IAAE,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;CAAE,CAAC;AAE/D,qEAAqE;AACrE,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,iBAAiB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CASpB;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CA4E3B;AA8CD,+DAA+D;AAC/D,MAAM,WAAW,kBAAkB;IACjC,yFAAyF;IACzF,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;IACxD,2EAA2E;IAC3E,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AASD,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,GAC3C,OAAO,CAAC,kBAAkB,CAAC,CAiD7B"}
1
+ {"version":3,"file":"ingress.d.ts","sourceRoot":"","sources":["../../../src/channels/http/ingress.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,0BAA0B,CAAC;AAMlC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAKpD,OAAO,EAQL,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAS1D,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CAC7C;AAED,UAAU,qBAAsB,SAAQ,iBAAiB;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,4FAA4F;AAC5F,MAAM,MAAM,gBAAgB,GACxB,iBAAiB,GACjB;IACE,OAAO,EAAE,QAAQ,CAAC;IAClB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACD;IAAE,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;CAAE,CAAC;AAE/D,qEAAqE;AACrE,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,iBAAiB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAsE3B;AA8CD,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,GAC3C,OAAO,CAAC,iBAAiB,GAAG;IAAE,YAAY,EAAE,cAAc,GAAG,IAAI,CAAA;CAAE,CAAC,CA8CtE"}
@@ -1,11 +1,13 @@
1
1
  /** HTTP content and reply handling around the shared ingress run lifecycle. */
2
2
  import { INTERRUPT } from "@langchain/langgraph";
3
3
  import { HumanMessage, } from "@langchain/core/messages";
4
+ import { extractAssistantContent } from "../assistant-text.js";
4
5
  import { logger } from "../../runtime/log.js";
5
6
  import { buildIngressRunContext } from "../../ingress/index.js";
6
7
  import { ChannelError } from "../errors.js";
8
+ import { validateMessage } from "../runtime.js";
7
9
  import { createIngressLoopbackClient, hasLoopbackCredential, } from "../../ingress/loopback.js";
8
- import { DELIVERY_KEY_METADATA, cancelIngressRuns, ingressThreadState, lookupStatus, startIngressRun, waitForIdleThread, observeIngressRun, recordThreadDelivery, } from "../../ingress/runs.js";
10
+ import { DELIVERY_KEY_METADATA, ingressThreadState, lookupStatus, startIngressRun, waitForIdleThread, observeIngressRun, recordThreadDelivery, } from "../../ingress/runs.js";
9
11
  /** Wait until the thread's queued and running runs have finished. */
10
12
  export async function waitForHttpIngressThread(input) {
11
13
  const client = createIngressLoopbackClient({
@@ -15,17 +17,6 @@ export async function waitForHttpIngressThread(input) {
15
17
  });
16
18
  await waitForIdleThread(client, input.threadId);
17
19
  }
18
- /**
19
- * Cancel the thread's queued and running runs, keeping their progress.
20
- * Returns the IDs of the runs it cancelled.
21
- */
22
- export async function cancelHttpIngressRuns(input) {
23
- if (!hasLoopbackCredential()) {
24
- throw new ChannelError("channel_run_failed", "managed loopback authentication is not configured");
25
- }
26
- const client = createIngressLoopbackClient(input);
27
- return cancelIngressRuns(client, input.threadId);
28
- }
29
20
  export async function startHttpIngressAgent(input) {
30
21
  if (!hasLoopbackCredential()) {
31
22
  throw new ChannelError("channel_run_failed", "managed loopback authentication is not configured");
@@ -35,13 +26,15 @@ export async function startHttpIngressAgent(input) {
35
26
  sourceThreadKey: input.sourceThreadKey,
36
27
  sourceProvider: input.sourceProvider ?? input.binding.provider,
37
28
  });
38
- const { state, assistantId, interrupts } = await ingressThreadState(client, input.threadId, input.deliveryKey);
29
+ const { state, assistantId } = await ingressThreadState(client, input.threadId, input.deliveryKey);
30
+ const metadata = input.deliveryKey !== undefined && {
31
+ metadata: { [DELIVERY_KEY_METADATA]: input.deliveryKey },
32
+ };
39
33
  // A new turn would abandon the decision the thread waits on.
40
34
  if (state === "paused")
41
35
  return {
42
36
  skipped: "paused",
43
37
  ...(assistantId !== undefined && { assistantId }),
44
- interrupts,
45
38
  };
46
39
  const strategy = input.multitaskStrategy ?? "enqueue";
47
40
  // `interrupt` and `rollback` start now and cancel the active run.
@@ -55,20 +48,12 @@ export async function startHttpIngressAgent(input) {
55
48
  : await input.prepare?.();
56
49
  if (!prepared)
57
50
  return { skipped: "ignored" };
58
- // The handler's metadata goes under MDA's own.
59
- const metadata = {
60
- ...prepared.metadata,
61
- ...(input.deliveryKey !== undefined && {
62
- [DELIVERY_KEY_METADATA]: input.deliveryKey,
63
- }),
64
- };
65
51
  let started;
66
52
  try {
67
53
  started = await startIngressRun(client, {
68
54
  threadId: input.threadId,
69
55
  assistantId: input.assistantId,
70
- ...(Object.keys(metadata).length && { metadata }),
71
- ...(prepared.webhook !== undefined && { webhook: prepared.webhook }),
56
+ ...metadata,
72
57
  multitaskStrategy: strategy,
73
58
  messages: prepared.messages,
74
59
  ...(Object.keys(prepared.state).length && { state: prepared.state }),
@@ -134,52 +119,46 @@ function contentRunInput(content) {
134
119
  state: {},
135
120
  };
136
121
  }
137
- const ENDED_STATUSES = new Set([
138
- "success",
139
- "error",
140
- "timeout",
141
- "interrupted",
142
- ]);
143
122
  export async function observeHttpIngressAgent(input) {
144
123
  const client = createIngressLoopbackClient({
145
124
  userId: input.userId,
146
125
  sourceThreadKey: input.sourceThreadKey,
147
126
  sourceProvider: input.sourceProvider ?? input.binding.provider,
148
127
  });
149
- // What the thread waits on now, read only when the run may have stopped on it.
150
- const waitingOn = async (status) => {
151
- const { interrupts, assistantId } = await ingressThreadState(client, input.threadId);
152
- return {
153
- status,
154
- interrupts,
155
- ...(assistantId !== undefined && { assistantId }),
156
- };
157
- };
158
128
  let observed;
159
129
  try {
160
130
  observed = await observeIngressRun(client, input);
161
131
  }
162
132
  catch (error) {
163
- // `rollback` cancels, then deletes, the run a newer message replaced.
133
+ // `rollback` deletes the run a newer message replaced; it has no reply.
164
134
  if (lookupStatus(error) !== 404)
165
135
  throw error;
166
136
  logger.info(`channel run was replaced ${JSON.stringify({ threadId: input.threadId })}`);
167
- // It was cancelled; what the thread waits on now is the newer run's.
168
- return { status: "interrupted", interrupts: [] };
137
+ return { replyContent: null, threadId: input.threadId, runId: input.runId };
169
138
  }
170
139
  const { values, status } = observed;
171
- // A run that didn't end is reported as one that failed.
172
- const ended = ENDED_STATUSES.has(status)
173
- ? status
174
- : "error";
140
+ if (status === "interrupted") {
141
+ return { replyContent: null, threadId: input.threadId, runId: input.runId };
142
+ }
143
+ if (status !== "success") {
144
+ throw new ChannelError("channel_run_failed", "channel run did not complete successfully");
145
+ }
175
146
  const state = values && typeof values === "object" && !Array.isArray(values)
176
147
  ? values
177
148
  : {};
178
- const raised = state[INTERRUPT];
179
- // A run that stops on `interrupt()` can still end `success`.
180
- if (ended === "interrupted" ||
181
- (raised && typeof raised === "object" && Object.keys(raised).length > 0))
182
- return waitingOn(ended);
183
- return { status: ended, interrupts: [] };
149
+ const interrupts = state[INTERRUPT];
150
+ const interrupted = interrupts &&
151
+ typeof interrupts === "object" &&
152
+ Object.keys(interrupts).length > 0;
153
+ const content = interrupted ? null : extractAssistantContent(state);
154
+ if (content === null)
155
+ return { replyContent: null, threadId: input.threadId, runId: input.runId };
156
+ const reply = { type: "content", content };
157
+ validateMessage(reply);
158
+ return {
159
+ replyContent: reply.content,
160
+ threadId: input.threadId,
161
+ runId: input.runId,
162
+ };
184
163
  }
185
164
  //# sourceMappingURL=ingress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ingress.js","sourceRoot":"","sources":["../../../src/channels/http/ingress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingress.js","sourceRoot":"","sources":["../../../src/channels/http/ingress.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import type { Interrupt } from "@langchain/langgraph-sdk";
2
1
  import type { MultitaskStrategy } from "../../ingress/runs.js";
3
2
  import type { MessageContent } from "@langchain/core/messages";
4
3
  import type { ChannelMessage, JsonValue } from "../types.js";
@@ -20,13 +19,6 @@ export interface HttpChannelInboundMessage {
20
19
  */
21
20
  deliveryKey?: string;
22
21
  }
23
- /** The thread a `cancel` result stops, and who to tell. */
24
- export interface HttpChannelCancelMessage {
25
- userId: string;
26
- threadId: string;
27
- /** Where to report the stop. */
28
- target: JsonValue;
29
- }
30
22
  export type HttpChannelParseResult = {
31
23
  type: "message";
32
24
  message: HttpChannelInboundMessage;
@@ -36,15 +28,6 @@ export type HttpChannelParseResult = {
36
28
  } | {
37
29
  type: "ignore";
38
30
  response?: Response;
39
- } | {
40
- /**
41
- * Stop the work on the message's thread: MDA cancels its queued and
42
- * running runs, keeping their progress, then calls `onFinish`.
43
- */
44
- type: "cancel";
45
- message: HttpChannelCancelMessage;
46
- rawEvent?: JsonValue;
47
- response?: Response;
48
31
  };
49
32
  /** MDA adds the verified reply target to the validated message. */
50
33
  export type HttpChannelPostInput = ChannelMessage & {
@@ -72,10 +55,6 @@ export interface HttpChannelAdapter {
72
55
  /** Decode the verified request body in the provider's format. */
73
56
  parse(context: HttpChannelRequest): HttpChannelParseResult | Promise<HttpChannelParseResult>;
74
57
  post?(input: HttpChannelPostInput): Promise<HttpPostedMessage>;
75
- /**
76
- * The run a message started failed: tell the sender instead of the default
77
- * apology `post` sends. Called before `onFinish`.
78
- */
79
58
  onError?(error: unknown, target: JsonValue): Promise<void>;
80
59
  /**
81
60
  * What a message without `content` starts a run with, asked only once the
@@ -84,51 +63,19 @@ export interface HttpChannelAdapter {
84
63
  */
85
64
  input?(message: HttpChannelInboundMessage, rawEvent: JsonValue | undefined): ChannelRunResult | null | undefined | Promise<ChannelRunResult | null | undefined>;
86
65
  /**
87
- * A verified message reached its thread, before MDA starts or queues
88
- * anything for it. For providers that expect a prompt acknowledgement.
89
- * Each message that gets it later gets `onFinish`. Runs in the
90
- * background; failures are logged.
91
- */
92
- onReceived?(target: JsonValue, delivery: HttpDelivery): Promise<void>;
93
- /**
94
- * A message is done, once: the run it started ended, with LangGraph's
95
- * status, or it started none (`run` is absent). `interrupts` are what the
96
- * thread waits on now, non-empty while a decision is pending, made in
97
- * Studio. A cancel is done once MDA cancelled the thread's runs, with no
98
- * `run`. Called after `onReceived` and `onError`, in the background;
99
- * failures are logged.
100
- *
101
- * It is not called when MDA couldn't start the run, or lost track of it;
102
- * it runs in the process that took the delivery, so a restart loses it; and
103
- * a run Studio resumes has no delivery. Keep a reconciliation, or set the
104
- * run's `webhook`, for anything that must not miss a run.
66
+ * The message's thread waits on a decision, so MDA started no run; tell the
67
+ * sender where to make it. Failures are logged.
105
68
  */
106
- onFinish?(target: JsonValue, delivery: HttpFinishedDelivery): Promise<void>;
69
+ onPaused?(target: JsonValue, run: HttpChannelRunInfo): Promise<void>;
107
70
  }
108
- /** A delivery's thread, for notices and links into LangSmith Studio. */
109
- export interface HttpDelivery {
71
+ /** The thread a notice is about, for links into LangSmith Studio. */
72
+ export interface HttpChannelRunInfo {
110
73
  threadId: string;
111
74
  /** The assistant that runs on the thread, when known. */
112
75
  assistantId?: string;
113
- /** The provider event `parse` returned, if any. */
76
+ /** The provider event of the delivery the notice is about, when parsed. */
114
77
  rawEvent?: JsonValue;
115
78
  }
116
- /** A delivery that is done; see {@link HttpChannelAdapter.onFinish}. */
117
- export type HttpFinishedDelivery = HttpDelivery & {
118
- /** The run the delivery started, absent when it started none. */
119
- run?: HttpFinishedRun;
120
- /** The thread's pending interrupts: what it waits on now. */
121
- interrupts: Interrupt[];
122
- };
123
- /**
124
- * A run a delivery started, with its LangGraph status: `interrupted` when it
125
- * was cancelled, by a cancel or a newer message, or replaced by a newer
126
- * message's `rollback`.
127
- */
128
- export interface HttpFinishedRun {
129
- id: string;
130
- status: "success" | "error" | "timeout" | "interrupted";
131
- }
132
79
  export interface HttpChannelRequest {
133
80
  request: Request;
134
81
  rawBody: Uint8Array;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/channels/http/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/channels/http/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,MAAM,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,sBAAsB,GAC9B;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,yBAAyB,CAAC;IACnC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GACD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE5C,mEAAmE;AACnE,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAClD,MAAM,EAAE,SAAS,CAAC;IAClB,gFAAgF;IAChF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3C;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,iEAAiE;IACjE,KAAK,CACH,OAAO,EAAE,kBAAkB,GAC1B,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC5D,IAAI,CAAC,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/D,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D;;;;OAIG;IACH,KAAK,CAAC,CACJ,OAAO,EAAE,yBAAyB,EAClC,QAAQ,EAAE,SAAS,GAAG,SAAS,GAE7B,gBAAgB,GAChB,IAAI,GACJ,SAAS,GACT,OAAO,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACjD;;;OAGG;IACH,QAAQ,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED,qEAAqE;AACrE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,UAAU,CAAC;CACrB"}
@@ -4,8 +4,6 @@ import type { MessageContent } from "@langchain/core/messages";
4
4
  import type { JsonValue } from "./types.js";
5
5
  /** Accept only finite, acyclic plain JSON, including frozen values. */
6
6
  export declare function isJsonValue(value: unknown, ancestors?: Set<object>): value is JsonValue;
7
- /** A string with something other than whitespace in it. */
8
- export declare const nonblankStringSchema: z.ZodString;
9
7
  export declare const jsonValueSchema: z.ZodCustom<JsonValue, JsonValue>;
10
8
  export declare const channelContentMessageSchema: z.ZodObject<{
11
9
  type: z.ZodLiteral<"content">;
@@ -1 +1 @@
1
- {"version":3,"file":"message-schema.d.ts","sourceRoot":"","sources":["../../src/channels/message-schema.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,uEAAuE;AACvE,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,SAAS,cAAoB,GAC5B,KAAK,IAAI,SAAS,CAiBpB;AAED,2DAA2D;AAC3D,eAAO,MAAM,oBAAoB,aAEY,CAAC;AAE9C,eAAO,MAAM,eAAe,mCAG3B,CAAC;AAeF,eAAO,MAAM,2BAA2B;;;kBAE7B,CAAC;AACZ,eAAO,MAAM,0BAA0B;;;kBAE5B,CAAC;AACZ,eAAO,MAAM,oBAAoB;;;;;;4BAG/B,CAAC"}
1
+ {"version":3,"file":"message-schema.d.ts","sourceRoot":"","sources":["../../src/channels/message-schema.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,uEAAuE;AACvE,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,SAAS,cAAoB,GAC5B,KAAK,IAAI,SAAS,CAiBpB;AAED,eAAO,MAAM,eAAe,mCAG3B,CAAC;AAeF,eAAO,MAAM,2BAA2B;;;kBAE7B,CAAC;AACZ,eAAO,MAAM,0BAA0B;;;kBAE5B,CAAC;AACZ,eAAO,MAAM,oBAAoB;;;;;;4BAG/B,CAAC"}
@@ -17,10 +17,6 @@ export function isJsonValue(value, ancestors = new Set()) {
17
17
  ancestors.delete(value);
18
18
  return valid;
19
19
  }
20
- /** A string with something other than whitespace in it. */
21
- export const nonblankStringSchema = z
22
- .string()
23
- .refine((value) => value.trim().length > 0);
24
20
  export const jsonValueSchema = z.custom(isJsonValue, "must be finite acyclic JSON");
25
21
  const contentSchema = z.custom((value) => typeof value === "string" ||
26
22
  (Array.isArray(value) &&
@@ -1 +1 @@
1
- {"version":3,"file":"message-schema.js","sourceRoot":"","sources":["../../src/channels/message-schema.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,uEAAuE;AACvE,MAAM,UAAU,WAAW,CACzB,KAAc,EACd,SAAS,GAAG,IAAI,GAAG,EAAU;IAE7B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ;QAC3E,OAAO,IAAI,CAAC;IACd,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpE,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS;QACjD,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI;QAErC,OAAO,KAAK,CAAC;IACf,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CACvE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CACvC,CAAC;IACF,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAE9C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CACrC,WAAW,EACX,6BAA6B,CAC9B,CAAC;AACF,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAC5B,CAAC,KAAK,EAAE,EAAE,CACR,OAAO,KAAK,KAAK,QAAQ;IACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACnB,KAAK,CAAC,KAAK,CACT,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,KAAK,IAAI;YACd,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACrB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAC9B,WAAW,CAAC,KAAK,CAAC,CACrB,CAAC,EACN,iDAAiD,CAClD,CAAC;AACF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;KAC9D,MAAM,EAAE,CAAC;AACZ,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;KAC9D,MAAM,EAAE,CAAC;AACZ,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC/D,2BAA2B;IAC3B,0BAA0B;CAC3B,CAAC,CAAC"}
1
+ {"version":3,"file":"message-schema.js","sourceRoot":"","sources":["../../src/channels/message-schema.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,uEAAuE;AACvE,MAAM,UAAU,WAAW,CACzB,KAAc,EACd,SAAS,GAAG,IAAI,GAAG,EAAU;IAE7B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ;QAC3E,OAAO,IAAI,CAAC;IACd,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpE,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS;QACjD,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI;QAErC,OAAO,KAAK,CAAC;IACf,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CACvE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CACvC,CAAC;IACF,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CACrC,WAAW,EACX,6BAA6B,CAC9B,CAAC;AACF,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAC5B,CAAC,KAAK,EAAE,EAAE,CACR,OAAO,KAAK,KAAK,QAAQ;IACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACnB,KAAK,CAAC,KAAK,CACT,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,KAAK,IAAI;YACd,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACrB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAC9B,WAAW,CAAC,KAAK,CAAC,CACrB,CAAC,EACN,iDAAiD,CAClD,CAAC;AACF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;KAC9D,MAAM,EAAE,CAAC;AACZ,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;KAC9D,MAAM,EAAE,CAAC;AACZ,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC/D,2BAA2B;IAC3B,0BAA0B;CAC3B,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Why a channel's reserved agent connection cannot be read as a user
3
- * connection, or undefined for any other slug. Reading an app's token as the
4
- * person running the agent is not supported yet.
3
+ * connection, or undefined for any other slug. Reading the GitHub App's token
4
+ * as the person running the agent is not supported yet.
5
5
  */
6
6
  export declare function reservedUserConnectionError(slug: string): string | undefined;
7
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"reserved-connections.d.ts","sourceRoot":"","sources":["../../src/channels/reserved-connections.ts"],"names":[],"mappings":"AAuCA;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAS5E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,MAAM,CAGR"}
1
+ {"version":3,"file":"reserved-connections.d.ts","sourceRoot":"","sources":["../../src/channels/reserved-connections.ts"],"names":[],"mappings":"AAcA;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ5E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,MAAM,CAGR"}
@@ -1,45 +1,28 @@
1
1
  import { GITHUB_TOKEN_SLUG, githubAppConnectionSlug, } from "./github/connections.js";
2
- import { LINEAR_TOKEN_SLUG, linearAppConnectionSlug, } from "./linear/connections.js";
3
2
  // First-party channels' reserved agent connection names, listed here so
4
3
  // resolution does not depend on adapter modules being loaded.
5
4
  const builtinReservedConnections = new Map([
6
- [
7
- GITHUB_TOKEN_SLUG,
8
- {
9
- resolve: githubAppConnectionSlug,
10
- token: "the GitHub App's installation token",
11
- actsAs: "act on GitHub as the App",
12
- },
13
- ],
14
- [
15
- LINEAR_TOKEN_SLUG,
16
- {
17
- resolve: linearAppConnectionSlug,
18
- token: "the Linear app's token",
19
- actsAs: "act in Linear as the app",
20
- },
21
- ],
5
+ [GITHUB_TOKEN_SLUG, (deploymentId) => githubAppConnectionSlug(deploymentId)],
22
6
  ]);
23
7
  /**
24
8
  * Why a channel's reserved agent connection cannot be read as a user
25
- * connection, or undefined for any other slug. Reading an app's token as the
26
- * person running the agent is not supported yet.
9
+ * connection, or undefined for any other slug. Reading the GitHub App's token
10
+ * as the person running the agent is not supported yet.
27
11
  */
28
12
  export function reservedUserConnectionError(slug) {
29
- const reserved = builtinReservedConnections.get(slug);
30
- if (!reserved)
13
+ if (!builtinReservedConnections.has(slug))
31
14
  return undefined;
32
15
  const name = JSON.stringify(slug);
33
- return (`${name} is not supported as a user connection yet: it is ${reserved.token}, ` +
34
- `an agent connection. Use connections.get(${name}, { type: "agent" }) to ` +
35
- `${reserved.actsAs}.`);
16
+ return (`${name} is not supported as a user connection yet: it is the GitHub App's ` +
17
+ `installation token, an agent connection. Use connections.get(${name}, ` +
18
+ `{ type: "agent" }) to act on GitHub as the App.`);
36
19
  }
37
20
  /**
38
21
  * The connection that actually holds a channel's reserved agent connection;
39
22
  * other slugs pass through unchanged.
40
23
  */
41
24
  export function reservedAgentConnectionSlug(slug, deploymentId) {
42
- const reserved = builtinReservedConnections.get(slug);
43
- return reserved && deploymentId ? reserved.resolve(deploymentId) : slug;
25
+ const resolve = builtinReservedConnections.get(slug);
26
+ return resolve && deploymentId ? resolve(deploymentId) : slug;
44
27
  }
45
28
  //# sourceMappingURL=reserved-connections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reserved-connections.js","sourceRoot":"","sources":["../../src/channels/reserved-connections.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,wEAAwE;AACxE,8DAA8D;AAC9D,MAAM,0BAA0B,GAAG,IAAI,GAAG,CASxC;IACA;QACE,iBAAiB;QACjB;YACE,OAAO,EAAE,uBAAuB;YAChC,KAAK,EAAE,qCAAqC;YAC5C,MAAM,EAAE,0BAA0B;SACnC;KACF;IACD;QACE,iBAAiB;QACjB;YACE,OAAO,EAAE,uBAAuB;YAChC,KAAK,EAAE,wBAAwB;YAC/B,MAAM,EAAE,0BAA0B;SACnC;KACF;CACF,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAY;IACtD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,CACL,GAAG,IAAI,qDAAqD,QAAQ,CAAC,KAAK,IAAI;QAC9E,4CAA4C,IAAI,0BAA0B;QAC1E,GAAG,QAAQ,CAAC,MAAM,GAAG,CACtB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,IAAY,EACZ,YAAgC;IAEhC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtD,OAAO,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"reserved-connections.js","sourceRoot":"","sources":["../../src/channels/reserved-connections.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,wEAAwE;AACxE,8DAA8D;AAC9D,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAGxC;IACA,CAAC,iBAAiB,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;CAC7E,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAY;IACtD,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,CACL,GAAG,IAAI,qEAAqE;QAC5E,gEAAgE,IAAI,IAAI;QACxE,iDAAiD,CAClD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,IAAY,EACZ,YAAgC;IAEhC,MAAM,OAAO,GAAG,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChE,CAAC"}
@@ -16,21 +16,7 @@ export interface ChannelStateInput {
16
16
  /** A user message's text, a message, or state to start a run with. */
17
17
  export type ChannelRunInput = string | BaseMessage | ChannelStateInput;
18
18
  /** Run options a handler may set with its input, as `agent.invoke` takes them. */
19
- export type ChannelRunOptions = Pick<LangGraphRunnableConfig<Record<string, unknown>>, "context"> & {
20
- /**
21
- * Metadata for the run, such as where it came from, to find it by in
22
- * LangSmith. Keys are letters, digits, `_`, `.` or `-` and start with a
23
- * letter; `mda_` and `langgraph_` keys are reserved. MDA's own keys win.
24
- */
25
- metadata?: Record<string, unknown>;
26
- /**
27
- * A URL the Agent Server POSTs the finished run to (its status, metadata,
28
- * values and any error), as LangGraph's `runs.create({ webhook })` does:
29
- * from the server, so it reaches you even if the deployment restarts.
30
- * http(s), without credentials in it.
31
- */
32
- webhook?: string;
33
- };
19
+ export type ChannelRunOptions = Pick<LangGraphRunnableConfig<Record<string, unknown>>, "context">;
34
20
  /**
35
21
  * What a channel handler may return to start a run: the input, or the input
36
22
  * with run options, as `agent.invoke(input, options)` takes them.
@@ -43,8 +29,6 @@ export interface NormalizedRunInput {
43
29
  /** Other state keys. */
44
30
  state: JsonObject;
45
31
  context?: JsonObject;
46
- metadata?: JsonObject;
47
- webhook?: string;
48
32
  }
49
33
  /**
50
34
  * Normalize what a handler returned. `null` and `undefined` start nothing;
@@ -1 +1 @@
1
- {"version":3,"file":"run-input.d.ts","sourceRoot":"","sources":["../../src/channels/run-input.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,sEAAsE;AACtE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAEvE,kFAAkF;AAClF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAChD,SAAS,CACV,GAAG;IACF;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,SAAS,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;AAElD,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,wBAAwB;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AASD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,GACb,kBAAkB,GAAG,SAAS,CAsBhC"}
1
+ {"version":3,"file":"run-input.d.ts","sourceRoot":"","sources":["../../src/channels/run-input.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,sEAAsE;AACtE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAEvE,kFAAkF;AAClF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAChD,SAAS,CACV,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,SAAS,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;AAElD,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,wBAAwB;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AASD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,GACb,kBAAkB,GAAG,SAAS,CAsBhC"}
@@ -27,61 +27,16 @@ export function normalizeRunInput(value) {
27
27
  return normalized;
28
28
  if (!isPlainObject(options))
29
29
  throw new TypeError("run options must be an object");
30
- const { context, metadata, webhook, ...rest } = options;
30
+ const { context, ...rest } = options;
31
31
  if (Object.keys(rest).length)
32
- throw new TypeError(`unsupported run option ${Object.keys(rest).join(", ")}; use context, metadata or webhook`);
33
- return {
34
- ...normalized,
35
- ...(context !== undefined && { context: runContext(context) }),
36
- ...(metadata !== undefined && { metadata: runMetadata(metadata) }),
37
- ...(webhook !== undefined && { webhook: runWebhook(webhook) }),
38
- };
39
- }
40
- const WEBHOOK_PREFIX = /^https?:\/\//i;
41
- // eslint-disable-next-line no-control-regex
42
- const UNSAFE_URL_CHARACTER = /[\s\u0000-\u001f\u007f]/;
43
- /**
44
- * The webhook as given, once it is `http://` or `https://`, a host and an
45
- * optional port, without credentials, whitespace or control characters. The
46
- * Python runtime checks it the same way, so both pass the Agent Server the
47
- * same string.
48
- */
49
- function runWebhook(webhook) {
50
- let url;
51
- try {
52
- url =
53
- typeof webhook === "string" &&
54
- WEBHOOK_PREFIX.test(webhook) &&
55
- !UNSAFE_URL_CHARACTER.test(webhook)
56
- ? new URL(webhook)
57
- : undefined;
58
- }
59
- catch {
60
- url = undefined;
61
- }
62
- if (!url || !url.hostname || url.username || url.password)
63
- throw new TypeError("run webhook must be an http(s) URL, without credentials in it");
64
- return webhook;
65
- }
66
- function runContext(context) {
32
+ throw new TypeError(`unsupported run option ${Object.keys(rest).join(", ")}; use context`);
33
+ if (context === undefined)
34
+ return normalized;
67
35
  if (!isPlainObject(context) || !isJsonValue(context))
68
36
  throw new TypeError("run context must be a JSON object");
69
37
  if ("channel" in context)
70
38
  throw new TypeError("context.channel is reserved for managed ingress");
71
- return context;
72
- }
73
- /** The metadata keys a handler may set. */
74
- const METADATA_KEY = /^[A-Za-z][A-Za-z0-9_.-]{0,63}$/;
75
- /** Keys MDA and the Agent Server set, and object internals. */
76
- const RESERVED_METADATA_KEY = /^(mda_|langgraph_)|^(constructor|prototype)$/i;
77
- function runMetadata(metadata) {
78
- if (!isPlainObject(metadata) || !isJsonValue(metadata))
79
- throw new TypeError("run metadata must be a JSON object");
80
- for (const key of Object.keys(metadata)) {
81
- if (!METADATA_KEY.test(key) || RESERVED_METADATA_KEY.test(key))
82
- throw new TypeError("run metadata keys are letters, digits, _, . or -, start with a letter, and don't start with mda_ or langgraph_");
83
- }
84
- return metadata;
39
+ return { ...normalized, context: context };
85
40
  }
86
41
  function normalizeInput(input) {
87
42
  if (typeof input === "string") {
@@ -1 +1 @@
1
- {"version":3,"file":"run-input.js","sourceRoot":"","sources":["../../src/channels/run-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-input.js","sourceRoot":"","sources":["../../src/channels/run-input.ts"],"names":[],"mappings":"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"}