managed-deepagents 0.9.2-dev.8 → 0.10.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +155 -0
- package/dist/agent-auth.d.ts +1 -1
- package/dist/agent-auth.d.ts.map +1 -1
- package/dist/agent-auth.js +36 -12
- package/dist/agent-auth.js.map +1 -1
- package/dist/channels/github/connections.d.ts +11 -0
- package/dist/channels/github/connections.d.ts.map +1 -0
- package/dist/channels/github/connections.js +14 -0
- package/dist/channels/github/connections.js.map +1 -0
- package/dist/channels/github/index.d.ts +15 -0
- package/dist/channels/github/index.d.ts.map +1 -0
- package/dist/channels/github/index.js +336 -0
- package/dist/channels/github/index.js.map +1 -0
- package/dist/channels/github/schema.d.ts +3894 -0
- package/dist/channels/github/schema.d.ts.map +1 -0
- package/dist/channels/github/schema.js +190 -0
- package/dist/channels/github/schema.js.map +1 -0
- package/dist/channels/github/types.d.ts +100 -0
- package/dist/channels/github/types.d.ts.map +1 -0
- package/dist/channels/github/types.js +2 -0
- package/dist/channels/github/types.js.map +1 -0
- package/dist/channels/http/http.d.ts.map +1 -1
- package/dist/channels/http/http.js +100 -15
- package/dist/channels/http/http.js.map +1 -1
- package/dist/channels/http/index.d.ts +2 -1
- package/dist/channels/http/index.d.ts.map +1 -1
- package/dist/channels/http/index.js +11 -1
- package/dist/channels/http/index.js.map +1 -1
- package/dist/channels/http/ingress.d.ts +27 -2
- package/dist/channels/http/ingress.d.ts.map +1 -1
- package/dist/channels/http/ingress.js +106 -13
- package/dist/channels/http/ingress.js.map +1 -1
- package/dist/channels/http/threads.d.ts +7 -0
- package/dist/channels/http/threads.d.ts.map +1 -0
- package/dist/channels/http/threads.js +10 -0
- package/dist/channels/http/threads.js.map +1 -0
- package/dist/channels/http/types.d.ts +42 -1
- package/dist/channels/http/types.d.ts.map +1 -1
- package/dist/channels/reserved-connections.d.ts +12 -0
- package/dist/channels/reserved-connections.d.ts.map +1 -0
- package/dist/channels/reserved-connections.js +28 -0
- package/dist/channels/reserved-connections.js.map +1 -0
- package/dist/channels/run-input.d.ts +38 -0
- package/dist/channels/run-input.d.ts.map +1 -0
- package/dist/channels/run-input.js +95 -0
- package/dist/channels/run-input.js.map +1 -0
- package/dist/channels/trigger/ingress.d.ts.map +1 -1
- package/dist/channels/trigger/ingress.js +1 -19
- package/dist/channels/trigger/ingress.js.map +1 -1
- package/dist/channels/types.d.ts.map +1 -1
- package/dist/channels/types.js +14 -9
- package/dist/channels/types.js.map +1 -1
- package/dist/connections.d.ts +8 -0
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +41 -6
- package/dist/connections.js.map +1 -1
- package/dist/connectors/mcp/index.d.ts +2 -2
- package/dist/connectors/mcp/index.d.ts.map +1 -1
- package/dist/connectors/mcp/index.js +16 -15
- package/dist/connectors/mcp/index.js.map +1 -1
- package/dist/credential-gate.d.ts +2 -0
- package/dist/credential-gate.d.ts.map +1 -1
- package/dist/credential-gate.js +16 -3
- package/dist/credential-gate.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/ingress/runs.d.ts +43 -1
- package/dist/ingress/runs.d.ts.map +1 -1
- package/dist/ingress/runs.js +95 -2
- package/dist/ingress/runs.js.map +1 -1
- package/dist/namespaces.d.ts +6 -0
- package/dist/namespaces.d.ts.map +1 -1
- package/dist/namespaces.js +2 -0
- package/dist/namespaces.js.map +1 -1
- package/dist/runtime/auth.d.ts +5 -0
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +75 -5
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/sandbox-manager.d.ts +1 -1
- package/dist/runtime/sandbox-manager.d.ts.map +1 -1
- package/dist/runtime/sandbox-manager.js +3 -3
- package/dist/runtime/sandbox-manager.js.map +1 -1
- package/dist/schedule-time.d.ts.map +1 -1
- package/dist/schedule-time.js +6 -1
- package/dist/schedule-time.js.map +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/channels/github/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
// Shared scalar constraints. Dispatch IDs are positive safe integers.
|
|
3
|
+
const nonblankStringSchema = z
|
|
4
|
+
.string()
|
|
5
|
+
.refine((value) => value.trim().length > 0);
|
|
6
|
+
const nullableTextSchema = z.string().nullable();
|
|
7
|
+
export const githubIdentifierSchema = z.number().int().positive();
|
|
8
|
+
/** Receipt metadata only, not a complete GitHub event payload specification. */
|
|
9
|
+
export const githubReceiptSchema = z.object({
|
|
10
|
+
event: nonblankStringSchema,
|
|
11
|
+
deliveryId: nonblankStringSchema,
|
|
12
|
+
payload: z.looseObject({
|
|
13
|
+
action: z.string().optional(),
|
|
14
|
+
repository: z.looseObject({ id: z.number().int().optional() }).optional(),
|
|
15
|
+
issue: z.looseObject({ number: z.number().int().optional() }).optional(),
|
|
16
|
+
pull_request: z
|
|
17
|
+
.looseObject({ number: z.number().int().optional() })
|
|
18
|
+
.optional(),
|
|
19
|
+
}),
|
|
20
|
+
});
|
|
21
|
+
// Payload subjects. Loose objects retain unmodeled provider fields.
|
|
22
|
+
const issueSchema = z.looseObject({
|
|
23
|
+
number: githubIdentifierSchema,
|
|
24
|
+
title: nonblankStringSchema,
|
|
25
|
+
body: nullableTextSchema,
|
|
26
|
+
pull_request: z.record(z.string(), z.unknown()).optional(),
|
|
27
|
+
});
|
|
28
|
+
const pullRequestSchema = issueSchema.extend({
|
|
29
|
+
draft: z.boolean().optional(),
|
|
30
|
+
merged: z.boolean().optional(),
|
|
31
|
+
});
|
|
32
|
+
const commentSchema = z.looseObject({
|
|
33
|
+
id: githubIdentifierSchema,
|
|
34
|
+
body: z.string(),
|
|
35
|
+
});
|
|
36
|
+
const labelSchema = z.looseObject({ name: nonblankStringSchema });
|
|
37
|
+
const reviewSchema = z.looseObject({
|
|
38
|
+
id: githubIdentifierSchema,
|
|
39
|
+
body: nullableTextSchema,
|
|
40
|
+
state: nonblankStringSchema,
|
|
41
|
+
});
|
|
42
|
+
const workflowRunSchema = z.looseObject({
|
|
43
|
+
id: githubIdentifierSchema,
|
|
44
|
+
conclusion: nullableTextSchema,
|
|
45
|
+
pull_requests: z.array(z.record(z.string(), z.unknown())),
|
|
46
|
+
});
|
|
47
|
+
const checkRunSchema = z.looseObject({
|
|
48
|
+
id: githubIdentifierSchema,
|
|
49
|
+
name: nonblankStringSchema,
|
|
50
|
+
head_sha: nonblankStringSchema,
|
|
51
|
+
conclusion: nullableTextSchema,
|
|
52
|
+
pull_requests: z.array(z.record(z.string(), z.unknown())),
|
|
53
|
+
});
|
|
54
|
+
const checkSuiteSchema = z.looseObject({
|
|
55
|
+
id: githubIdentifierSchema,
|
|
56
|
+
head_sha: nonblankStringSchema,
|
|
57
|
+
conclusion: nullableTextSchema,
|
|
58
|
+
pull_requests: z.array(z.record(z.string(), z.unknown())),
|
|
59
|
+
});
|
|
60
|
+
// Common dispatch context and reusable payload families.
|
|
61
|
+
const senderSchema = z.looseObject({
|
|
62
|
+
id: githubIdentifierSchema,
|
|
63
|
+
login: nonblankStringSchema,
|
|
64
|
+
type: z.enum(["User", "Bot", "Organization"]),
|
|
65
|
+
});
|
|
66
|
+
const repositorySchema = z.looseObject({
|
|
67
|
+
id: githubIdentifierSchema,
|
|
68
|
+
owner: z.looseObject({ login: nonblankStringSchema }),
|
|
69
|
+
name: nonblankStringSchema,
|
|
70
|
+
full_name: nonblankStringSchema,
|
|
71
|
+
private: z.boolean(),
|
|
72
|
+
});
|
|
73
|
+
const dispatchPayloadSchema = z.looseObject({
|
|
74
|
+
repository: repositorySchema,
|
|
75
|
+
sender: senderSchema,
|
|
76
|
+
installation: z.looseObject({ id: githubIdentifierSchema }),
|
|
77
|
+
});
|
|
78
|
+
const issuePayloadSchema = dispatchPayloadSchema.extend({ issue: issueSchema });
|
|
79
|
+
const pullRequestPayloadSchema = dispatchPayloadSchema.extend({
|
|
80
|
+
pull_request: pullRequestSchema,
|
|
81
|
+
});
|
|
82
|
+
function dispatchEventSchema(key, payloadSchema) {
|
|
83
|
+
return z.object({
|
|
84
|
+
key: z.literal(key),
|
|
85
|
+
deliveryId: nonblankStringSchema,
|
|
86
|
+
payload: payloadSchema,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/** Each supported event key requires its exact payload action and subject. */
|
|
90
|
+
export const githubDispatchSchema = z.discriminatedUnion("key", [
|
|
91
|
+
dispatchEventSchema("issues.opened", issuePayloadSchema.extend({ action: z.literal("opened") })),
|
|
92
|
+
dispatchEventSchema("issues.edited", issuePayloadSchema.extend({ action: z.literal("edited") })),
|
|
93
|
+
dispatchEventSchema("issues.reopened", issuePayloadSchema.extend({ action: z.literal("reopened") })),
|
|
94
|
+
dispatchEventSchema("issues.labeled", issuePayloadSchema.extend({
|
|
95
|
+
action: z.literal("labeled"),
|
|
96
|
+
label: labelSchema,
|
|
97
|
+
})),
|
|
98
|
+
dispatchEventSchema("issue_comment.created", issuePayloadSchema.extend({
|
|
99
|
+
action: z.literal("created"),
|
|
100
|
+
comment: commentSchema,
|
|
101
|
+
})),
|
|
102
|
+
dispatchEventSchema("issue_comment.edited", issuePayloadSchema.extend({
|
|
103
|
+
action: z.literal("edited"),
|
|
104
|
+
comment: commentSchema,
|
|
105
|
+
})),
|
|
106
|
+
dispatchEventSchema("pull_request.opened", pullRequestPayloadSchema.extend({ action: z.literal("opened") })),
|
|
107
|
+
dispatchEventSchema("pull_request.edited", pullRequestPayloadSchema.extend({ action: z.literal("edited") })),
|
|
108
|
+
dispatchEventSchema("pull_request.reopened", pullRequestPayloadSchema.extend({ action: z.literal("reopened") })),
|
|
109
|
+
dispatchEventSchema("pull_request.ready_for_review", pullRequestPayloadSchema.extend({ action: z.literal("ready_for_review") })),
|
|
110
|
+
dispatchEventSchema("pull_request.converted_to_draft", pullRequestPayloadSchema.extend({
|
|
111
|
+
action: z.literal("converted_to_draft"),
|
|
112
|
+
})),
|
|
113
|
+
dispatchEventSchema("pull_request.synchronize", pullRequestPayloadSchema.extend({ action: z.literal("synchronize") })),
|
|
114
|
+
dispatchEventSchema("pull_request.labeled", pullRequestPayloadSchema.extend({
|
|
115
|
+
action: z.literal("labeled"),
|
|
116
|
+
label: labelSchema,
|
|
117
|
+
})),
|
|
118
|
+
dispatchEventSchema("pull_request.closed", pullRequestPayloadSchema.extend({ action: z.literal("closed") })),
|
|
119
|
+
dispatchEventSchema("pull_request_review.submitted", pullRequestPayloadSchema.extend({
|
|
120
|
+
action: z.literal("submitted"),
|
|
121
|
+
review: reviewSchema,
|
|
122
|
+
})),
|
|
123
|
+
dispatchEventSchema("pull_request_review.edited", pullRequestPayloadSchema.extend({
|
|
124
|
+
action: z.literal("edited"),
|
|
125
|
+
review: reviewSchema,
|
|
126
|
+
})),
|
|
127
|
+
dispatchEventSchema("pull_request_review.dismissed", pullRequestPayloadSchema.extend({
|
|
128
|
+
action: z.literal("dismissed"),
|
|
129
|
+
review: reviewSchema,
|
|
130
|
+
})),
|
|
131
|
+
dispatchEventSchema("pull_request_review_comment.created", pullRequestPayloadSchema.extend({
|
|
132
|
+
action: z.literal("created"),
|
|
133
|
+
comment: commentSchema,
|
|
134
|
+
})),
|
|
135
|
+
dispatchEventSchema("pull_request_review_comment.edited", pullRequestPayloadSchema.extend({
|
|
136
|
+
action: z.literal("edited"),
|
|
137
|
+
comment: commentSchema,
|
|
138
|
+
})),
|
|
139
|
+
// Events without an action are keyed by their name alone.
|
|
140
|
+
dispatchEventSchema("push", dispatchPayloadSchema.extend({
|
|
141
|
+
action: z.never().optional(),
|
|
142
|
+
ref: nonblankStringSchema,
|
|
143
|
+
before: nonblankStringSchema,
|
|
144
|
+
after: nonblankStringSchema,
|
|
145
|
+
})),
|
|
146
|
+
dispatchEventSchema("status", dispatchPayloadSchema.extend({
|
|
147
|
+
action: z.never().optional(),
|
|
148
|
+
id: githubIdentifierSchema,
|
|
149
|
+
sha: nonblankStringSchema,
|
|
150
|
+
state: nonblankStringSchema,
|
|
151
|
+
context: nonblankStringSchema,
|
|
152
|
+
})),
|
|
153
|
+
dispatchEventSchema("check_run.completed", dispatchPayloadSchema.extend({
|
|
154
|
+
action: z.literal("completed"),
|
|
155
|
+
check_run: checkRunSchema,
|
|
156
|
+
})),
|
|
157
|
+
dispatchEventSchema("check_suite.completed", dispatchPayloadSchema.extend({
|
|
158
|
+
action: z.literal("completed"),
|
|
159
|
+
check_suite: checkSuiteSchema,
|
|
160
|
+
})),
|
|
161
|
+
dispatchEventSchema("workflow_run.completed", dispatchPayloadSchema.extend({
|
|
162
|
+
action: z.literal("completed"),
|
|
163
|
+
workflow_run: workflowRunSchema,
|
|
164
|
+
})),
|
|
165
|
+
]);
|
|
166
|
+
export const SUPPORTED_EVENT_KEYS = githubDispatchSchema.options.map((option) => option.shape.key.value);
|
|
167
|
+
// Expose common routing metadata while preserving the original payload.
|
|
168
|
+
export const githubEventSchema = githubDispatchSchema.transform((event) => ({
|
|
169
|
+
...event,
|
|
170
|
+
name: event.key.split(".")[0],
|
|
171
|
+
// `push` and `status` have no action, and an absent field keeps the
|
|
172
|
+
// event JSON.
|
|
173
|
+
...(event.payload.action !== undefined && {
|
|
174
|
+
action: event.payload.action,
|
|
175
|
+
}),
|
|
176
|
+
installationId: event.payload.installation.id,
|
|
177
|
+
repository: {
|
|
178
|
+
id: event.payload.repository.id,
|
|
179
|
+
owner: event.payload.repository.owner.login,
|
|
180
|
+
name: event.payload.repository.name,
|
|
181
|
+
fullName: event.payload.repository.full_name,
|
|
182
|
+
private: event.payload.repository.private,
|
|
183
|
+
},
|
|
184
|
+
sender: {
|
|
185
|
+
id: event.payload.sender.id,
|
|
186
|
+
login: event.payload.sender.login,
|
|
187
|
+
type: event.payload.sender.type,
|
|
188
|
+
},
|
|
189
|
+
}));
|
|
190
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/channels/github/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import type { z } from "zod";
|
|
2
|
+
import type { MultitaskStrategy } from "../../ingress/runs.js";
|
|
3
|
+
import type { githubEventSchema } from "./schema.js";
|
|
4
|
+
import type { ChannelRunResult } from "../run-input.js";
|
|
5
|
+
/** Handwritten schema subsets; unmodeled provider fields remain unknown. */
|
|
6
|
+
type EventUnion = z.output<typeof githubEventSchema>;
|
|
7
|
+
export type SupportedEventKey = EventUnion["key"];
|
|
8
|
+
export type GitHubEvent<K extends SupportedEventKey = SupportedEventKey> = Extract<EventUnion, {
|
|
9
|
+
key: K;
|
|
10
|
+
}>;
|
|
11
|
+
export type PayloadFor<K extends SupportedEventKey> = GitHubEvent<K>["payload"];
|
|
12
|
+
export interface GitHubChannelRuntime {
|
|
13
|
+
channel: {
|
|
14
|
+
name: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Set when the event's conversation waits on a decision. No run starts:
|
|
18
|
+
* what the handler returns only decides whether the App tells the issue or
|
|
19
|
+
* pull request that a decision is pending, so skip side effects such as
|
|
20
|
+
* reactions.
|
|
21
|
+
*/
|
|
22
|
+
paused?: true;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* What an event handler returns: a run's input, as `agent.invoke` takes it —
|
|
26
|
+
* a string, a message such as `new HumanMessage(...)`, state such as
|
|
27
|
+
* `{ messages: [...] }`, or `[input, { context }]`. `null` or `undefined`
|
|
28
|
+
* starts nothing.
|
|
29
|
+
*/
|
|
30
|
+
export type GitHubEventResult = ChannelRunResult | null | undefined | void;
|
|
31
|
+
export type GitHubEventCallback<K extends SupportedEventKey> = (event: GitHubEvent<K>, runtime: GitHubChannelRuntime) => GitHubEventResult | Promise<GitHubEventResult>;
|
|
32
|
+
/**
|
|
33
|
+
* What the agent may do with the GitHub App `mda deploy` sets up. Deploy
|
|
34
|
+
* applies changes to these on every run, except to the App's own
|
|
35
|
+
* permissions (see `permissions`).
|
|
36
|
+
*/
|
|
37
|
+
export interface GitHubAppOptions {
|
|
38
|
+
/**
|
|
39
|
+
* Permissions the agent's GitHub token needs beyond those the handled
|
|
40
|
+
* events need, e.g. `{ contents: "read" }`. A new App asks for both.
|
|
41
|
+
*
|
|
42
|
+
* Handled events set their own level: read to receive an event, write to
|
|
43
|
+
* also reply where it happened. These can raise that level but not lower
|
|
44
|
+
* it.
|
|
45
|
+
*
|
|
46
|
+
* Deploy renews the agent's token with changed permissions, but it cannot
|
|
47
|
+
* change the App itself: GitHub reads an App's permissions from its
|
|
48
|
+
* manifest only when the App is created, and has no API to change them
|
|
49
|
+
* later. The App's owner grants added permissions, and removes dropped or
|
|
50
|
+
* lowered ones, in the App's settings on GitHub. Deploy names both and
|
|
51
|
+
* links there; until a dropped permission is removed, the App keeps it
|
|
52
|
+
* even though the agent's token no longer has it.
|
|
53
|
+
*/
|
|
54
|
+
permissions?: Record<string, "read" | "write">;
|
|
55
|
+
/**
|
|
56
|
+
* Repositories (`owner/name`, one owner) the channel is limited to: events
|
|
57
|
+
* from other repositories start nothing, and deploy reports listed ones the
|
|
58
|
+
* App is not installed on. Defaults to every repository the App is
|
|
59
|
+
* installed on. The agent's token still reaches every repository of the
|
|
60
|
+
* installation, so install the App only on the ones the agent may change.
|
|
61
|
+
*/
|
|
62
|
+
repositories?: string[];
|
|
63
|
+
}
|
|
64
|
+
/** Options for `channels.github(...)`: App scope and event handlers that start runs. */
|
|
65
|
+
export interface GitHubChannelOptions {
|
|
66
|
+
/** App `mda deploy` creates; permissions and repository allowlist. */
|
|
67
|
+
app?: GitHubAppOptions;
|
|
68
|
+
/**
|
|
69
|
+
* What an event that starts a run does while its conversation already
|
|
70
|
+
* runs: `enqueue` (the default) waits for the run and starts after it,
|
|
71
|
+
* `interrupt` cancels the run, keeping its progress, and starts at once,
|
|
72
|
+
* `rollback` cancels it and discards its progress, and `reject` starts
|
|
73
|
+
* nothing. Events on a conversation that waits on an interrupt start
|
|
74
|
+
* nothing either way.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```ts
|
|
78
|
+
* // A newer comment replaces the work on an older one.
|
|
79
|
+
* channels.github({ multitaskStrategy: "interrupt", onEvent })
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
multitaskStrategy?: MultitaskStrategy;
|
|
83
|
+
/**
|
|
84
|
+
* Event handlers that start runs. Return a prompt (string, message, or
|
|
85
|
+
* state), or nothing to skip. While a thread waits on an interrupt, events
|
|
86
|
+
* start nothing: the handler still runs, with `runtime.paused` set, to
|
|
87
|
+
* decide whether the issue or pull request is told to continue it in
|
|
88
|
+
* LangSmith Studio.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```ts
|
|
92
|
+
* { "issues.opened": (e) => `Help with #${e.payload.issue.number}` }
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
onEvent?: {
|
|
96
|
+
[K in SupportedEventKey]?: GitHubEventCallback<K>;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
export {};
|
|
100
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/channels/github/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,4EAA4E;AAC5E,KAAK,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACrD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAClD,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,IACrE,OAAO,CAAC,UAAU,EAAE;IAAE,GAAG,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAClC,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,iBAAiB,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAEhF,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;AAE3E,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,iBAAiB,IAAI,CAC7D,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EACrB,OAAO,EAAE,oBAAoB,KAC1B,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IAC/C;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wFAAwF;AACxF,MAAM,WAAW,oBAAoB;IACnC,sEAAsE;IACtE,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE;SAAG,CAAC,IAAI,iBAAiB,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;KAAE,CAAC;CACjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/channels/github/types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/channels/http/http.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/channels/http/http.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,kBAAkB,EAKnB,MAAM,YAAY,CAAC;AASpB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAKrE,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,oBAAoB,EACzB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,QAAQ,CAAC,CA2OnB"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { channelContextSchema } from "../../run-context.js";
|
|
2
2
|
import { immutableCopy, validateMessage } from "../runtime.js";
|
|
3
3
|
import { isJsonValue } from "../message-schema.js";
|
|
4
|
-
import {
|
|
4
|
+
import { normalizeRunInput } from "../run-input.js";
|
|
5
|
+
import { startHttpIngressAgent, observeHttpIngressAgent, waitForHttpIngressThread, } from "./ingress.js";
|
|
5
6
|
import { scheduleIngressWork } from "../../ingress/index.js";
|
|
6
7
|
import { logger } from "../../runtime/log.js";
|
|
7
8
|
const ASSISTANT_ID_ENV = "MDA_ASSISTANT_ID";
|
|
@@ -40,7 +41,7 @@ export async function handleHttpRequest(ctx, adapter) {
|
|
|
40
41
|
}
|
|
41
42
|
let message = result.message;
|
|
42
43
|
try {
|
|
43
|
-
validateInboundMessage(message);
|
|
44
|
+
validateInboundMessage(message, adapter.input !== undefined);
|
|
44
45
|
message = immutableCopy(message);
|
|
45
46
|
}
|
|
46
47
|
catch {
|
|
@@ -59,12 +60,14 @@ export async function handleHttpRequest(ctx, adapter) {
|
|
|
59
60
|
sourceThreadKey,
|
|
60
61
|
event: {
|
|
61
62
|
type: "message",
|
|
62
|
-
messages:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
messages: message.content === undefined
|
|
64
|
+
? []
|
|
65
|
+
: [
|
|
66
|
+
{
|
|
67
|
+
role: "human",
|
|
68
|
+
content: message.content,
|
|
69
|
+
},
|
|
70
|
+
],
|
|
68
71
|
},
|
|
69
72
|
...(result.rawEvent === undefined ? {} : { rawEvent: result.rawEvent }),
|
|
70
73
|
target: message.target,
|
|
@@ -77,20 +80,63 @@ export async function handleHttpRequest(ctx, adapter) {
|
|
|
77
80
|
sourceThreadKey,
|
|
78
81
|
sourceProvider: ctx.channel.kind,
|
|
79
82
|
binding,
|
|
80
|
-
input: message.content,
|
|
81
83
|
assistantId,
|
|
82
84
|
};
|
|
83
|
-
|
|
85
|
+
const rawEvent = result.rawEvent;
|
|
86
|
+
const runInfo = (assistantId) => ({
|
|
87
|
+
threadId,
|
|
88
|
+
...(assistantId !== undefined && { assistantId }),
|
|
89
|
+
...(result.rawEvent !== undefined && {
|
|
90
|
+
rawEvent: structuredClone(result.rawEvent),
|
|
91
|
+
}),
|
|
92
|
+
});
|
|
93
|
+
const inputHook = adapter.input?.bind(adapter);
|
|
94
|
+
async function prepare() {
|
|
95
|
+
try {
|
|
96
|
+
return normalizeRunInput(await inputHook?.(immutableCopy(message), rawEvent === undefined ? undefined : structuredClone(rawEvent)));
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
logger.error(`channel input failed (${logger.safeErrorLabel(error)})`);
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const startInput = {
|
|
104
|
+
...input,
|
|
105
|
+
...(message.deliveryKey !== undefined && {
|
|
106
|
+
deliveryKey: message.deliveryKey,
|
|
107
|
+
}),
|
|
108
|
+
...(message.content !== undefined
|
|
109
|
+
? { input: message.content }
|
|
110
|
+
: { prepare }),
|
|
111
|
+
...(adapter.multitaskStrategy && {
|
|
112
|
+
multitaskStrategy: adapter.multitaskStrategy,
|
|
113
|
+
}),
|
|
114
|
+
};
|
|
115
|
+
let outcome;
|
|
84
116
|
try {
|
|
85
|
-
|
|
117
|
+
outcome = await startHttpIngressAgent(startInput);
|
|
86
118
|
}
|
|
87
119
|
catch (error) {
|
|
88
120
|
logger.error(`channel run could not be started (${logger.safeErrorLabel(error)})`);
|
|
89
121
|
return jsonError(500, "channel run could not be started");
|
|
90
122
|
}
|
|
123
|
+
const label = `channel "${ctx.name}" delivery`;
|
|
124
|
+
const onPaused = adapter.onPaused?.bind(adapter);
|
|
125
|
+
async function notifyPaused(assistantId) {
|
|
126
|
+
if (!onPaused)
|
|
127
|
+
return;
|
|
128
|
+
try {
|
|
129
|
+
// The thread's assistant lets the notice link to it in Studio.
|
|
130
|
+
await onPaused(immutableCopy(message.target), runInfo(assistantId));
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
logger.error(`channel paused notice failed (${logger.safeErrorLabel(error)})`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
91
136
|
const post = adapter.post?.bind(adapter);
|
|
92
137
|
const onError = adapter.onError?.bind(adapter);
|
|
93
|
-
|
|
138
|
+
async function deliver(started) {
|
|
139
|
+
logger.info(`channel run started ${JSON.stringify({ threadId, runId: logger.logIdentifier(started.runId) })}`);
|
|
94
140
|
let replyAttempted = false;
|
|
95
141
|
try {
|
|
96
142
|
const invocation = await observeHttpIngressAgent({
|
|
@@ -127,7 +173,42 @@ export async function handleHttpRequest(ctx, adapter) {
|
|
|
127
173
|
logger.error(`channel error ${action} failed (${logger.safeErrorLabel(replyError)})`);
|
|
128
174
|
}
|
|
129
175
|
}
|
|
130
|
-
}
|
|
176
|
+
}
|
|
177
|
+
// The thread's current run may still stop for a decision, so the message
|
|
178
|
+
// waits for that run instead of queueing behind it, then checks again.
|
|
179
|
+
async function startWhenIdle() {
|
|
180
|
+
let next = { skipped: "busy" };
|
|
181
|
+
try {
|
|
182
|
+
while ("skipped" in next && next.skipped === "busy") {
|
|
183
|
+
await waitForHttpIngressThread(input);
|
|
184
|
+
next = await startHttpIngressAgent(startInput);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
logger.error(`channel run could not be started (${logger.safeErrorLabel(error)})`);
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
if (!("skipped" in next))
|
|
192
|
+
return deliver(next);
|
|
193
|
+
logger.info(`channel run skipped ${JSON.stringify({ threadId, reason: next.skipped })}`);
|
|
194
|
+
if (next.skipped === "paused")
|
|
195
|
+
await notifyPaused(next.assistantId);
|
|
196
|
+
}
|
|
197
|
+
if ("skipped" in outcome) {
|
|
198
|
+
logger.info(`channel run skipped ${JSON.stringify({ threadId, reason: outcome.skipped })}`);
|
|
199
|
+
if (outcome.skipped === "busy")
|
|
200
|
+
scheduleIngressWork(startWhenIdle, { label });
|
|
201
|
+
else if (outcome.skipped === "paused" && onPaused) {
|
|
202
|
+
const { assistantId } = outcome;
|
|
203
|
+
scheduleIngressWork(() => notifyPaused(assistantId), {
|
|
204
|
+
label: `channel "${ctx.name}" paused notice`,
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
return (result.response ??
|
|
208
|
+
Response.json({ status: outcome.skipped }, { status: 202 }));
|
|
209
|
+
}
|
|
210
|
+
const started = outcome;
|
|
211
|
+
scheduleIngressWork(() => deliver(started), { label });
|
|
131
212
|
return (result.response ??
|
|
132
213
|
Response.json({ status: "accepted", deliveryId }, { status: 202 }));
|
|
133
214
|
}
|
|
@@ -152,15 +233,19 @@ function validParseResult(value) {
|
|
|
152
233
|
}
|
|
153
234
|
return result.type === "ignore" || result.type === "message";
|
|
154
235
|
}
|
|
155
|
-
function validateInboundMessage(message) {
|
|
236
|
+
function validateInboundMessage(message, adapterInput) {
|
|
156
237
|
nonblank(message.userId, "channel userId");
|
|
238
|
+
if (message.deliveryKey !== undefined)
|
|
239
|
+
nonblank(message.deliveryKey, "channel deliveryKey");
|
|
157
240
|
if (typeof message.threadId !== "string" ||
|
|
158
241
|
!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(message.threadId)) {
|
|
159
242
|
throw new Error("channel threadId must be a UUID");
|
|
160
243
|
}
|
|
161
244
|
if (!isJsonValue(message.target))
|
|
162
245
|
throw new Error("channel target must be JSON");
|
|
163
|
-
|
|
246
|
+
// The adapter's `input` supplies what a message without content starts.
|
|
247
|
+
if (message.content !== undefined || !adapterInput)
|
|
248
|
+
validateMessageContent(message.content);
|
|
164
249
|
}
|
|
165
250
|
function validateMessageContent(content) {
|
|
166
251
|
validateMessage({ type: "content", content });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/channels/http/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/channels/http/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { HttpChannelAdapter } from "./types.js";
|
|
2
2
|
import { type Channel } from "../../runtime/channel.js";
|
|
3
|
-
export type { HttpChannelAdapter, HttpChannelInboundMessage, HttpChannelParseResult, HttpChannelRequest, HttpChannelPostInput, HttpPostedMessage, } from "./types.js";
|
|
3
|
+
export type { HttpChannelAdapter, HttpChannelInboundMessage, HttpChannelParseResult, HttpChannelRequest, HttpChannelRunInfo, HttpChannelPostInput, HttpPostedMessage, } from "./types.js";
|
|
4
|
+
export { channelThreadId } from "./threads.js";
|
|
4
5
|
export type HttpChannel = Channel & {
|
|
5
6
|
readonly kind: string;
|
|
6
7
|
};
|
|
@@ -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,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
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,8 +1,18 @@
|
|
|
1
1
|
import { immutableCopy } from "../runtime.js";
|
|
2
2
|
import { handleHttpRequest } from "./http.js";
|
|
3
3
|
import { CHANNEL_BRAND, } from "../../runtime/channel.js";
|
|
4
|
+
export { channelThreadId } from "./threads.js";
|
|
5
|
+
const MULTITASK_STRATEGIES = new Set([
|
|
6
|
+
"enqueue",
|
|
7
|
+
"interrupt",
|
|
8
|
+
"rollback",
|
|
9
|
+
"reject",
|
|
10
|
+
]);
|
|
4
11
|
export function httpChannel(adapter) {
|
|
5
12
|
const provider = nonblank(adapter.provider, "channels.http provider");
|
|
13
|
+
if (adapter.multitaskStrategy !== undefined &&
|
|
14
|
+
!MULTITASK_STRATEGIES.has(adapter.multitaskStrategy))
|
|
15
|
+
throw new TypeError("channel multitaskStrategy must be enqueue, interrupt, rollback or reject");
|
|
6
16
|
const channel = { kind: provider };
|
|
7
17
|
hide(channel, CHANNEL_BRAND, true);
|
|
8
18
|
hide(channel, "events", (ctx) => handleHttpRequest(ctx, adapter));
|
|
@@ -23,7 +33,7 @@ export function httpChannel(adapter) {
|
|
|
23
33
|
autoReply: post !== undefined,
|
|
24
34
|
requiredPermissions: [],
|
|
25
35
|
requiredEnv: [],
|
|
26
|
-
providerConfig: {},
|
|
36
|
+
providerConfig: immutableCopy(adapter.providerConfig ?? {}),
|
|
27
37
|
}));
|
|
28
38
|
return channel;
|
|
29
39
|
}
|
|
@@ -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;
|
|
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"}
|