@mono-agent/operator-adapter 0.19.1 → 0.20.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 +78 -8
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/tui/cron.d.ts +50 -0
- package/dist/tui/cron.d.ts.map +1 -0
- package/dist/tui/cron.js +13 -0
- package/dist/tui/cron.js.map +1 -0
- package/dist/tui/errors.d.ts +1 -1
- package/dist/tui/errors.d.ts.map +1 -1
- package/dist/tui/errors.js.map +1 -1
- package/dist/tui/index.d.ts +3 -0
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +1 -0
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/server.d.ts +8 -1
- package/dist/tui/server.d.ts.map +1 -1
- package/dist/tui/server.js +713 -9
- package/dist/tui/server.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -60,9 +60,14 @@ Keep bearer values out of source config when possible. Set
|
|
|
60
60
|
### Conversational endpoints
|
|
61
61
|
|
|
62
62
|
- `GET {basePath}/v1/info` returns the wire `schema`, process id, and attachment
|
|
63
|
-
capability. `capabilities.liveInput`, `capabilities.historyAppend`,
|
|
64
|
-
`capabilities.askUser`
|
|
65
|
-
supported.
|
|
63
|
+
capability. `capabilities.liveInput`, `capabilities.historyAppend`,
|
|
64
|
+
`capabilities.askUser`, `capabilities.askById`, and `capabilities.cron` are
|
|
65
|
+
advertised additively when their routes are supported. `capabilities.cron`
|
|
66
|
+
reports `status: "ready" | "degraded"` and separates read support from
|
|
67
|
+
authenticated/agent-enabled actions. `jobs: true` is advertised only when a
|
|
68
|
+
process-job operator and its independent owner bearer are both present. The wire
|
|
69
|
+
schema remains `1`; clients must feature-detect rather than reject an older
|
|
70
|
+
agent. The response also
|
|
66
71
|
includes `label`, default `model`, default `effort`, candidate `models`, and
|
|
67
72
|
per-model `modelOptions` when the host supplies them. A host may additionally
|
|
68
73
|
expose a bounded `skills` snapshot with ready/error state and per-item
|
|
@@ -77,6 +82,10 @@ Keep bearer values out of source config when possible. Set
|
|
|
77
82
|
aborts the in-flight turn.
|
|
78
83
|
- `GET {basePath}/v1/conversations/:id/ask` - the current pending `AskUser`
|
|
79
84
|
snapshot, or `{ ask: null }`.
|
|
85
|
+
- `GET {basePath}/v1/interactions/:interactionId` - an exact pending or bounded
|
|
86
|
+
terminal `AskUser` snapshot when the host supplies optional `getAsk`; otherwise
|
|
87
|
+
the route is unsupported. This does not change the asking tool's
|
|
88
|
+
single-consumer long-poll contract.
|
|
80
89
|
- `POST {basePath}/v1/conversations/:id/ask` - submit the snapshot's
|
|
81
90
|
`{ interactionId, answers }` with one or more consecutive complete answers;
|
|
82
91
|
the same turn resumes after all questions are answered.
|
|
@@ -89,27 +98,67 @@ Keep bearer values out of source config when possible. Set
|
|
|
89
98
|
- `POST {basePath}/v1/conversations/:id/verbatim` - authenticated
|
|
90
99
|
`{ text, idempotencyKey }` durable-history append with no model turn (200; 501
|
|
91
100
|
when the responder has no `deliverVerbatim`).
|
|
101
|
+
- `GET {basePath}/v1/conversations/:id/reply-artifacts/:artifactId` -
|
|
102
|
+
bearer-protected, conversation-owned, integrity-checked reply download when
|
|
103
|
+
`capabilities.replyAttachments` is advertised. Responses explicitly disable
|
|
104
|
+
byte ranges.
|
|
105
|
+
- `GET {basePath}/v1/conversations/:id/mcp-apps/:invocationId` and the paired
|
|
106
|
+
request route - exact conversation/connection MCP App resource loading and
|
|
107
|
+
bridge operations when `capabilities.mcpApps` is advertised. Forbidden
|
|
108
|
+
resources and rate-limited requests have stable HTTP errors.
|
|
109
|
+
- `GET {basePath}/v1/cron` and
|
|
110
|
+
`GET {basePath}/v1/cron/jobs/:jobId/runs?limit=&before=` - agent-authoritative
|
|
111
|
+
job state and total-order keyset run history.
|
|
112
|
+
- `GET {basePath}/v1/cron/config-view` - the host's redacted cron config view;
|
|
113
|
+
clients must not read the config file themselves.
|
|
114
|
+
- `POST {basePath}/v1/cron/jobs/:jobId/run` and
|
|
115
|
+
`POST {basePath}/v1/cron/jobs/:jobId/effective-enabled` - API-key-protected,
|
|
116
|
+
idempotent actions with an agent-issued confirmation challenge. The host owns
|
|
117
|
+
persistence, audit, overlap, and watchdog semantics.
|
|
118
|
+
|
|
119
|
+
Cron reads follow the operator endpoint's existing compatibility posture: when
|
|
120
|
+
no operator API key is configured they remain keyless, and when a key is
|
|
121
|
+
configured they require the same bearer as every other operator route. Cron
|
|
122
|
+
mutations are stricter: they are unavailable without a configured operator API
|
|
123
|
+
key, explicit host opt-in, and an agent-issued confirmation. The config-view
|
|
124
|
+
route exposes only the host's existing source-annotated cron field registry,
|
|
125
|
+
including the already-visible job prompt; it does not expose arbitrary config
|
|
126
|
+
keys, credentials, or the console host's copy of the config file. If the cron
|
|
127
|
+
overview itself fails, `/v1/info` remains a `200` liveness response and advertises
|
|
128
|
+
cron as degraded with reads and actions unavailable.
|
|
129
|
+
- `GET {basePath}/v1/jobs` and `GET {basePath}/v1/jobs/:jobId` - strict bounded
|
|
130
|
+
process-job projections through an independent owner bearer. An app-hosted
|
|
131
|
+
list keeps every queued, starting, and running projection plus a
|
|
132
|
+
deterministic newest-terminal prefix within the 16 MiB response ceiling.
|
|
133
|
+
- `POST {basePath}/v1/jobs/:jobId/cancel` - cancel an owned process job and
|
|
134
|
+
return its resulting projection. This route uses the same independent bearer.
|
|
92
135
|
|
|
93
136
|
Event NDJSON lines are capped at 256 KiB. Oversized thought and tool payloads
|
|
94
137
|
are reduced and remeasured; an event that still cannot fit becomes a bounded
|
|
95
138
|
`oversized_event` marker. That size guard is not a redaction boundary.
|
|
96
139
|
|
|
140
|
+
`replyAttachments` and `mcpApps` are additive capabilities: they are omitted
|
|
141
|
+
when the responder does not implement the corresponding authorization routes.
|
|
142
|
+
The web consumer retains the legacy 8 MiB input ceiling so it can read an older
|
|
143
|
+
agent even though current producers emit at most 256 KiB per frame. See
|
|
144
|
+
[Reply files and MCP Apps](https://mono-agent-docs.vercel.app/tools/rich-replies/).
|
|
145
|
+
|
|
97
146
|
## Architecture
|
|
98
147
|
|
|
99
148
|
### Data flow
|
|
100
149
|
|
|
101
150
|
1. The host passes an `AgentResponder` to `startTuiAdapter` and publishes the
|
|
102
151
|
returned conversational base URL through its trace-source metadata.
|
|
103
|
-
2. A TUI or web client reads `/v1/info` (including additive live skill
|
|
104
|
-
when provided), submits a turn, consumes
|
|
105
|
-
`finish` or `error`, and may offer live input
|
|
106
|
-
disconnecting the turn stream aborts the request.
|
|
152
|
+
2. A TUI or web client reads `/v1/info` (including additive live skill, exact
|
|
153
|
+
ask, and cron capabilities when provided), submits a turn, consumes
|
|
154
|
+
structured NDJSON frames until `finish` or `error`, and may offer live input
|
|
155
|
+
while that turn is active; disconnecting the turn stream aborts the request.
|
|
107
156
|
|
|
108
157
|
### Package structure
|
|
109
158
|
|
|
110
159
|
| Source module | Responsibility |
|
|
111
160
|
| --- | --- |
|
|
112
|
-
| [`tui/server.ts`](https://github.com/robertsreberski/mono-agent/blob/main/packages/operator-adapter/src/tui/server.ts) | Conversational info, turn, live-input, cancel, pending/submitted `AskUser`, history-append, attachment, and NDJSON framing routes. |
|
|
161
|
+
| [`tui/server.ts`](https://github.com/robertsreberski/mono-agent/blob/main/packages/operator-adapter/src/tui/server.ts) | Conversational info, turn, live-input, cancel, pending/submitted `AskUser`, history-append, owner-authenticated process-job projection/cancel, attachment, and NDJSON framing routes. |
|
|
113
162
|
| [`tui/config.ts`](https://github.com/robertsreberski/mono-agent/blob/main/packages/operator-adapter/src/tui/config.ts) | `tui.*` JSON/env layering, validation, and secret redaction. |
|
|
114
163
|
| [`index.ts`](https://github.com/robertsreberski/mono-agent/blob/main/packages/operator-adapter/src/index.ts) | Supported public package surface for the operator endpoint. |
|
|
115
164
|
|
|
@@ -131,10 +180,30 @@ Every symbol exported by each public code entrypoint is listed below.
|
|
|
131
180
|
**`@mono-agent/operator-adapter`**
|
|
132
181
|
|
|
133
182
|
```text
|
|
183
|
+
CronOperatorActionInput
|
|
184
|
+
CronOperatorConfirmation
|
|
185
|
+
CronOperatorError
|
|
186
|
+
CronOperatorErrorCode
|
|
187
|
+
CronOperatorHealth
|
|
188
|
+
CronOperatorJob
|
|
189
|
+
CronOperatorMutationResult
|
|
190
|
+
CronOperatorOverview
|
|
191
|
+
CronOperatorRun
|
|
192
|
+
CronOperatorRunBase
|
|
193
|
+
CronOperatorRunDetail
|
|
194
|
+
CronOperatorRunPage
|
|
195
|
+
CronOperatorRunStatus
|
|
196
|
+
CronOperatorRunSummary
|
|
197
|
+
CronOperatorRunTrigger
|
|
198
|
+
CronOperatorRunTruncatedField
|
|
199
|
+
CronOperatorService
|
|
134
200
|
DEFAULT_TUI_BASE_PATH
|
|
135
201
|
DEFAULT_TUI_HOST
|
|
136
202
|
DEFAULT_TUI_PORT
|
|
137
203
|
LoadTuiAdapterConfigInput
|
|
204
|
+
MAX_CRON_OPERATOR_RESPONSE_BYTES
|
|
205
|
+
MAX_CRON_OPERATOR_RUN_PAGE
|
|
206
|
+
MAX_CRON_OPERATOR_SUMMARY_REPLY_PART_OUTCOMES
|
|
138
207
|
MAX_FRAME_BYTES
|
|
139
208
|
RedactedTuiAdapterConfig
|
|
140
209
|
RequestToolEnvironmentConfig
|
|
@@ -179,6 +248,7 @@ loopback is a host decision guarded by `allowNonLoopback`.
|
|
|
179
248
|
- [Terminal UI](https://mono-agent-docs.vercel.app/observability/tui/)
|
|
180
249
|
- [Always-on web console](https://mono-agent-docs.vercel.app/observability/web-console/)
|
|
181
250
|
- [Artifacts and traces](https://mono-agent-docs.vercel.app/observability/artifacts-and-traces/)
|
|
251
|
+
- [Reply files and MCP Apps](https://mono-agent-docs.vercel.app/tools/rich-replies/)
|
|
182
252
|
|
|
183
253
|
## Verification
|
|
184
254
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export { TuiAdapterError } from "./tui/index.js";
|
|
2
|
+
export { CronOperatorError, MAX_CRON_OPERATOR_RESPONSE_BYTES, MAX_CRON_OPERATOR_RUN_PAGE, MAX_CRON_OPERATOR_SUMMARY_REPLY_PART_OUTCOMES, } from "./tui/index.js";
|
|
2
3
|
export type { TuiAdapterErrorCode, TuiAdapterErrorDetails } from "./tui/index.js";
|
|
3
4
|
export { startTuiAdapter } from "./tui/index.js";
|
|
4
|
-
export type { TuiAdapterInfo, TuiAdapterLogger, TuiAdapterOptions, TuiAdapterStartResult, TuiSkillAvailability, TuiSkillInfo, TuiSkillRegistry, TuiSkillUnavailableReason, } from "./tui/index.js";
|
|
5
|
+
export type { TuiAdapterInfo, TuiAdapterLogger, TuiAdapterOptions, TuiAdapterStartResult, TuiSkillAvailability, TuiSkillInfo, TuiSkillRegistry, TuiSkillUnavailableReason, CronOperatorActionInput, CronOperatorConfirmation, CronOperatorHealth, CronOperatorJob, CronOperatorMutationResult, CronOperatorOverview, CronOperatorRun, CronOperatorRunBase, CronOperatorRunDetail, CronOperatorRunPage, CronOperatorRunSummary, CronOperatorRunStatus, CronOperatorRunTruncatedField, CronOperatorRunTrigger, CronOperatorService, CronOperatorErrorCode, } from "./tui/index.js";
|
|
5
6
|
export { loadTuiAdapterConfig, redactTuiAdapterConfig, TUI_CONFIG_FIELDS, } from "./tui/index.js";
|
|
6
7
|
export type { LoadTuiAdapterConfigInput, RedactedTuiAdapterConfig, RequestToolEnvironmentConfig, TuiAdapterConfig, } from "./tui/index.js";
|
|
7
8
|
export { DEFAULT_BASE_PATH as DEFAULT_TUI_BASE_PATH, DEFAULT_HOST as DEFAULT_TUI_HOST, DEFAULT_PORT as DEFAULT_TUI_PORT, MAX_FRAME_BYTES, TUI_WIRE_SCHEMA, } from "./tui/constants.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,gCAAgC,EAChC,0BAA0B,EAC1B,6CAA6C,GAC9C,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,yBAAyB,EACzB,wBAAwB,EACxB,4BAA4B,EAC5B,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,iBAAiB,IAAI,qBAAqB,EAC1C,YAAY,IAAI,gBAAgB,EAChC,YAAY,IAAI,gBAAgB,EAChC,eAAe,EACf,eAAe,GAChB,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { TuiAdapterError } from "./tui/index.js";
|
|
2
|
+
export { CronOperatorError, MAX_CRON_OPERATOR_RESPONSE_BYTES, MAX_CRON_OPERATOR_RUN_PAGE, MAX_CRON_OPERATOR_SUMMARY_REPLY_PART_OUTCOMES, } from "./tui/index.js";
|
|
2
3
|
export { startTuiAdapter } from "./tui/index.js";
|
|
3
4
|
export { loadTuiAdapterConfig, redactTuiAdapterConfig, TUI_CONFIG_FIELDS, } from "./tui/index.js";
|
|
4
5
|
export { DEFAULT_BASE_PATH as DEFAULT_TUI_BASE_PATH, DEFAULT_HOST as DEFAULT_TUI_HOST, DEFAULT_PORT as DEFAULT_TUI_PORT, MAX_FRAME_BYTES, TUI_WIRE_SCHEMA, } from "./tui/constants.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,gCAAgC,EAChC,0BAA0B,EAC1B,6CAA6C,GAC9C,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AA2BjD,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EACL,iBAAiB,IAAI,qBAAqB,EAC1C,YAAY,IAAI,gBAAgB,EAChC,YAAY,IAAI,gBAAgB,EAChC,eAAe,EACf,eAAe,GAChB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { MAX_CRON_OPERATOR_RESPONSE_BYTES, MAX_CRON_OPERATOR_RUN_PAGE, MAX_CRON_OPERATOR_SUMMARY_REPLY_PART_OUTCOMES, type ChannelConfigViewSection, type CronOperatorHealth, type CronOperatorJob, type CronOperatorOverview, type CronOperatorRun, type CronOperatorRunBase, type CronOperatorRunDetail, type CronOperatorRunPage, type CronOperatorRunStatus, type CronOperatorRunSummary, type CronOperatorRunTrigger, type CronOperatorRunTruncatedField } from "@mono-agent/agent-contracts";
|
|
2
|
+
export { MAX_CRON_OPERATOR_RESPONSE_BYTES, MAX_CRON_OPERATOR_RUN_PAGE, MAX_CRON_OPERATOR_SUMMARY_REPLY_PART_OUTCOMES, };
|
|
3
|
+
export type { CronOperatorHealth, CronOperatorJob, CronOperatorOverview, CronOperatorRun, CronOperatorRunBase, CronOperatorRunDetail, CronOperatorRunPage, CronOperatorRunStatus, CronOperatorRunSummary, CronOperatorRunTrigger, CronOperatorRunTruncatedField, };
|
|
4
|
+
export type CronOperatorErrorCode = "invalid_request" | "not_found" | "actions_disabled" | "confirmation_invalid" | "idempotency_conflict" | "replay_expired" | "unavailable";
|
|
5
|
+
export declare class CronOperatorError extends Error {
|
|
6
|
+
readonly code: CronOperatorErrorCode;
|
|
7
|
+
readonly status: number;
|
|
8
|
+
constructor(code: CronOperatorErrorCode, message: string, status: number);
|
|
9
|
+
}
|
|
10
|
+
export interface CronOperatorConfirmation {
|
|
11
|
+
readonly token: string;
|
|
12
|
+
readonly expiresAt: string;
|
|
13
|
+
readonly message: string;
|
|
14
|
+
}
|
|
15
|
+
export type CronOperatorMutationResult<T> = {
|
|
16
|
+
readonly kind: "confirmation_required";
|
|
17
|
+
readonly confirmation: CronOperatorConfirmation;
|
|
18
|
+
} | {
|
|
19
|
+
readonly kind: "completed";
|
|
20
|
+
readonly value: T;
|
|
21
|
+
readonly replayed: boolean;
|
|
22
|
+
};
|
|
23
|
+
export interface CronOperatorActionInput {
|
|
24
|
+
readonly idempotencyKey: string;
|
|
25
|
+
readonly confirmationToken?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface CronOperatorService {
|
|
28
|
+
overview(): CronOperatorOverview | Promise<CronOperatorOverview>;
|
|
29
|
+
runs(input: {
|
|
30
|
+
readonly jobId: string;
|
|
31
|
+
readonly limit: number;
|
|
32
|
+
readonly before?: string;
|
|
33
|
+
}): CronOperatorRunPage | Promise<CronOperatorRunPage>;
|
|
34
|
+
run(input: {
|
|
35
|
+
readonly jobId: string;
|
|
36
|
+
readonly runId: string;
|
|
37
|
+
}): CronOperatorRunDetail | Promise<CronOperatorRunDetail>;
|
|
38
|
+
configView(): ChannelConfigViewSection | Promise<ChannelConfigViewSection>;
|
|
39
|
+
runNow(jobId: string, input: CronOperatorActionInput): CronOperatorMutationResult<{
|
|
40
|
+
readonly run: CronOperatorRunSummary;
|
|
41
|
+
}> | Promise<CronOperatorMutationResult<{
|
|
42
|
+
readonly run: CronOperatorRunSummary;
|
|
43
|
+
}>>;
|
|
44
|
+
setEffectiveEnabled(jobId: string, enabled: boolean, input: CronOperatorActionInput): CronOperatorMutationResult<{
|
|
45
|
+
readonly job: CronOperatorJob;
|
|
46
|
+
}> | Promise<CronOperatorMutationResult<{
|
|
47
|
+
readonly job: CronOperatorJob;
|
|
48
|
+
}>>;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=cron.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../src/tui/cron.ts"],"names":[],"mappings":"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"}
|
package/dist/tui/cron.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { MAX_CRON_OPERATOR_RESPONSE_BYTES, MAX_CRON_OPERATOR_RUN_PAGE, MAX_CRON_OPERATOR_SUMMARY_REPLY_PART_OUTCOMES, } from "@mono-agent/agent-contracts";
|
|
2
|
+
export { MAX_CRON_OPERATOR_RESPONSE_BYTES, MAX_CRON_OPERATOR_RUN_PAGE, MAX_CRON_OPERATOR_SUMMARY_REPLY_PART_OUTCOMES, };
|
|
3
|
+
export class CronOperatorError extends Error {
|
|
4
|
+
code;
|
|
5
|
+
status;
|
|
6
|
+
constructor(code, message, status) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.name = "CronOperatorError";
|
|
9
|
+
this.code = code;
|
|
10
|
+
this.status = status;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=cron.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cron.js","sourceRoot":"","sources":["../../src/tui/cron.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,0BAA0B,EAC1B,6CAA6C,GAa9C,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,gCAAgC,EAChC,0BAA0B,EAC1B,6CAA6C,GAC9C,CAAC;AAwBF,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACjC,IAAI,CAAwB;IAC5B,MAAM,CAAS;IAExB,YAAY,IAA2B,EAAE,OAAe,EAAE,MAAc;QACtE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
|
package/dist/tui/errors.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CodedError } from "@mono-agent/agent-contracts";
|
|
2
|
-
export type TuiAdapterErrorCode = "invalid_config" | "invalid_request" | "missing_required_config" | "unsafe_host" | "start_failed";
|
|
2
|
+
export type TuiAdapterErrorCode = "invalid_config" | "invalid_request" | "missing_required_config" | "process_job_response_too_large" | "unsafe_host" | "start_failed";
|
|
3
3
|
export interface TuiAdapterErrorDetails {
|
|
4
4
|
readonly code?: TuiAdapterErrorCode;
|
|
5
5
|
readonly reason?: string;
|
package/dist/tui/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/tui/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAC3B,gBAAgB,GAChB,iBAAiB,GACjB,yBAAyB,GACzB,aAAa,GACb,cAAc,CAAC;AAEnB,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,qBAAa,eAAgB,SAAQ,UAAU,CAAC,mBAAmB,CAAC;IAClE,SAAiB,OAAO,EAAE,sBAAsB,CAAC;gBAG/C,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,sBAA2B;CAIvC"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/tui/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAC3B,gBAAgB,GAChB,iBAAiB,GACjB,yBAAyB,GACzB,gCAAgC,GAChC,aAAa,GACb,cAAc,CAAC;AAEnB,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,qBAAa,eAAgB,SAAQ,UAAU,CAAC,mBAAmB,CAAC;IAClE,SAAiB,OAAO,EAAE,sBAAsB,CAAC;gBAG/C,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,sBAA2B;CAIvC"}
|
package/dist/tui/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/tui/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/tui/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAgBzD,MAAM,OAAO,eAAgB,SAAQ,UAA+B;IAGlE,YACE,IAAyB,EACzB,OAAe,EACf,UAAkC,EAAE;QAEpC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;CACF"}
|
package/dist/tui/index.d.ts
CHANGED
|
@@ -5,4 +5,7 @@ export type { TuiAdapterInfo, TuiAdapterLogger, TuiAdapterOptions, TuiAdapterSta
|
|
|
5
5
|
export { loadTuiAdapterConfig, redactTuiAdapterConfig, TUI_CONFIG_FIELDS, } from "./config.js";
|
|
6
6
|
export type { LoadTuiAdapterConfigInput, RedactedTuiAdapterConfig, RequestToolEnvironmentConfig, TuiAdapterConfig, } from "./config.js";
|
|
7
7
|
export { DEFAULT_BASE_PATH, DEFAULT_HOST, DEFAULT_PORT, MAX_FRAME_BYTES, TUI_WIRE_SCHEMA } from "./constants.js";
|
|
8
|
+
export type { CronOperatorActionInput, CronOperatorConfirmation, CronOperatorHealth, CronOperatorJob, CronOperatorMutationResult, CronOperatorOverview, CronOperatorRun, CronOperatorRunBase, CronOperatorRunDetail, CronOperatorRunPage, CronOperatorRunSummary, CronOperatorRunStatus, CronOperatorRunTruncatedField, CronOperatorRunTrigger, CronOperatorService, } from "./cron.js";
|
|
9
|
+
export { CronOperatorError, MAX_CRON_OPERATOR_RESPONSE_BYTES, MAX_CRON_OPERATOR_RUN_PAGE, MAX_CRON_OPERATOR_SUMMARY_REPLY_PART_OUTCOMES, } from "./cron.js";
|
|
10
|
+
export type { CronOperatorErrorCode } from "./cron.js";
|
|
8
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/tui/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,yBAAyB,EACzB,wBAAwB,EACxB,4BAA4B,EAC5B,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,yBAAyB,EACzB,wBAAwB,EACxB,4BAA4B,EAC5B,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjH,YAAY,EACV,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,iBAAiB,EACjB,gCAAgC,EAChC,0BAA0B,EAC1B,6CAA6C,GAC9C,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/tui/index.js
CHANGED
|
@@ -2,4 +2,5 @@ export { TuiAdapterError } from "./errors.js";
|
|
|
2
2
|
export { startTuiAdapter } from "./server.js";
|
|
3
3
|
export { loadTuiAdapterConfig, redactTuiAdapterConfig, TUI_CONFIG_FIELDS, } from "./config.js";
|
|
4
4
|
export { DEFAULT_BASE_PATH, DEFAULT_HOST, DEFAULT_PORT, MAX_FRAME_BYTES, TUI_WIRE_SCHEMA } from "./constants.js";
|
|
5
|
+
export { CronOperatorError, MAX_CRON_OPERATOR_RESPONSE_BYTES, MAX_CRON_OPERATOR_RUN_PAGE, MAX_CRON_OPERATOR_SUMMARY_REPLY_PART_OUTCOMES, } from "./cron.js";
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
package/dist/tui/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAW9C,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAOrB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAW9C,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAOrB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAkBjH,OAAO,EACL,iBAAiB,EACjB,gCAAgC,EAChC,0BAA0B,EAC1B,6CAA6C,GAC9C,MAAM,WAAW,CAAC"}
|
package/dist/tui/server.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type AgentResponder, type ChannelInteractionHub } from "@mono-agent/agent-contracts";
|
|
1
|
+
import { type AgentResponder, type ChannelInteractionHub, type ProcessJobOperator } from "@mono-agent/agent-contracts";
|
|
2
|
+
import { type CronOperatorService } from "./cron.js";
|
|
2
3
|
import type { RequestToolEnvironmentConfig } from "./config.js";
|
|
3
4
|
export interface TuiAdapterLogger {
|
|
4
5
|
debug?(message: string, metadata?: Record<string, unknown>): void;
|
|
@@ -88,6 +89,12 @@ export interface TuiAdapterOptions {
|
|
|
88
89
|
readonly onServerError?: (reason: string) => void;
|
|
89
90
|
/** In-process bridge state used by the web console's structured AskUser form. */
|
|
90
91
|
readonly interaction?: ChannelInteractionHub;
|
|
92
|
+
/** Agent-owned cron truth and controls. Absent on older/non-cron hosts. */
|
|
93
|
+
readonly cron?: CronOperatorService;
|
|
94
|
+
/** Owner-authorized process-job control plane; omitted when unavailable. */
|
|
95
|
+
readonly processJobs?: ProcessJobOperator;
|
|
96
|
+
/** Independent owner bearer for process-job routes. Required with processJobs. */
|
|
97
|
+
readonly processJobsBearer?: string;
|
|
91
98
|
}
|
|
92
99
|
export interface TuiAdapterStartResult {
|
|
93
100
|
readonly url: string;
|
package/dist/tui/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/tui/server.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/tui/server.ts"],"names":[],"mappings":"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"}
|