@robota-sdk/agent-interface-execution 3.0.0-beta.81 → 3.0.0-beta.83
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/CHANGELOG.md +170 -0
- package/package.json +9 -4
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# @robota-sdk/agent-interface-execution
|
|
2
|
+
|
|
3
|
+
## 3.0.0-beta.83
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 57280bf: Every published package now declares `"engines": { "node": ">=22.12.0" }`. Before, 27 of the 38
|
|
8
|
+
packages declared no floor (`agent-core`, `agent-tools` and every provider among them),
|
|
9
|
+
`agent-session` and `agent-file-authority` declared `>=20.19.0`, and the other nine declared
|
|
10
|
+
`>=22.0.0`, so a consumer on Node 20 saw at most a warning from a transitive dependency.
|
|
11
|
+
|
|
12
|
+
Why 22.12: `agent-cli` and `agent-ui-terminal` need Node 22 through `ink` 7, and the CommonJS entries
|
|
13
|
+
of `agent-tools` and its dependents, `agent-transport`/`node` and its dependents, and
|
|
14
|
+
`agent-ui-terminal` `require()` ESM-only dependencies (`p-limit`, `jose`, `chalk`), which Node 22
|
|
15
|
+
supports unflagged only from 22.12. `engines` is advisory unless the consumer enables `engine-strict`.
|
|
16
|
+
|
|
17
|
+
No code changes: `tsdown` now reads `node22.12.0` as its build target from the field.
|
|
18
|
+
|
|
19
|
+
- 18c0d5c: Every published package now exports `./package.json`, so `require('<package>/package.json')` and
|
|
20
|
+
`import('<package>/package.json', { with: { type: 'json' } })` work instead of failing with
|
|
21
|
+
`ERR_PACKAGE_PATH_NOT_EXPORTED`, and each tarball now ships the package's `CHANGELOG.md`.
|
|
22
|
+
- Updated dependencies [e689c8e]
|
|
23
|
+
- Updated dependencies [be0e53c]
|
|
24
|
+
- Updated dependencies [8bd5fac]
|
|
25
|
+
- Updated dependencies [57280bf]
|
|
26
|
+
- Updated dependencies [5033dd9]
|
|
27
|
+
- Updated dependencies [18c0d5c]
|
|
28
|
+
- Updated dependencies [dbd888d]
|
|
29
|
+
- Updated dependencies [1887e54]
|
|
30
|
+
- @robota-sdk/agent-core@3.0.0-beta.83
|
|
31
|
+
|
|
32
|
+
## 3.0.0-beta.82
|
|
33
|
+
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- Updated dependencies [c7f9203]
|
|
37
|
+
- @robota-sdk/agent-core@3.0.0-beta.82
|
|
38
|
+
|
|
39
|
+
## 3.0.0-beta.81
|
|
40
|
+
|
|
41
|
+
### Patch Changes
|
|
42
|
+
|
|
43
|
+
- Updated dependencies [3038eb7]
|
|
44
|
+
- Updated dependencies [02b7452]
|
|
45
|
+
- Updated dependencies [ec5e477]
|
|
46
|
+
- @robota-sdk/agent-core@3.0.0-beta.81
|
|
47
|
+
|
|
48
|
+
## 3.0.0-beta.80
|
|
49
|
+
|
|
50
|
+
### Major Changes
|
|
51
|
+
|
|
52
|
+
- 5307f8a: Discriminate `IBackgroundTaskResult` by kind, the same way `TBackgroundTaskRequest` already is:
|
|
53
|
+
`exitCode`/`signalCode` exist only on the `process` member and `usage` only on the `agent` member,
|
|
54
|
+
instead of being optional-and-unreachable on every kind. `IBackgroundTaskResult<K>` narrows to the
|
|
55
|
+
kind-specific member; called with no type argument it is still the full union, which is what
|
|
56
|
+
`IBackgroundTaskState.result` continues to hold (that field stays undiscriminated — a later change).
|
|
57
|
+
`ISubagentJobResult` is now derived as `Omit<IBackgroundTaskResult<'agent'>, 'kind'>` rather than a
|
|
58
|
+
hand-maintained `Omit<IBackgroundTaskResult, 'kind' | 'exitCode' | 'signalCode'>`.
|
|
59
|
+
|
|
60
|
+
`IBackgroundTaskHandle` gains the same kind parameter as `IBackgroundTaskStart`: a runner declared
|
|
61
|
+
for kind `K` resolves its handle's `result` to `IBackgroundTaskResult<K>`, so a caller that starts a
|
|
62
|
+
known-kind runner gets a correctly-narrowed result with no cast, and reading a cross-kind field on it
|
|
63
|
+
is a compile error. Consumers reading `state.result` through the generic (kind-erased) manager or
|
|
64
|
+
task-state path are unaffected in behavior, but a `.exitCode`/`.signalCode`/`.usage` read there must
|
|
65
|
+
now narrow on the result's own `kind` first, since the fallback default keeps `IBackgroundTaskResult`
|
|
66
|
+
as the full union rather than the previously flat, always-present shape.
|
|
67
|
+
|
|
68
|
+
`agent-session`'s session-record decoder now rejects a persisted result carrying a field outside its
|
|
69
|
+
own kind (e.g. an `'agent'` result with `exitCode`) as corrupt, reported at that field's own path —
|
|
70
|
+
the same corruption-reporting style the taskId/kind identity check already uses.
|
|
71
|
+
|
|
72
|
+
**Breaking for `@robota-sdk/agent-interface-execution` and `@robota-sdk/agent-executor`**: code that
|
|
73
|
+
read `exitCode`/`signalCode`/`usage` off an unnarrowed `IBackgroundTaskResult`, or that implemented
|
|
74
|
+
`IBackgroundTaskHandle`/a custom runner without specifying its kind parameter, needs to narrow on
|
|
75
|
+
`result.kind` (or specify the kind parameter) before those fields are visible again.
|
|
76
|
+
|
|
77
|
+
- b462ee7: Discriminate `IBackgroundTaskState` by kind, the same way `TBackgroundTaskRequest` and (as of the
|
|
78
|
+
prior change) `TBackgroundTaskResult` already are. Fields only one runner ever produces now live
|
|
79
|
+
only on that kind's member instead of being optional-and-cross-kind-reachable on every kind:
|
|
80
|
+
|
|
81
|
+
- `agent`-only: `agentType`, `isolation`, `resumeSessionId`, `promptPreview`, and the
|
|
82
|
+
worktree-isolation fields (`worktreePath`, `branchName`, `worktreeStatus`, `worktreeNextAction`,
|
|
83
|
+
`worktreeBaseRevision`, `parentWorktreeStatus`).
|
|
84
|
+
- `scheduled`-only: `schedule`, `nextFireAt`.
|
|
85
|
+
- Every kind except `agent`: `commandPreview` (a process command, an MCP tool-invocation summary, or
|
|
86
|
+
a schedule's shell command / wake instruction).
|
|
87
|
+
- `state.result` is now `IBackgroundTaskResult<K>` — correlated with `state.kind`, not the free
|
|
88
|
+
full-result union.
|
|
89
|
+
|
|
90
|
+
`pid`, `logPath`, and `transcriptPath` stay on the shared base rather than becoming agent- or
|
|
91
|
+
process-exclusive: the runner handle SPI already reports them for whichever runner's process
|
|
92
|
+
happens to produce them, and a subagent run via the worktree/child-process runner carries a `pid`
|
|
93
|
+
exactly as a `process`-kind task does. `timeoutReason` also stays base — session restore sets
|
|
94
|
+
`'stale_worker'` on any non-terminal, non-rearmable task regardless of kind, not only agent ones.
|
|
95
|
+
|
|
96
|
+
`IBackgroundTaskState<K>` narrows to the kind-specific member; called with no type argument it is
|
|
97
|
+
still the full union. The session-record decoder (`agent-session`) now rejects a persisted task
|
|
98
|
+
state carrying a field outside its own kind as corrupt, reported at that field's own path, the same
|
|
99
|
+
way it already rejects a `state.result` whose kind disagrees with `state.kind`.
|
|
100
|
+
|
|
101
|
+
**Breaking for `@robota-sdk/agent-interface-execution` and `@robota-sdk/agent-executor`**: code that
|
|
102
|
+
read a kind-specific field (e.g. `state.agentType`, `state.schedule`, `state.commandPreview`) off an
|
|
103
|
+
unnarrowed `IBackgroundTaskState` needs to narrow on `state.kind` first, since the fallback default
|
|
104
|
+
no longer carries every field on every kind. `agent-session`, `agent-framework`, and `agent-command`
|
|
105
|
+
land the corresponding narrowing at every read site the type change touched; no runtime behavior
|
|
106
|
+
changes there beyond the state decoder's new corruption checks.
|
|
107
|
+
|
|
108
|
+
### Minor Changes
|
|
109
|
+
|
|
110
|
+
- 9c19c50: `/fork [name] [--same-dir]` copies the live conversation into a background session.
|
|
111
|
+
|
|
112
|
+
The session writes a copy of its own record under a fresh id — messages, system prompt, tool schemas
|
|
113
|
+
and full history, and deliberately not the sandbox snapshot, goal, plan or branch — then spawns a
|
|
114
|
+
background job carrying only `resumeSessionId`. The child restores that record itself, so no
|
|
115
|
+
conversation crosses the child-process boundary and the worker start payload's key set is unchanged.
|
|
116
|
+
The background panel gains an `attach` control that switches the terminal onto the forked session; it
|
|
117
|
+
is a view switch, never a merge, and a missing record or a terminal task is refused with the task's
|
|
118
|
+
own status.
|
|
119
|
+
|
|
120
|
+
**`@robota-sdk/agent-framework` is `major` for one reason: `ICommandHostSessionAccess` gains a
|
|
121
|
+
required member.** `forkSession({ name? })` is not optional, so an external implementation of that
|
|
122
|
+
role port stops compiling until it adds the method. Every other change in this set is additive:
|
|
123
|
+
|
|
124
|
+
- `agent-interface-execution` — `TExecutionControl` gains `'attach'`.
|
|
125
|
+
- `agent-interface-command` — `TCommandUiIntent` gains `{ type: 'switch-session'; sessionId }`.
|
|
126
|
+
- `agent-subagent-runner` — `ISubagentWorkerComposition` gains the optional `openSessionStore`, and
|
|
127
|
+
the worker resumes a record when the job names one. A composition that registers no store and
|
|
128
|
+
receives no `resumeSessionId` behaves exactly as before.
|
|
129
|
+
- `agent-framework` also gains the fork-record builder, `SessionTurnMemory`, and
|
|
130
|
+
`IAgentBackgroundTaskRequest.resumeSessionId?`; `loadSessionRecord` now returns
|
|
131
|
+
`restoredSystemPrompt`, which makes a record field that was written and never read take effect on
|
|
132
|
+
restore.
|
|
133
|
+
- `agent-executor`, `agent-command`, `agent-transport-tui`, `agent-cli` — the spawn input, the
|
|
134
|
+
`/fork` module and the attach control that carry it to the surface.
|
|
135
|
+
|
|
136
|
+
### Patch Changes
|
|
137
|
+
|
|
138
|
+
- 4f3c075: Assemble complete, verified package generations before switching build output; preserve the previous generation on build failure and pack only verified regular-file images. Include copied CLI web assets in affected-build ordering and artifact transfer. Preserve the CLI version in managed build paths. Public runtime contracts remain compatible (patch).
|
|
139
|
+
- Updated dependencies [7b6234c]
|
|
140
|
+
- Updated dependencies [4eea54b]
|
|
141
|
+
- Updated dependencies [1698be4]
|
|
142
|
+
- Updated dependencies [d4189b9]
|
|
143
|
+
- Updated dependencies [9edae52]
|
|
144
|
+
- Updated dependencies [4078a72]
|
|
145
|
+
- Updated dependencies [4c73a0b]
|
|
146
|
+
- Updated dependencies [196a900]
|
|
147
|
+
- Updated dependencies [f336838]
|
|
148
|
+
- Updated dependencies [34e50f0]
|
|
149
|
+
- Updated dependencies [722e88a]
|
|
150
|
+
- Updated dependencies [d23c848]
|
|
151
|
+
- Updated dependencies [fec722f]
|
|
152
|
+
- Updated dependencies [2d3b2c0]
|
|
153
|
+
- Updated dependencies [4772067]
|
|
154
|
+
- Updated dependencies [9fbab1b]
|
|
155
|
+
- Updated dependencies [a009f5b]
|
|
156
|
+
- Updated dependencies [4f3c075]
|
|
157
|
+
- Updated dependencies [475e085]
|
|
158
|
+
- Updated dependencies [e477440]
|
|
159
|
+
- Updated dependencies [9dcb5da]
|
|
160
|
+
- Updated dependencies [a95ca85]
|
|
161
|
+
- Updated dependencies [b6d14ce]
|
|
162
|
+
- Updated dependencies [0382a51]
|
|
163
|
+
- Updated dependencies [93d061d]
|
|
164
|
+
- Updated dependencies [39554a1]
|
|
165
|
+
- Updated dependencies [d28430a]
|
|
166
|
+
- Updated dependencies [07b627f]
|
|
167
|
+
- Updated dependencies [d0de5b2]
|
|
168
|
+
- Updated dependencies [d6b9404]
|
|
169
|
+
- Updated dependencies [9814afc]
|
|
170
|
+
- @robota-sdk/agent-core@3.0.0-beta.80
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@robota-sdk/agent-interface-execution",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.83",
|
|
4
4
|
"description": "Execution contract interfaces for the Robota SDK — background tasks, job groups, subagent jobs and execution workspaces",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/node/index.js",
|
|
@@ -28,7 +28,8 @@
|
|
|
28
28
|
"default": "./dist/node/index.cjs"
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
}
|
|
31
|
+
},
|
|
32
|
+
"./package.json": "./package.json"
|
|
32
33
|
},
|
|
33
34
|
"repository": {
|
|
34
35
|
"type": "git",
|
|
@@ -38,11 +39,15 @@
|
|
|
38
39
|
"bugs": {
|
|
39
40
|
"url": "https://github.com/woojubb/robota/issues"
|
|
40
41
|
},
|
|
42
|
+
"engines": {
|
|
43
|
+
"node": ">=22.12.0"
|
|
44
|
+
},
|
|
41
45
|
"files": [
|
|
42
|
-
"dist"
|
|
46
|
+
"dist",
|
|
47
|
+
"CHANGELOG.md"
|
|
43
48
|
],
|
|
44
49
|
"dependencies": {
|
|
45
|
-
"@robota-sdk/agent-core": "3.0.0-beta.
|
|
50
|
+
"@robota-sdk/agent-core": "3.0.0-beta.83"
|
|
46
51
|
},
|
|
47
52
|
"devDependencies": {
|
|
48
53
|
"rimraf": "^5.0.10",
|