@mono-agent/agent-app 0.20.1 → 0.20.3
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 +3 -1
- package/dist/app-controller-channels.d.ts +1 -1
- package/dist/app-controller-channels.d.ts.map +1 -1
- package/dist/app-controller-channels.js +1 -1
- package/dist/app-controller-channels.js.map +1 -1
- package/dist/app-controller-process-jobs.d.ts +2 -1
- package/dist/app-controller-process-jobs.d.ts.map +1 -1
- package/dist/app-controller-process-jobs.js +7 -32
- package/dist/app-controller-process-jobs.js.map +1 -1
- package/dist/app-controller-responder.d.ts +1 -1
- package/dist/app-controller-responder.d.ts.map +1 -1
- package/dist/app-controller-responder.js +4 -1
- package/dist/app-controller-responder.js.map +1 -1
- package/dist/app-controller.d.ts +1 -1
- package/dist/app-controller.d.ts.map +1 -1
- package/dist/app-controller.js +5 -1
- package/dist/app-controller.js.map +1 -1
- package/dist/channel-drivers/slack.d.ts.map +1 -1
- package/dist/channel-drivers/slack.js +48 -0
- package/dist/channel-drivers/slack.js.map +1 -1
- package/dist/channel-drivers/telegram.d.ts.map +1 -1
- package/dist/channel-drivers/telegram.js +54 -0
- package/dist/channel-drivers/telegram.js.map +1 -1
- package/dist/channel-drivers/tui.d.ts.map +1 -1
- package/dist/channel-drivers/tui.js +68 -0
- package/dist/channel-drivers/tui.js.map +1 -1
- package/dist/config-reference.js +6 -2
- package/dist/config-reference.js.map +1 -1
- package/dist/configured-agent.d.ts +1 -0
- package/dist/configured-agent.d.ts.map +1 -1
- package/dist/configured-agent.js +1 -0
- package/dist/configured-agent.js.map +1 -1
- package/dist/doctor.d.ts +9 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +33 -4
- package/dist/doctor.js.map +1 -1
- package/dist/process-job-channel-routing.d.ts +16 -0
- package/dist/process-job-channel-routing.d.ts.map +1 -0
- package/dist/process-job-channel-routing.js +104 -0
- package/dist/process-job-channel-routing.js.map +1 -0
- package/dist/process-jobs-context.d.ts +10 -0
- package/dist/process-jobs-context.d.ts.map +1 -1
- package/dist/process-jobs-context.js +98 -1
- package/dist/process-jobs-context.js.map +1 -1
- package/dist/process-jobs-runtime.d.ts +3 -1
- package/dist/process-jobs-runtime.d.ts.map +1 -1
- package/dist/process-jobs-runtime.js +30 -10
- package/dist/process-jobs-runtime.js.map +1 -1
- package/dist/process-jobs-service.d.ts +1 -1
- package/dist/process-jobs-service.d.ts.map +1 -1
- package/dist/process-jobs-service.js +3 -6
- package/dist/process-jobs-service.js.map +1 -1
- package/dist/process-jobs-store.d.ts +2 -1
- package/dist/process-jobs-store.d.ts.map +1 -1
- package/dist/process-jobs-store.js +12 -8
- package/dist/process-jobs-store.js.map +1 -1
- package/package.json +15 -15
- package/schema/mono-agent.config.schema.json +16 -1
- package/skills/mono-agent-composer/references/config-blueprint.md +2 -1
- package/skills/mono-agent-composer/references/discovery-questions.md +5 -3
- package/skills/mono-agent-composer/references/feature-coverage.md +1 -1
- package/skills/mono-agent-composer/references/playbooks.md +1 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { NotifyDeliveryResult, ProcessJobProjection, ProcessJobWakeDeliveryResult } from "@mono-agent/agent-contracts";
|
|
2
|
+
import type { ChannelDriver, ChannelId, MonoAgentAppLogger, RunningChannel } from "./channels.js";
|
|
3
|
+
export interface ProcessJobChannelRoutingInput {
|
|
4
|
+
readonly projection: ProcessJobProjection;
|
|
5
|
+
readonly conversationId: string;
|
|
6
|
+
readonly deliveryKey: string;
|
|
7
|
+
readonly drivers: readonly ChannelDriver[];
|
|
8
|
+
readonly running: ReadonlyMap<ChannelId, RunningChannel>;
|
|
9
|
+
readonly logger?: MonoAgentAppLogger;
|
|
10
|
+
}
|
|
11
|
+
export declare function assertUniqueProcessJobChannelSchemes(drivers: readonly ChannelDriver[]): void;
|
|
12
|
+
export declare function routeProcessJobSurfaceUpdate(input: ProcessJobChannelRoutingInput): Promise<NotifyDeliveryResult>;
|
|
13
|
+
export declare function routeProcessJobWake(input: ProcessJobChannelRoutingInput & {
|
|
14
|
+
readonly text: string;
|
|
15
|
+
}): Promise<ProcessJobWakeDeliveryResult>;
|
|
16
|
+
//# sourceMappingURL=process-job-channel-routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-job-channel-routing.d.ts","sourceRoot":"","sources":["../src/process-job-channel-routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAElG,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC;CACtC;AAED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,SAAS,aAAa,EAAE,GAChC,IAAI,CAkBN;AAED,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,oBAAoB,CAAC,CAY/B;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,6BAA6B,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/D,OAAO,CAAC,4BAA4B,CAAC,CAavC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
export function assertUniqueProcessJobChannelSchemes(drivers) {
|
|
2
|
+
const owners = new Map();
|
|
3
|
+
for (const driver of drivers) {
|
|
4
|
+
const scheme = driver.processJobs?.conversationScheme;
|
|
5
|
+
if (scheme === undefined)
|
|
6
|
+
continue;
|
|
7
|
+
if (!/^[a-z][a-z0-9-]{0,63}$/u.test(scheme)) {
|
|
8
|
+
throw new TypeError(`Channel ${driver.id} declares invalid process-job conversation scheme ${JSON.stringify(scheme)}.`);
|
|
9
|
+
}
|
|
10
|
+
const existing = owners.get(scheme);
|
|
11
|
+
if (existing !== undefined) {
|
|
12
|
+
throw new TypeError(`Channels ${existing} and ${driver.id} both claim process-job conversation scheme ${scheme}.`);
|
|
13
|
+
}
|
|
14
|
+
owners.set(scheme, driver.id);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export async function routeProcessJobSurfaceUpdate(input) {
|
|
18
|
+
const resolved = resolveProcessJobChannel(input);
|
|
19
|
+
if ("delivered" in resolved)
|
|
20
|
+
return resolved;
|
|
21
|
+
try {
|
|
22
|
+
return await resolved.channel.processJobs.update({
|
|
23
|
+
conversationId: input.conversationId,
|
|
24
|
+
deliveryKey: input.deliveryKey,
|
|
25
|
+
processJob: input.projection,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
return routingFailure(input, resolved.driver.id, "surface update", error);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export async function routeProcessJobWake(input) {
|
|
33
|
+
const resolved = resolveProcessJobChannel(input);
|
|
34
|
+
if ("delivered" in resolved)
|
|
35
|
+
return resolved;
|
|
36
|
+
try {
|
|
37
|
+
return await resolved.channel.processJobs.wake({
|
|
38
|
+
conversationId: input.conversationId,
|
|
39
|
+
text: input.text,
|
|
40
|
+
deliveryKey: input.deliveryKey,
|
|
41
|
+
processJob: input.projection,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
return routingFailure(input, resolved.driver.id, "wake", error);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function resolveProcessJobChannel(input) {
|
|
49
|
+
const origin = input.projection.origin;
|
|
50
|
+
const expectedConversationId = baseConversationId(origin.conversationId);
|
|
51
|
+
if (input.conversationId !== expectedConversationId
|
|
52
|
+
|| input.deliveryKey !== input.projection.wake.deliveryKey
|
|
53
|
+
|| !input.conversationId.startsWith(`${origin.channel}:`)) {
|
|
54
|
+
return {
|
|
55
|
+
delivered: false,
|
|
56
|
+
code: "process_job_origin_mismatch",
|
|
57
|
+
reason: "The process-job origin does not match its destination.",
|
|
58
|
+
retryable: false,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
const candidates = input.drivers.filter((driver) => driver.processJobs?.conversationScheme === origin.channel);
|
|
62
|
+
if (candidates.length !== 1) {
|
|
63
|
+
return {
|
|
64
|
+
delivered: false,
|
|
65
|
+
code: "background_unsupported_channel",
|
|
66
|
+
reason: candidates.length === 0
|
|
67
|
+
? `No channel owns process-job scheme ${origin.channel}.`
|
|
68
|
+
: `Multiple channels claim process-job scheme ${origin.channel}.`,
|
|
69
|
+
retryable: false,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
const driver = candidates[0];
|
|
73
|
+
const channel = input.running.get(driver.id);
|
|
74
|
+
if (channel === undefined) {
|
|
75
|
+
return {
|
|
76
|
+
delivered: false,
|
|
77
|
+
code: "destination_channel_unavailable",
|
|
78
|
+
reason: `${driver.id} channel is not running`,
|
|
79
|
+
retryable: true,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
if (channel.processJobs === undefined) {
|
|
83
|
+
return {
|
|
84
|
+
delivered: false,
|
|
85
|
+
code: "background_unsupported_channel",
|
|
86
|
+
reason: `${driver.id} channel did not publish its declared process-job capability`,
|
|
87
|
+
retryable: false,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
return { driver, channel };
|
|
91
|
+
}
|
|
92
|
+
function routingFailure(input, channelId, operation, error) {
|
|
93
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
94
|
+
input.logger?.warn?.(`Process-job ${operation} failed.`, {
|
|
95
|
+
channelId,
|
|
96
|
+
conversationId: input.conversationId,
|
|
97
|
+
reason,
|
|
98
|
+
});
|
|
99
|
+
return { delivered: false, code: "process_job_wake_failed", reason, retryable: false };
|
|
100
|
+
}
|
|
101
|
+
function baseConversationId(conversationId) {
|
|
102
|
+
return conversationId.split("#", 1)[0] ?? conversationId;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=process-job-channel-routing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-job-channel-routing.js","sourceRoot":"","sources":["../src/process-job-channel-routing.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,16 @@ export type ProcessJobWakeContextResolution = {
|
|
|
11
11
|
} | {
|
|
12
12
|
readonly kind: "missed";
|
|
13
13
|
};
|
|
14
|
+
export interface ProcessJobSteeringTargetLease {
|
|
15
|
+
chainDepth(): number;
|
|
16
|
+
release(): void;
|
|
17
|
+
}
|
|
18
|
+
/** Register the exact active run whose controller can be raised by a host wake. */
|
|
19
|
+
export declare function registerProcessJobSteeringTarget(input: {
|
|
20
|
+
readonly conversationId: string;
|
|
21
|
+
readonly runId: string;
|
|
22
|
+
readonly chainDepth: number;
|
|
23
|
+
}): ProcessJobSteeringTargetLease;
|
|
14
24
|
/** Run a genuine channel turn with host-owned fan-out depth attached out of band. */
|
|
15
25
|
export declare function runWithProcessJobWakeContext<T>(context: ProcessJobWakeContext, operation: () => Promise<T>, deliveryKey: string): Promise<T>;
|
|
16
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-jobs-context.d.ts","sourceRoot":"","sources":["../src/process-jobs-context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"process-jobs-context.d.ts","sourceRoot":"","sources":["../src/process-jobs-context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAIV,gBAAgB,EAChB,cAAc,EAEf,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAYD,MAAM,MAAM,+BAA+B,GACvC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAA;CAAE,GACtE;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAwBhC,MAAM,WAAW,6BAA6B;IAC5C,UAAU,IAAI,MAAM,CAAC;IACrB,OAAO,IAAI,IAAI,CAAC;CACjB;AAID,mFAAmF;AACnF,wBAAgB,gCAAgC,CAAC,KAAK,EAAE;IACtD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,GAAG,6BAA6B,CAwBhC;AAED,qFAAqF;AACrF,wBAAsB,4BAA4B,CAAC,CAAC,EAClD,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,CAAC,CAgBZ;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAAC,SAAS,EAAE,cAAc,GAAG,cAAc,CAuD9F;AAqED,qFAAqF;AACrF,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAC1C,+BAA+B,CAYjC"}
|
|
@@ -12,6 +12,36 @@ const wakeContextByRequestMetadata = new WeakMap();
|
|
|
12
12
|
// on a non-JSON symbol so a queued adapter callback can recover its own flight
|
|
13
13
|
// without attributing context to unrelated work in the same conversation.
|
|
14
14
|
const wakeFlightsByDeliveryKey = new Map();
|
|
15
|
+
const steeringTargetsByConversation = new Map();
|
|
16
|
+
/** Register the exact active run whose controller can be raised by a host wake. */
|
|
17
|
+
export function registerProcessJobSteeringTarget(input) {
|
|
18
|
+
const conversationId = baseConversationId(input.conversationId);
|
|
19
|
+
const target = {
|
|
20
|
+
token: Object.freeze({}),
|
|
21
|
+
conversationId,
|
|
22
|
+
runId: input.runId,
|
|
23
|
+
baseChainDepth: input.chainDepth,
|
|
24
|
+
wakeDepths: new Map(),
|
|
25
|
+
};
|
|
26
|
+
const current = steeringTargetsByConversation.get(conversationId) ?? [];
|
|
27
|
+
steeringTargetsByConversation.set(conversationId, [...current, target]);
|
|
28
|
+
let released = false;
|
|
29
|
+
return {
|
|
30
|
+
chainDepth: () => effectiveSteeringDepth(target),
|
|
31
|
+
release: () => {
|
|
32
|
+
if (released)
|
|
33
|
+
return;
|
|
34
|
+
released = true;
|
|
35
|
+
target.wakeDepths.clear();
|
|
36
|
+
const active = steeringTargetsByConversation.get(conversationId) ?? [];
|
|
37
|
+
const remaining = active.filter((candidate) => candidate.token !== target.token);
|
|
38
|
+
if (remaining.length === 0)
|
|
39
|
+
steeringTargetsByConversation.delete(conversationId);
|
|
40
|
+
else
|
|
41
|
+
steeringTargetsByConversation.set(conversationId, remaining);
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
}
|
|
15
45
|
/** Run a genuine channel turn with host-owned fan-out depth attached out of band. */
|
|
16
46
|
export async function runWithProcessJobWakeContext(context, operation, deliveryKey) {
|
|
17
47
|
const flight = Object.freeze({
|
|
@@ -73,7 +103,9 @@ export function bindProcessJobWakeContextToResponder(responder) {
|
|
|
73
103
|
...(responder.cancel === undefined ? {} : { cancel: responder.cancel.bind(responder) }),
|
|
74
104
|
...(responder.offerLiveInput === undefined
|
|
75
105
|
? {}
|
|
76
|
-
: {
|
|
106
|
+
: {
|
|
107
|
+
offerLiveInput: (request) => offerProcessJobWakeToActiveRun(responder, request),
|
|
108
|
+
}),
|
|
77
109
|
...(responder.deliverVerbatim === undefined
|
|
78
110
|
? {}
|
|
79
111
|
: { deliverVerbatim: responder.deliverVerbatim.bind(responder) }),
|
|
@@ -92,6 +124,71 @@ export function bindProcessJobWakeContextToResponder(responder) {
|
|
|
92
124
|
...(dispose === undefined ? {} : { dispose: dispose.bind(responder) }),
|
|
93
125
|
};
|
|
94
126
|
}
|
|
127
|
+
function offerProcessJobWakeToActiveRun(responder, request) {
|
|
128
|
+
const offerLiveInput = responder.offerLiveInput;
|
|
129
|
+
if (offerLiveInput === undefined)
|
|
130
|
+
return { status: "unavailable", reason: "unsupported" };
|
|
131
|
+
const flight = processJobWakeFlightForOffer(request.deliveryKey);
|
|
132
|
+
if (flight === undefined)
|
|
133
|
+
return offerLiveInput.call(responder, request);
|
|
134
|
+
const candidates = steeringTargetsByConversation.get(baseConversationId(request.conversationId)) ?? [];
|
|
135
|
+
if (candidates.length !== 1)
|
|
136
|
+
return { status: "unavailable", reason: "inactive" };
|
|
137
|
+
const target = candidates[0];
|
|
138
|
+
const wakeToken = Object.freeze({});
|
|
139
|
+
target.wakeDepths.set(wakeToken, flight.chainDepth + 1);
|
|
140
|
+
const rollback = () => {
|
|
141
|
+
target.wakeDepths.delete(wakeToken);
|
|
142
|
+
};
|
|
143
|
+
let offer;
|
|
144
|
+
try {
|
|
145
|
+
offer = offerLiveInput.call(responder, {
|
|
146
|
+
...request,
|
|
147
|
+
targetRunId: target.runId,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
rollback();
|
|
152
|
+
throw error;
|
|
153
|
+
}
|
|
154
|
+
if (offer.status === "unavailable") {
|
|
155
|
+
rollback();
|
|
156
|
+
return offer;
|
|
157
|
+
}
|
|
158
|
+
return {
|
|
159
|
+
status: "accepted",
|
|
160
|
+
settled: offer.settled.then((settlement) => {
|
|
161
|
+
if (settlement.status !== "applied" || settlement.runId !== target.runId) {
|
|
162
|
+
rollback();
|
|
163
|
+
return settlement.status === "applied"
|
|
164
|
+
? { status: "requeue", reason: "failed" }
|
|
165
|
+
: settlement;
|
|
166
|
+
}
|
|
167
|
+
return settlement;
|
|
168
|
+
}, (error) => {
|
|
169
|
+
rollback();
|
|
170
|
+
throw error;
|
|
171
|
+
}),
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
function processJobWakeFlightForOffer(deliveryKey) {
|
|
175
|
+
const current = wakeContext.getStore();
|
|
176
|
+
if (current !== undefined)
|
|
177
|
+
return current;
|
|
178
|
+
if (deliveryKey === undefined)
|
|
179
|
+
return undefined;
|
|
180
|
+
const flights = wakeFlightsByDeliveryKey.get(deliveryKey) ?? [];
|
|
181
|
+
return flights.length === 1 ? flights[0] : undefined;
|
|
182
|
+
}
|
|
183
|
+
function effectiveSteeringDepth(target) {
|
|
184
|
+
let depth = target.baseChainDepth;
|
|
185
|
+
for (const wakeDepth of target.wakeDepths.values())
|
|
186
|
+
depth = Math.max(depth, wakeDepth);
|
|
187
|
+
return depth;
|
|
188
|
+
}
|
|
189
|
+
function baseConversationId(conversationId) {
|
|
190
|
+
return conversationId.split("#", 1)[0] ?? conversationId;
|
|
191
|
+
}
|
|
95
192
|
/** Resolve only an association previously issued by the app-owned responder seam. */
|
|
96
193
|
export function processJobWakeContextForRequest(request) {
|
|
97
194
|
const bindings = request.metadata === undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-jobs-context.js","sourceRoot":"","sources":["../src/process-jobs-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"process-jobs-context.js","sourceRoot":"","sources":["../src/process-jobs-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,8 @@ export interface ProcessJobsRuntimeExtensionOptions {
|
|
|
17
17
|
readonly coreConfig: MonoAgentConfig;
|
|
18
18
|
readonly baseModel: RuntimeModelReference;
|
|
19
19
|
readonly channelId: ChannelId | undefined;
|
|
20
|
+
/** Explicit opted-in conversation scheme; legacy built-ins derive it from channelId. */
|
|
21
|
+
readonly conversationScheme?: string | undefined;
|
|
20
22
|
readonly sandboxEngine: SandboxEngine | undefined;
|
|
21
23
|
/** App-private; omission preserves the fail-closed public/default behavior. */
|
|
22
24
|
readonly protectionPosture?: ProcessJobsProtectionPosture;
|
|
@@ -34,5 +36,5 @@ export declare function processJobsSandboxPolicy(options: {
|
|
|
34
36
|
readonly protectedRoots: readonly string[];
|
|
35
37
|
}): SandboxPolicy;
|
|
36
38
|
/** Strict host-origin classifier. Unsupported trigger surfaces never receive a controller. */
|
|
37
|
-
export declare function processJobOriginForRequest(input: Pick<AgentHarnessRuntimeOptionsInput, "request" | "runId">, channelId: ChannelId | undefined): ProcessJobOriginRecord | undefined;
|
|
39
|
+
export declare function processJobOriginForRequest(input: Pick<AgentHarnessRuntimeOptionsInput, "request" | "runId">, channelId: ChannelId | undefined, conversationScheme?: string): ProcessJobOriginRecord | undefined;
|
|
38
40
|
//# sourceMappingURL=process-jobs-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-jobs-runtime.d.ts","sourceRoot":"","sources":["../src/process-jobs-runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAyB,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EACL,qCAAqC,EAErC,KAAK,+BAA+B,EACrC,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"process-jobs-runtime.d.ts","sourceRoot":"","sources":["../src/process-jobs-runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAyB,MAAM,6BAA6B,CAAC;AAC7F,OAAO,EACL,qCAAqC,EAErC,KAAK,+BAA+B,EACrC,MAAM,iCAAiC,CAAC;AAMzC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAE9E,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;IACnD,8FAA8F;IAC9F,QAAQ,CAAC,OAAO,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IAC1C,wFAAwF;IACxF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IAClD,+EAA+E;IAC/E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,4BAA4B,CAAC;IAC1D,4EAA4E;IAC5E,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KAAK,OAAO,CAAC;IACzF,6FAA6F;IAC7F,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,qCAAqC,CAAC;CACxE;AAED,eAAO,MAAM,qCAAqC,4DACS,CAAC;AAC5D,eAAO,MAAM,yCAAyC,yDACE,CAAC;AAEzD,uFAAuF;AACvF,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,kCAAkC,GAC1C,uBAAuB,CAwGzB;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE;IAAE,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC5F,aAAa,CAgBf;AA2BD,8FAA8F;AAC9F,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,IAAI,CAAC,+BAA+B,EAAE,SAAS,GAAG,OAAO,CAAC,EACjE,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,kBAAkB,CAAC,EAAE,MAAM,GAC1B,sBAAsB,GAAG,SAAS,CA6BpC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isAbsolute, relative, resolve, sep } from "node:path";
|
|
2
2
|
import { failClosedSandboxPolicy, mergeSandboxPolicies, protectSandboxRoots, } from "@mono-agent/runtime-adapter";
|
|
3
3
|
import { attestProcessJobsRootRegistrySnapshot, processJobsProtectionPolicyRoots, } from "./process-jobs-root-registry.js";
|
|
4
|
-
import { processJobWakeContextForRequest } from "./process-jobs-context.js";
|
|
4
|
+
import { processJobWakeContextForRequest, registerProcessJobSteeringTarget, } from "./process-jobs-context.js";
|
|
5
5
|
import { isProcessJobOriginRecord, } from "./process-jobs-store.js";
|
|
6
6
|
export const PROCESS_JOBS_PI_NATIVE_REQUIRED_ERROR = "Process-job private state requires a Pi-native runtime.";
|
|
7
7
|
export const PROCESS_JOBS_PROTECTION_UNAVAILABLE_ERROR = "Process-job private state protection is unavailable.";
|
|
@@ -10,6 +10,7 @@ export function createProcessJobsRuntimeExtension(options) {
|
|
|
10
10
|
return async (input) => {
|
|
11
11
|
let result;
|
|
12
12
|
let lease;
|
|
13
|
+
let steeringTarget;
|
|
13
14
|
const attestRegistry = options.attestRegistry ?? attestProcessJobsRootRegistrySnapshot;
|
|
14
15
|
try {
|
|
15
16
|
const boundary = await attestRegistry(options.registry, options.coreConfig.runtime.workspace);
|
|
@@ -41,16 +42,23 @@ export function createProcessJobsRuntimeExtension(options) {
|
|
|
41
42
|
};
|
|
42
43
|
}
|
|
43
44
|
if (options.service !== undefined) {
|
|
44
|
-
const origin = processJobOriginForRequest(input, options.channelId);
|
|
45
|
+
const origin = processJobOriginForRequest(input, options.channelId, options.conversationScheme);
|
|
45
46
|
const wake = processJobWakeContextForRequest(input.request);
|
|
46
47
|
const chainDepth = wake.kind === "resolved" ? wake.context.chainDepth : 0;
|
|
48
|
+
if (origin !== undefined && wake.kind !== "missed") {
|
|
49
|
+
steeringTarget = registerProcessJobSteeringTarget({
|
|
50
|
+
conversationId: origin.baseConversationId,
|
|
51
|
+
runId: input.runId,
|
|
52
|
+
chainDepth,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
47
55
|
if (origin !== undefined
|
|
48
56
|
&& wake.kind !== "missed"
|
|
49
57
|
&& chainDepth < options.service.settings.maxChainDepth
|
|
50
58
|
&& hasAllowedProcessTool(options.coreConfig)) {
|
|
51
59
|
runtimeOptions = {
|
|
52
60
|
...runtimeOptions,
|
|
53
|
-
processJobs: options.service.controller(origin, chainDepth),
|
|
61
|
+
processJobs: options.service.controller(origin, steeringTarget?.chainDepth ?? chainDepth),
|
|
54
62
|
};
|
|
55
63
|
}
|
|
56
64
|
}
|
|
@@ -65,7 +73,12 @@ export function createProcessJobsRuntimeExtension(options) {
|
|
|
65
73
|
await result?.settleCleanup?.();
|
|
66
74
|
}
|
|
67
75
|
finally {
|
|
68
|
-
|
|
76
|
+
try {
|
|
77
|
+
steeringTarget?.release();
|
|
78
|
+
}
|
|
79
|
+
finally {
|
|
80
|
+
heldLease.releaseAfterSettlement();
|
|
81
|
+
}
|
|
69
82
|
}
|
|
70
83
|
},
|
|
71
84
|
};
|
|
@@ -80,7 +93,12 @@ export function createProcessJobsRuntimeExtension(options) {
|
|
|
80
93
|
await result?.settleCleanup?.();
|
|
81
94
|
}
|
|
82
95
|
finally {
|
|
83
|
-
|
|
96
|
+
try {
|
|
97
|
+
steeringTarget?.release();
|
|
98
|
+
}
|
|
99
|
+
finally {
|
|
100
|
+
lease?.releaseAfterSettlement();
|
|
101
|
+
}
|
|
84
102
|
}
|
|
85
103
|
}
|
|
86
104
|
throw error;
|
|
@@ -129,20 +147,22 @@ async function sandboxEngineAvailable(engine) {
|
|
|
129
147
|
}
|
|
130
148
|
}
|
|
131
149
|
/** Strict host-origin classifier. Unsupported trigger surfaces never receive a controller. */
|
|
132
|
-
export function processJobOriginForRequest(input, channelId) {
|
|
150
|
+
export function processJobOriginForRequest(input, channelId, conversationScheme) {
|
|
133
151
|
const request = input.request;
|
|
134
|
-
let channel;
|
|
135
|
-
if (channelId === "slack")
|
|
152
|
+
let channel = conversationScheme;
|
|
153
|
+
if (channel === undefined && channelId === "slack")
|
|
136
154
|
channel = "slack";
|
|
137
|
-
else if (channelId === "telegram")
|
|
155
|
+
else if (channel === undefined && channelId === "telegram")
|
|
138
156
|
channel = "telegram";
|
|
139
|
-
else if (channelId === "tui"
|
|
157
|
+
else if (channel === undefined && channelId === "tui"
|
|
140
158
|
&& request.metadata?.source === "web"
|
|
141
159
|
&& request.conversationId.startsWith("web:")
|
|
142
160
|
&& request.conversationId !== "web:new")
|
|
143
161
|
channel = "web";
|
|
144
162
|
if (channel === undefined)
|
|
145
163
|
return undefined;
|
|
164
|
+
if (!/^[a-z][a-z0-9-]*$/u.test(channel))
|
|
165
|
+
return undefined;
|
|
146
166
|
const conversationId = request.conversationId;
|
|
147
167
|
const hash = conversationId.indexOf("#");
|
|
148
168
|
const baseConversationId = hash < 0 ? conversationId : conversationId.slice(0, hash);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-jobs-runtime.js","sourceRoot":"","sources":["../src/process-jobs-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAI/D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GAIpB,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EACL,qCAAqC,EACrC,gCAAgC,GAEjC,MAAM,iCAAiC,CAAC;AACzC,OAAO,
|
|
1
|
+
{"version":3,"file":"process-jobs-runtime.js","sourceRoot":"","sources":["../src/process-jobs-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,7 +53,7 @@ export interface ProcessJobsServiceHandle {
|
|
|
53
53
|
readonly settings: ProcessJobsSettings;
|
|
54
54
|
readonly operatorToken: string;
|
|
55
55
|
readonly health: ProcessJobsHealth;
|
|
56
|
-
controller(origin: ProcessJobOriginRecord, chainDepth: number): ProcessJobsController;
|
|
56
|
+
controller(origin: ProcessJobOriginRecord, chainDepth: number | (() => number)): ProcessJobsController;
|
|
57
57
|
list(): Promise<readonly ProcessJobProjection[]>;
|
|
58
58
|
get(jobId: string): Promise<ProcessJobProjection | undefined>;
|
|
59
59
|
cancel(jobId: string): Promise<ProcessJobProjection>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-jobs-service.d.ts","sourceRoot":"","sources":["../src/process-jobs-service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"process-jobs-service.d.ts","sourceRoot":"","sources":["../src/process-jobs-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -166,7 +166,7 @@ class ProcessJobsService {
|
|
|
166
166
|
controller(origin, chainDepth) {
|
|
167
167
|
const captured = structuredClone(origin);
|
|
168
168
|
return Object.freeze({
|
|
169
|
-
start: async (request) => await this.start(captured, chainDepth, request),
|
|
169
|
+
start: async (request) => await this.start(captured, typeof chainDepth === "function" ? chainDepth() : chainDepth, request),
|
|
170
170
|
});
|
|
171
171
|
}
|
|
172
172
|
async list() {
|
|
@@ -1851,11 +1851,8 @@ function processOutputSecrets(overrides) {
|
|
|
1851
1851
|
return [...new Set(values)].sort((left, right) => right.length - left.length);
|
|
1852
1852
|
}
|
|
1853
1853
|
function isWakeCapableOrigin(origin) {
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
if (origin.channel === "telegram")
|
|
1857
|
-
return origin.replyToConversationId.startsWith("telegram:");
|
|
1858
|
-
return origin.replyToConversationId.startsWith("web:") && origin.replyToConversationId !== "web:new";
|
|
1854
|
+
return origin.replyToConversationId.startsWith(`${origin.channel}:`)
|
|
1855
|
+
&& (origin.channel !== "web" || origin.replyToConversationId !== "web:new");
|
|
1859
1856
|
}
|
|
1860
1857
|
function boundedSummary(value) {
|
|
1861
1858
|
const normalized = value.trim().length === 0 ? "Process job" : value.trim();
|