overlord-cli 0.2608101034.0 → 0.2608110816.0
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/dist/connectors/HARNESS-MATRIX.md +16 -17
- package/dist/connectors/VERSION +1 -1
- package/dist/connectors/adapters/antigravity/CAPABILITIES.md +27 -23
- package/dist/connectors/adapters/antigravity/README.md +15 -11
- package/dist/connectors/adapters/antigravity/conformance-manifest.yaml +1 -6
- package/dist/connectors/adapters/antigravity/fixtures/official-pre-tool-use.json +36 -0
- package/dist/connectors/adapters/antigravity/fixtures/unbound-session.json +10 -20
- package/dist/connectors/adapters/antigravity/harness-capabilities.yaml +66 -36
- package/dist/connectors/adapters/antigravity/hooks.json +1 -30
- package/dist/connectors/adapters/antigravity/plugin.json +2 -2
- package/dist/connectors/adapters/antigravity/skills/overlord-mission/SKILL.md +2 -2
- package/dist/connectors/adapters/claude/.claude-plugin/plugin.json +1 -1
- package/dist/connectors/adapters/claude/CAPABILITIES.md +4 -4
- package/dist/connectors/adapters/claude/conformance-manifest.yaml +1 -1
- package/dist/connectors/adapters/claude/harness-capabilities.yaml +9 -5
- package/dist/connectors/adapters/codex/.codex-plugin/plugin.json +1 -1
- package/dist/connectors/adapters/codex/CAPABILITIES.md +3 -3
- package/dist/connectors/adapters/codex/conformance-manifest.yaml +1 -1
- package/dist/connectors/adapters/codex/harness-capabilities.yaml +5 -2
- package/dist/connectors/adapters/cursor/.cursor-plugin/plugin.json +1 -1
- package/dist/connectors/adapters/cursor/CAPABILITIES.md +8 -9
- package/dist/connectors/adapters/cursor/conformance-manifest.yaml +2 -2
- package/dist/connectors/adapters/cursor/harness-capabilities.yaml +11 -18
- package/dist/connectors/core/scripts/overlord-mcp.mjs +33 -6
- package/dist/index.js +97 -52
- package/dist/index.js.map +3 -3
- package/package.json +1 -1
- package/dist/connectors/adapters/antigravity/scripts/pre-invocation-hook.sh +0 -79
- package/dist/connectors/adapters/antigravity/scripts/pre-tool-use-hook.sh +0 -25
package/dist/index.js
CHANGED
|
@@ -2345,6 +2345,7 @@ import {
|
|
|
2345
2345
|
mkdirSync as mkdirSync3,
|
|
2346
2346
|
readdirSync,
|
|
2347
2347
|
readFileSync as readFileSync6,
|
|
2348
|
+
realpathSync,
|
|
2348
2349
|
rmSync,
|
|
2349
2350
|
statSync,
|
|
2350
2351
|
writeFileSync as writeFileSync3
|
|
@@ -2816,6 +2817,33 @@ function setupConnector({
|
|
|
2816
2817
|
const warnings = [];
|
|
2817
2818
|
const files = [];
|
|
2818
2819
|
const stateFiles = [];
|
|
2820
|
+
const previousState = readInstallState(agentKey, resolvedHome);
|
|
2821
|
+
const declaredFiles = new Set(manifest.connector.managedFiles);
|
|
2822
|
+
if (previousState?.installPath === installPath && existsSync6(installPath)) {
|
|
2823
|
+
const resolvedInstallPath = realpathSync(installPath);
|
|
2824
|
+
for (const recorded of previousState.files) {
|
|
2825
|
+
if (declaredFiles.has(recorded.path)) continue;
|
|
2826
|
+
const target = path6.resolve(installPath, recorded.path);
|
|
2827
|
+
const resolvedTarget = existsSync6(target) ? realpathSync(target) : target;
|
|
2828
|
+
if (!resolvedTarget.startsWith(`${resolvedInstallPath}${path6.sep}`)) {
|
|
2829
|
+
warnings.push(
|
|
2830
|
+
`Refusing to remove obsolete managed path outside install root: ${recorded.path}`
|
|
2831
|
+
);
|
|
2832
|
+
continue;
|
|
2833
|
+
}
|
|
2834
|
+
if (!existsSync6(target) || !statSync(target).isFile()) continue;
|
|
2835
|
+
if (sha256(readFileSync6(target)) !== recorded.sha256) {
|
|
2836
|
+
warnings.push(`Preserved modified obsolete managed file: ${recorded.path}`);
|
|
2837
|
+
continue;
|
|
2838
|
+
}
|
|
2839
|
+
if (!dryRun) rmSync(target);
|
|
2840
|
+
files.push({
|
|
2841
|
+
path: recorded.path,
|
|
2842
|
+
action: dryRun ? "would-remove" : "removed",
|
|
2843
|
+
executable: false
|
|
2844
|
+
});
|
|
2845
|
+
}
|
|
2846
|
+
}
|
|
2819
2847
|
for (const relativePath of manifest.connector.managedFiles) {
|
|
2820
2848
|
if (!managedFileSourceExists({ sourceDir, relativePath })) {
|
|
2821
2849
|
warnings.push(`Declared managed file missing from connector source: ${relativePath}`);
|
|
@@ -3391,7 +3419,7 @@ function printHumanResult(result) {
|
|
|
3391
3419
|
const verb = result.dryRun ? "Would install" : "Installed";
|
|
3392
3420
|
printLine(`${verb} connector "${result.agentKey}" \u2192 ${result.installPath}`);
|
|
3393
3421
|
for (const file of result.files) {
|
|
3394
|
-
const marker = file.action === "written" ? "+" : file.action === "would-write" ? "~" : "=";
|
|
3422
|
+
const marker = file.action === "written" ? "+" : file.action === "would-write" ? "~" : file.action === "removed" || file.action === "would-remove" ? "-" : "=";
|
|
3395
3423
|
printLine(` ${marker} ${file.path}${file.executable ? " (executable)" : ""}`);
|
|
3396
3424
|
}
|
|
3397
3425
|
for (const warning of result.warnings) {
|
|
@@ -4169,17 +4197,18 @@ var init_catalog_generated = __esm({
|
|
|
4169
4197
|
"codec": "antigravity",
|
|
4170
4198
|
"integrationShape": "callback",
|
|
4171
4199
|
"capabilityTier": 0,
|
|
4172
|
-
"descriptorDigest": "
|
|
4200
|
+
"descriptorDigest": "e7313b23f98b6ed15a1a32849291a2a391523d4c06403bf395ecbcadfa3b11ac",
|
|
4173
4201
|
"descriptorSchemaVersion": 1,
|
|
4174
4202
|
"harness": {
|
|
4175
4203
|
"name": "Antigravity CLI",
|
|
4204
|
+
"verifiedVersion": "docs: Antigravity CLI v1.1.11 / Antigravity 2.0 v2.6.0",
|
|
4176
4205
|
"versionScheme": "opaque"
|
|
4177
4206
|
},
|
|
4178
4207
|
"binding": {
|
|
4179
4208
|
"source": "payload",
|
|
4180
|
-
"field":
|
|
4209
|
+
"field": "conversationId",
|
|
4181
4210
|
"fallbackField": null,
|
|
4182
|
-
"status": "
|
|
4211
|
+
"status": "supported"
|
|
4183
4212
|
},
|
|
4184
4213
|
"decisionHold": {
|
|
4185
4214
|
"status": "unverified",
|
|
@@ -4190,42 +4219,42 @@ var init_catalog_generated = __esm({
|
|
|
4190
4219
|
},
|
|
4191
4220
|
"capabilities": {
|
|
4192
4221
|
"observe.prompt": {
|
|
4193
|
-
"status": "
|
|
4222
|
+
"status": "unsupported",
|
|
4194
4223
|
"native": "PreInvocation",
|
|
4195
|
-
"reason":
|
|
4196
|
-
"evidenceRef":
|
|
4197
|
-
"trackedAs":
|
|
4224
|
+
"reason": "PreInvocation exposes invocation counters and common metadata but no submitted prompt. Reading transcriptPath to reconstruct one would violate the raw-transcript privacy boundary.",
|
|
4225
|
+
"evidenceRef": "https://antigravity.google/docs/hooks#preinvocation",
|
|
4226
|
+
"trackedAs": null
|
|
4198
4227
|
},
|
|
4199
4228
|
"observe.toolCall": {
|
|
4200
|
-
"status": "
|
|
4229
|
+
"status": "not-implemented",
|
|
4201
4230
|
"native": "PreToolUse",
|
|
4202
4231
|
"reason": null,
|
|
4203
4232
|
"evidenceRef": null,
|
|
4204
4233
|
"trackedAs": "agent-session-verify-antigravity"
|
|
4205
4234
|
},
|
|
4206
4235
|
"observe.toolResult": {
|
|
4207
|
-
"status": "
|
|
4208
|
-
"native":
|
|
4236
|
+
"status": "not-implemented",
|
|
4237
|
+
"native": "PostToolUse",
|
|
4209
4238
|
"reason": null,
|
|
4210
4239
|
"evidenceRef": null,
|
|
4211
4240
|
"trackedAs": "agent-session-verify-antigravity"
|
|
4212
4241
|
},
|
|
4213
4242
|
"observe.fileEdit": {
|
|
4214
|
-
"status": "
|
|
4215
|
-
"native":
|
|
4243
|
+
"status": "not-implemented",
|
|
4244
|
+
"native": "PostToolUse",
|
|
4216
4245
|
"reason": null,
|
|
4217
4246
|
"evidenceRef": null,
|
|
4218
4247
|
"trackedAs": "agent-session-verify-antigravity"
|
|
4219
4248
|
},
|
|
4220
4249
|
"observe.sessionLifecycle": {
|
|
4221
|
-
"status": "
|
|
4222
|
-
"native":
|
|
4250
|
+
"status": "not-implemented",
|
|
4251
|
+
"native": "Stop",
|
|
4223
4252
|
"reason": null,
|
|
4224
4253
|
"evidenceRef": null,
|
|
4225
4254
|
"trackedAs": "agent-session-verify-antigravity"
|
|
4226
4255
|
},
|
|
4227
4256
|
"decide.shell": {
|
|
4228
|
-
"status": "
|
|
4257
|
+
"status": "not-implemented",
|
|
4229
4258
|
"native": "PreToolUse",
|
|
4230
4259
|
"reason": null,
|
|
4231
4260
|
"evidenceRef": null,
|
|
@@ -4239,14 +4268,14 @@ var init_catalog_generated = __esm({
|
|
|
4239
4268
|
"trackedAs": "agent-session-verify-antigravity"
|
|
4240
4269
|
},
|
|
4241
4270
|
"decide.fileWrite": {
|
|
4242
|
-
"status": "
|
|
4243
|
-
"native":
|
|
4271
|
+
"status": "not-implemented",
|
|
4272
|
+
"native": "PreToolUse",
|
|
4244
4273
|
"reason": null,
|
|
4245
4274
|
"evidenceRef": null,
|
|
4246
4275
|
"trackedAs": "agent-session-verify-antigravity"
|
|
4247
4276
|
},
|
|
4248
4277
|
"decide.anyTool": {
|
|
4249
|
-
"status": "
|
|
4278
|
+
"status": "not-implemented",
|
|
4250
4279
|
"native": "PreToolUse",
|
|
4251
4280
|
"reason": null,
|
|
4252
4281
|
"evidenceRef": null,
|
|
@@ -4267,29 +4296,29 @@ var init_catalog_generated = __esm({
|
|
|
4267
4296
|
"trackedAs": "agent-session-verify-antigravity"
|
|
4268
4297
|
},
|
|
4269
4298
|
"answer.persistentAllow": {
|
|
4270
|
-
"status": "
|
|
4271
|
-
"native":
|
|
4299
|
+
"status": "not-implemented",
|
|
4300
|
+
"native": "PreToolUse.permissionOverrides",
|
|
4272
4301
|
"reason": null,
|
|
4273
4302
|
"evidenceRef": null,
|
|
4274
4303
|
"trackedAs": "agent-session-verify-antigravity"
|
|
4275
4304
|
},
|
|
4276
4305
|
"inject.midTurn": {
|
|
4277
|
-
"status": "
|
|
4306
|
+
"status": "unsupported",
|
|
4278
4307
|
"native": null,
|
|
4279
|
-
"reason":
|
|
4280
|
-
"evidenceRef":
|
|
4281
|
-
"trackedAs":
|
|
4308
|
+
"reason": "PreInvocation and PostInvocation can inject only at model-invocation boundaries; the hook surface has no path to deliver input while a model or tool call is actively running.",
|
|
4309
|
+
"evidenceRef": "https://antigravity.google/docs/hooks#preinvocation",
|
|
4310
|
+
"trackedAs": null
|
|
4282
4311
|
},
|
|
4283
4312
|
"inject.turnBoundary": {
|
|
4284
|
-
"status": "
|
|
4285
|
-
"native":
|
|
4313
|
+
"status": "not-implemented",
|
|
4314
|
+
"native": "Stop",
|
|
4286
4315
|
"reason": null,
|
|
4287
4316
|
"evidenceRef": null,
|
|
4288
4317
|
"trackedAs": "agent-session-verify-antigravity"
|
|
4289
4318
|
},
|
|
4290
4319
|
"inject.nextTurn": {
|
|
4291
|
-
"status": "
|
|
4292
|
-
"native":
|
|
4320
|
+
"status": "not-implemented",
|
|
4321
|
+
"native": "PreInvocation.injectSteps.userMessage",
|
|
4293
4322
|
"reason": null,
|
|
4294
4323
|
"evidenceRef": null,
|
|
4295
4324
|
"trackedAs": "agent-session-verify-antigravity"
|
|
@@ -4313,7 +4342,7 @@ var init_catalog_generated = __esm({
|
|
|
4313
4342
|
{
|
|
4314
4343
|
"id": "outside-verification-survey",
|
|
4315
4344
|
"severity": "medium",
|
|
4316
|
-
"summary": "Antigravity was not part of the harness verification survey.
|
|
4345
|
+
"summary": "Antigravity was not part of the original harness verification survey. The current first-party docs now establish hook names, payload fields, and response shapes, but the `agy` binary was unavailable for empirical timeout, failure, resume, and headless tests. The connector must stay at its fixture-proven tier until those paths are exercised.",
|
|
4317
4346
|
"verification": "unverified",
|
|
4318
4347
|
"mitigation": "required",
|
|
4319
4348
|
"trackedAs": "agent-session-verify-antigravity"
|
|
@@ -4321,15 +4350,24 @@ var init_catalog_generated = __esm({
|
|
|
4321
4350
|
{
|
|
4322
4351
|
"id": "pre-tool-use-always-allows",
|
|
4323
4352
|
"severity": "medium",
|
|
4324
|
-
"summary": 'The
|
|
4353
|
+
"summary": 'The former PreToolUse hook answered `{"allow_tool":true}` even though the first-party response contract requires `decision`, and called a nonexistent detached protocol command. It neither gated nor recorded reliably; changing it to native `decision: allow` would have silently bypassed the harness permission system, so the registration was removed.',
|
|
4325
4354
|
"verification": "verified",
|
|
4326
|
-
"mitigation": "
|
|
4327
|
-
"trackedAs":
|
|
4355
|
+
"mitigation": "implemented",
|
|
4356
|
+
"trackedAs": null
|
|
4357
|
+
},
|
|
4358
|
+
{
|
|
4359
|
+
"id": "pre-invocation-has-no-prompt",
|
|
4360
|
+
"severity": "high",
|
|
4361
|
+
"summary": "The former follow-up hook guessed prompt/message/text/input fields on PreInvocation, but the first-party schema contains none of them. It could never capture a normal follow-up; reconstructing one from transcriptPath would violate the raw-transcript privacy boundary. The false followUpHook projection and the registration were removed.",
|
|
4362
|
+
"verification": "verified",
|
|
4363
|
+
"mitigation": "implemented",
|
|
4364
|
+
"trackedAs": null
|
|
4328
4365
|
}
|
|
4329
4366
|
],
|
|
4330
4367
|
"decisionShape": {
|
|
4331
4368
|
"codec": "antigravity",
|
|
4332
4369
|
"neverSend": [
|
|
4370
|
+
"allow_tool",
|
|
4333
4371
|
"hookSpecificOutput",
|
|
4334
4372
|
"permissionDecision",
|
|
4335
4373
|
"permission"
|
|
@@ -4341,11 +4379,11 @@ var init_catalog_generated = __esm({
|
|
|
4341
4379
|
"codec": "claude",
|
|
4342
4380
|
"integrationShape": "callback",
|
|
4343
4381
|
"capabilityTier": 3,
|
|
4344
|
-
"descriptorDigest": "
|
|
4382
|
+
"descriptorDigest": "5c25dafa68e2f4d0862be4378f4b7a2506ace3a4fe6b806a0e392188604f20d8",
|
|
4345
4383
|
"descriptorSchemaVersion": 1,
|
|
4346
4384
|
"harness": {
|
|
4347
4385
|
"name": "Claude Code",
|
|
4348
|
-
"verifiedVersion": "2.1.
|
|
4386
|
+
"verifiedVersion": "2.1.227",
|
|
4349
4387
|
"versionRange": ">=2.1.0",
|
|
4350
4388
|
"versionScheme": "semver"
|
|
4351
4389
|
},
|
|
@@ -4519,7 +4557,7 @@ var init_catalog_generated = __esm({
|
|
|
4519
4557
|
{
|
|
4520
4558
|
"id": "subagent-stop-unregistered",
|
|
4521
4559
|
"severity": "medium",
|
|
4522
|
-
"summary": "The adapter registers `Stop` and no subagent-lifecycle event. Claude Code 2.1.221 fires `SubagentStop` \u2014 not `Stop` \u2014 when a subagent finishes, and subagents now run in the background past the parent's turn boundary, so the shipped Stop registration is guaranteed not to run for work a subagent completes after the parent stopped. Nothing is lost today because that registration is already inert (see `shipped-stop-hook-inert`), which is exactly why the fix is to repair the Stop path first and only then decide whether the repaired body should also ride `SubagentStop`. Registering the current inert script on a second event would add a spawn per subagent completion and buy nothing.",
|
|
4560
|
+
"summary": "The adapter registers `Stop` and no subagent-lifecycle event. Claude Code 2.1.221 fires `SubagentStop` \u2014 not `Stop` \u2014 when a subagent finishes, and subagents now run in the background past the parent's turn boundary. Version 2.1.224 also removed the 200-subagent-per-session spawn cap, increasing the frequency of this gap, so the shipped Stop registration is guaranteed not to run for work a subagent completes after the parent stopped. Nothing is lost today because that registration is already inert (see `shipped-stop-hook-inert`), which is exactly why the fix is to repair the Stop path first and only then decide whether the repaired body should also ride `SubagentStop`. Registering the current inert script on a second event would add a spawn per subagent completion and buy nothing.",
|
|
4523
4561
|
"verification": "verified",
|
|
4524
4562
|
"mitigation": "required",
|
|
4525
4563
|
"trackedAs": "coo:585"
|
|
@@ -4527,7 +4565,7 @@ var init_catalog_generated = __esm({
|
|
|
4527
4565
|
{
|
|
4528
4566
|
"id": "subagent-commits-escape-delivery-delta",
|
|
4529
4567
|
"severity": "high",
|
|
4530
|
-
"summary": 'Delivery change attribution is computed from `git status --porcelain` against the attach baseline (cli/src/vcs.ts `readChangedFiles` / `filterRunAttributableChanges`); nothing in that path consults HEAD or the commit graph. A background subagent that commits, merges, or opens a PR for its own work therefore removes those files from the worktree delta, and they vanish from the delivery report entirely \u2014 not flagged, not skipped, silently absent. The PostToolUse touched-files log is unaffected (its key is `sha256(abspath(cwd) + "\\0" + MISSION_ID)`, so a subagent sharing the cwd writes to the same log), which means the evidence that the edit happened survives while the delta that decides coverage does not. Closing this means teaching the delta about commits made since the baseline, which is a CLI change with branch and worktree semantics to settle, not a hook edit.',
|
|
4568
|
+
"summary": 'Delivery change attribution is computed from `git status --porcelain` against the attach baseline (cli/src/vcs.ts `readChangedFiles` / `filterRunAttributableChanges`); nothing in that path consults HEAD or the commit graph. Claude Code 2.1.221 made background-session commit-and-push behavior an explicit work-preservation default. A background subagent that commits, merges, or opens a PR for its own work therefore removes those files from the worktree delta, and they vanish from the delivery report entirely \u2014 not flagged, not skipped, silently absent. The PostToolUse touched-files log is unaffected (its key is `sha256(abspath(cwd) + "\\0" + MISSION_ID)`, so a subagent sharing the cwd writes to the same log), which means the evidence that the edit happened survives while the delta that decides coverage does not. Closing this means teaching the delta about commits made since the baseline, which is a CLI change with branch and worktree semantics to settle, not a hook edit.',
|
|
4531
4569
|
"verification": "verified",
|
|
4532
4570
|
"mitigation": "required",
|
|
4533
4571
|
"trackedAs": "coo:585"
|
|
@@ -4548,11 +4586,11 @@ var init_catalog_generated = __esm({
|
|
|
4548
4586
|
"codec": "codex",
|
|
4549
4587
|
"integrationShape": "callback",
|
|
4550
4588
|
"capabilityTier": 3,
|
|
4551
|
-
"descriptorDigest": "
|
|
4589
|
+
"descriptorDigest": "4b318751579af39c81ea0c1ea7be718d66cda313622f1c5edb1cff5e3dfe8659",
|
|
4552
4590
|
"descriptorSchemaVersion": 1,
|
|
4553
4591
|
"harness": {
|
|
4554
4592
|
"name": "Codex CLI",
|
|
4555
|
-
"verifiedVersion": "0.
|
|
4593
|
+
"verifiedVersion": "0.147.0",
|
|
4556
4594
|
"versionRange": ">=0.124.0",
|
|
4557
4595
|
"versionScheme": "semver"
|
|
4558
4596
|
},
|
|
@@ -4739,20 +4777,20 @@ var init_catalog_generated = __esm({
|
|
|
4739
4777
|
"adapter": "cursor",
|
|
4740
4778
|
"codec": "cursor",
|
|
4741
4779
|
"integrationShape": "callback",
|
|
4742
|
-
"capabilityTier":
|
|
4743
|
-
"descriptorDigest": "
|
|
4780
|
+
"capabilityTier": 3,
|
|
4781
|
+
"descriptorDigest": "f5cf848a2f9287bda3ddd2a4158ce8c05ce0fdadde32212c975062edf6f64ce8",
|
|
4744
4782
|
"descriptorSchemaVersion": 1,
|
|
4745
4783
|
"harness": {
|
|
4746
4784
|
"name": "Cursor Agent CLI",
|
|
4747
|
-
"verifiedVersion": "2026.
|
|
4785
|
+
"verifiedVersion": "2026.08.04-aaa8809",
|
|
4748
4786
|
"versionRange": ">=2026.07.01",
|
|
4749
4787
|
"versionScheme": "calendar"
|
|
4750
4788
|
},
|
|
4751
4789
|
"binding": {
|
|
4752
4790
|
"source": "payload",
|
|
4753
|
-
"field": "
|
|
4754
|
-
"fallbackField": "
|
|
4755
|
-
"status": "
|
|
4791
|
+
"field": "conversation_id",
|
|
4792
|
+
"fallbackField": "session_id",
|
|
4793
|
+
"status": "supported"
|
|
4756
4794
|
},
|
|
4757
4795
|
"decisionHold": {
|
|
4758
4796
|
"status": "supported",
|
|
@@ -5306,7 +5344,7 @@ var init_catalog_generated = __esm({
|
|
|
5306
5344
|
}
|
|
5307
5345
|
}
|
|
5308
5346
|
];
|
|
5309
|
-
HARNESS_CATALOG_DIGEST = "
|
|
5347
|
+
HARNESS_CATALOG_DIGEST = "7600395c3c63a383961856a0ff87105cfb2e019c2f5f7fa946c9d9109c90e8d9";
|
|
5310
5348
|
}
|
|
5311
5349
|
});
|
|
5312
5350
|
|
|
@@ -16785,11 +16823,11 @@ var init_git_run = __esm({
|
|
|
16785
16823
|
});
|
|
16786
16824
|
|
|
16787
16825
|
// ../packages/core/dist/service/local-target/worktree-git.js
|
|
16788
|
-
import { existsSync as existsSync16, realpathSync } from "node:fs";
|
|
16826
|
+
import { existsSync as existsSync16, realpathSync as realpathSync2 } from "node:fs";
|
|
16789
16827
|
import path17 from "node:path";
|
|
16790
16828
|
function resolveRealPath(targetPath) {
|
|
16791
16829
|
try {
|
|
16792
|
-
return
|
|
16830
|
+
return realpathSync2.native(targetPath);
|
|
16793
16831
|
} catch {
|
|
16794
16832
|
return path17.resolve(targetPath);
|
|
16795
16833
|
}
|
|
@@ -19040,12 +19078,16 @@ add-objectives:
|
|
|
19040
19078
|
|
|
19041
19079
|
create:
|
|
19042
19080
|
Purpose:
|
|
19043
|
-
Create a draft mission without attaching.
|
|
19081
|
+
Create a draft mission without attaching. Without --project-id and
|
|
19082
|
+
without a resolvable working-directory project, falls back to an
|
|
19083
|
+
account-owned inbox item instead of failing.
|
|
19044
19084
|
Required:
|
|
19045
19085
|
--objective "<text>" or --objectives-json / --objectives-file <path|->
|
|
19046
19086
|
Optional:
|
|
19047
19087
|
--title <text>
|
|
19048
19088
|
--project-id <id> Skips working-directory project resolution
|
|
19089
|
+
--inbox Force an account-owned inbox item instead of a project mission
|
|
19090
|
+
--assigned-to <id> Workspace member to own the mission (meaningless on the inbox fallback)
|
|
19049
19091
|
|
|
19050
19092
|
prompt:
|
|
19051
19093
|
Purpose:
|
|
@@ -19058,6 +19100,7 @@ prompt:
|
|
|
19058
19100
|
--agent <identifier>
|
|
19059
19101
|
--model <identifier>
|
|
19060
19102
|
--external-session-id <id>
|
|
19103
|
+
--assigned-to <id> Workspace member to own the mission
|
|
19061
19104
|
Returns:
|
|
19062
19105
|
New mission/session JSON plus SESSION_KEY on stderr when available.
|
|
19063
19106
|
|
|
@@ -19074,6 +19117,7 @@ record-work:
|
|
|
19074
19117
|
Optional:
|
|
19075
19118
|
--title <text>
|
|
19076
19119
|
--project-id <id>
|
|
19120
|
+
--assigned-to <id> Workspace member to own the mission
|
|
19077
19121
|
--artifacts-json / --artifacts-file <path|->
|
|
19078
19122
|
--change-rationales-json / --change-rationales-file <path|->
|
|
19079
19123
|
--changed-files-json / --changed-files-file <path|->
|
|
@@ -19321,6 +19365,7 @@ var init_protocol_help = __esm({
|
|
|
19321
19365
|
"load-context",
|
|
19322
19366
|
"prompt",
|
|
19323
19367
|
"read-context",
|
|
19368
|
+
"record-touched",
|
|
19324
19369
|
"record-work",
|
|
19325
19370
|
"resume-follow-up",
|
|
19326
19371
|
"search-missions",
|
|
@@ -19421,7 +19466,7 @@ import {
|
|
|
19421
19466
|
mkdirSync as mkdirSync11,
|
|
19422
19467
|
readdirSync as readdirSync5,
|
|
19423
19468
|
readFileSync as readFileSync18,
|
|
19424
|
-
realpathSync as
|
|
19469
|
+
realpathSync as realpathSync3,
|
|
19425
19470
|
rmSync as rmSync5,
|
|
19426
19471
|
writeFileSync as writeFileSync10
|
|
19427
19472
|
} from "node:fs";
|
|
@@ -19591,10 +19636,10 @@ function recordBashObservedChanges({
|
|
|
19591
19636
|
function normalizeAbsolute(filePath) {
|
|
19592
19637
|
const resolved = path26.resolve(filePath);
|
|
19593
19638
|
try {
|
|
19594
|
-
return
|
|
19639
|
+
return realpathSync3(resolved).replace(/\\/g, "/");
|
|
19595
19640
|
} catch {
|
|
19596
19641
|
try {
|
|
19597
|
-
return path26.join(
|
|
19642
|
+
return path26.join(realpathSync3(path26.dirname(resolved)), path26.basename(resolved)).replace(/\\/g, "/");
|
|
19598
19643
|
} catch {
|
|
19599
19644
|
return resolved.replace(/\\/g, "/");
|
|
19600
19645
|
}
|