dory-to-dory-watcher 0.3.0 → 0.5.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/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  dory-to-dory Core의 SSE wake-up 신호를 기다렸다가, 실제 처리할 work가 있을 때만 로컬 Agent CLI를 실행하는 크로스 플랫폼 Watcher입니다. SSE에는 작업 본문이 포함되지 않으며, 연결 또는 재연결 때 `/v2/watcher/status`로 실제 상태를 다시 확인합니다.
4
4
 
5
- 0.3.0은 검색 증빙을 지원하는 Core v2를 사용하며, MCP 0.3.0을 정확한 런타임 의존성으로 함께 설치합니다. 새 coordination 생성에는 정상 검색으로 발급받은 `skill_search_id`가 필수입니다. Core에도 검색 증빙 API와 migration이 적용되어 있어야 합니다. 기존 v1 작업은 자동 이전하지 않으며, 완료 또는 취소까지 기존 0.1.x MCP와 Watcher를 유지해야 합니다.
5
+ 0.5.0은 검색 증빙과 실행 담당자 규약 2, 실행 결과 보고를 지원하는 Core v2를 사용하며, MCP 0.5.0을 정확한 런타임 의존성으로 함께 설치합니다. `schedule_meeting 1.2.0`은 각 Agent의 성공·실패·결과 불명 보고로 완료를 판단하며 별도 결과 증빙·상호 캘린더 검증을 요구하지 않습니다. 기존 Skill은 저장된 receipt 계약을 유지합니다. Core에 직접 사용자 질문 API와 `owned_work` 상태 조회를 먼저 배포해야 합니다. 새 coordination 생성에는 정상 검색으로 발급받은 `skill_search_id`가 필수입니다. Core에도 검색 증빙 API와 migration이 적용되어 있어야 합니다. 기존 v1 작업은 자동 이전하지 않으며, 완료 또는 취소까지 기존 0.1.x MCP와 Watcher를 유지해야 합니다.
6
6
 
7
7
  Watcher는 Agent를 새로 구현하지 않습니다. 사용자가 이미 로그인하고 도구를 설정한 Codex CLI, Claude Code, Gemini CLI를 headless 모드로 실행합니다. 비대화식 실행이 사람의 승인 창에서 멈추지 않도록 Agent별 안전 모드를 명시적으로 적용하며, 위험한 sandbox·권한 우회 인자는 거부합니다. dory-to-dory MCP는 Watcher의 정확한 런타임 의존성으로 함께 설치됩니다. `custom` Adapter를 통해 다른 Agent 개발자가 실행 방식을 교체할 수 있습니다.
8
8
 
@@ -12,9 +12,11 @@ Watcher는 Agent를 새로 구현하지 않습니다. 사용자가 이미 로그
12
12
  2. wake-up 또는 재연결 시 `/v2/watcher/status`를 호출합니다.
13
13
  3. queued work가 있을 때 선택한 Agent CLI를 실행하거나 dory-to-dory-agent의 영구 inbox에 전달합니다.
14
14
  4. Agent가 MCP의 `d2d_claim_next_item`으로 lease/fencing token을 받고 작업합니다.
15
- 5. client 응답은 `d2d_submit_item_result`, host 판단은 `d2d_update_host_card`로 제출합니다. 통지 전용 work는 `d2d_acknowledge_item`으로 확인합니다.
16
- 6. 사용자 확인이 필요하면 Agent가 구조화된 `ask_user` 결과를 제출하고 종료합니다. Core의 알림 outbox가 연결된 이메일과 Telegram으로 일반 알림을 보냅니다.
17
- 7. 사용자가 평소 Agent UI에서 답하면 `d2d_submit_user_response`가 답을 저장하고 이어서 처리할 work를 만듭니다. Watcher가 다시 Agent를 깨워 처리를 이어갑니다.
15
+ 5. client는 정보를 모은 뒤 최종 `to_host`를 `d2d_submit_item_result`로 제출하고 host에게 실행을 넘깁니다. host는 `d2d_update_host_card`로 판단을 저장합니다. 실행 규약 2(`execution_protocol=2`)에서는 `next_action=continue`인 중간 저장이 claim을 유지하고, `dispatch`는 한 client에게 인계하며 `finish`는 coordination을 종료합니다. 통지 전용 work는 `d2d_acknowledge_item`으로 확인합니다.
16
+ 6. 실행 규약 2에서 사용자 확인이 필요하면 담당 Agent가 `d2d_request_user_input`으로 질문을 저장하고 같은 work를 `waiting_for_input`으로 보류한 뒤 종료합니다. Card는 `processing`을 유지하고 host의 질문 승인을 기다리지 않습니다. Core의 알림 outbox는 연결된 이메일과 Telegram으로 일반 알림을 보냅니다.
17
+ 7. 사용자가 평소 Agent UI에서 답하면 `d2d_submit_user_response`가 답을 저장하고 같은 담당자의 work를 새 revision으로 다시 대기열에 넣습니다. Watcher가 Agent를 깨우면 이전 claim을 재사용하지 않고 다시 claim하여 답변을 읽고 처리를 이어갑니다. 필요한 질문이 더 있으면 같은 방식으로 반복하고 최종 결과를 제출합니다.
18
+
19
+ 기존 실행 규약의 coordination은 기존 `ask_user` 결과 경로를 유지합니다. 실행 규약 2의 coordination은 질문 도구가 없는 MCP로 처리할 수 없으므로 Core, MCP, Agent와 Watcher를 함께 검증한 버전으로 설치해야 합니다.
18
20
 
19
21
  이 전달은 at-least-once 방식입니다. 중복 wake-up은 정상이며, Core의 claim lease, fencing token, idempotency key가 중복 처리를 방지합니다.
20
22
 
@@ -35,7 +37,7 @@ Watcher는 Agent를 새로 구현하지 않습니다. 사용자가 이미 로그
35
37
  일반 사용자는 Watcher를 전역 설치한 뒤 대화형 설정을 한 번 실행합니다.
36
38
 
37
39
  ```sh
38
- npm install --global dory-to-dory-watcher@0.3.0
40
+ npm install --global dory-to-dory-watcher@0.5.0
39
41
  dory-watcher setup
40
42
  ```
41
43
 
@@ -79,7 +81,7 @@ Windows setup이 `Could not restrict the Windows credential ACL`로 중단되고
79
81
  같은 Node 설치와 npm 전역 prefix를 유지하는 일반적인 Watcher 업데이트는 다음 순서로 진행합니다. 두 번째 명령은 새 설치 경로를 확인하고 서비스 정의를 안전하게 교체한 뒤 실행 중인 Watcher를 새 버전으로 재시작합니다.
80
82
 
81
83
  ```sh
82
- npm install --global dory-to-dory-watcher@0.3.0
84
+ npm install --global dory-to-dory-watcher@0.5.0
83
85
  dory-watcher service install --replace
84
86
  dory-watcher status
85
87
  ```
@@ -123,7 +125,7 @@ node dist/cli.js run
123
125
  npm 패키지는 다음과 같이 전역 설치할 수 있습니다.
124
126
 
125
127
  ```sh
126
- npm install --global dory-to-dory-watcher@0.3.0
128
+ npm install --global dory-to-dory-watcher@0.5.0
127
129
  dory-watcher doctor
128
130
  dory-watcher run
129
131
  ```
@@ -185,7 +187,7 @@ export D2D_AGENT_KIND=gemini
185
187
  - Claude Code: `--permission-mode auto`와 `stream-json`을 사용합니다. 별도 classifier가 실행 전 안전성을 검토합니다. 2.1.83 이상, 로그인 상태, auto mode 설정을 `doctor`가 fail-closed 방식으로 확인합니다.
186
188
  - Gemini CLI: reviewer형 auto mode가 없어 `--approval-mode yolo --sandbox`를 항상 함께 사용합니다. 모든 도구가 자동 승인되므로 macOS에서 `sandbox-exec`의 `strict-open` profile을 강제합니다. Linux/Windows의 Docker/Podman full-process sandbox는 setup이 등록한 절대 MCP launcher와 credential 파일이 기본 mount에 포함되지 않으므로 현재 built-in Adapter가 시작 전에 거부합니다. `doctor`는 macOS의 같은 환경에서 실제 sandbox와 인증을 사용하는 무도구 진단을 수행합니다.
187
189
 
188
- Codex와 Claude의 자동 안전 검토가 거부하거나 판단하지 못한 작업은 실행되지 않습니다. Agent는 가능한 경우 결과를 `ask_user` 또는 오류로 제출하고, 제출까지 실패하면 Watcher 장애 보고 흐름이 동작합니다. Gemini는 같은 종류의 reviewer가 없으므로 workspace와 sandbox 구성이 실제 보안 경계입니다.
190
+ Codex와 Claude의 자동 안전 검토가 거부하거나 판단하지 못한 작업은 실행되지 않습니다. Agent는 실행 규약에 따라 `d2d_request_user_input`으로 필요한 질문을 저장하거나 실패 결과를 제출합니다. 기존 규약만 `ask_user` 결과를 사용하며, 제출까지 실패하면 Watcher 장애 보고 흐름이 동작합니다. Gemini는 같은 종류의 reviewer가 없으므로 workspace와 sandbox 구성이 실제 보안 경계입니다.
189
191
 
190
192
  Agent별 추가 인자는 JSON 문자열 배열로 전달할 수 있습니다. built-in Adapter는 향후 CLI에 추가될 수 있는 경계 변경 옵션까지 안전하게 막기 위해 알 수 없는 인자를 모두 거부하고, 모델·비용·turn 수처럼 제한된 tuning 옵션만 허용합니다. 작업 디렉터리, 추가 읽기 디렉터리, config/profile/settings, 도구/MCP, permission/approval, sandbox/provider, policy/trust/extension 관련 재정의는 시작 전에 거부됩니다. Gemini에서는 같은 경계를 우회하거나 prompt를 외부로 전송할 수 있는 system prompt, relaunch, custom endpoint, telemetry/debug 관련 환경 재정의도 자식 환경에서 제거합니다.
191
193
 
@@ -279,12 +281,12 @@ pnpm run check
279
281
 
280
282
  ## v2 and the desktop Agent
281
283
 
282
- Version `0.3.0` requires the Core `/v2/watcher/status` and skill-search proof
283
- contracts, and installs the exact MCP `0.3.0` dependency. Core must also have the
284
+ Version `0.5.0` requires the Core `/v2/watcher/status` and skill-search proof
285
+ contracts plus execution-result reporting, and installs the exact MCP `0.5.0` dependency. New `schedule_meeting 1.2.0` work reports succeeded, failed or unknown without a separate calendar verification round; pinned legacy Skills retain their receipt contract. Core must also have the
284
286
  skill-search API and migration deployed. MCP requires a successful search proof
285
287
  before each new coordination and stops creation after an initial search plus at
286
288
  most three retries.
287
- The Watcher adapter protocol and processing behavior are unchanged in this release.
289
+ This release requires the execution-ownership migration and direct-question API. It distinguishes parked user input from incomplete execution using `owned_work`, and resumes the same work after an answer with a fresh claim.
288
290
  Existing Codex, Claude and Gemini execution boundaries remain in force. The
289
291
  headless prompt now routes host decisions to `d2d_update_host_card` and client
290
292
  responses to `d2d_submit_item_result`. It never treats a client answer as overall
@@ -315,13 +317,18 @@ same work/session revision. After wake-up, the app revalidates current work and
315
317
  claims it before acting. A session migration or a new work revision creates a new
316
318
  routing key. Telegram notifications continue independently through Core.
317
319
 
318
- V2 progress uses Core's acknowledged `progress_revision`, rather than the pending
319
- count or SSE sequence: one completed turn can create another queued turn with no
320
- change in count. An unrelated event or a claim alone does not prove execution.
320
+ When Core returns `owned_work`, Watcher checks the disposition of the exact
321
+ execution work it delivered. A parked `waiting_for_input` or `paused` work is a
322
+ normal stopping point, while a retained lease after a host checkpoint is not.
323
+ An absent work plus an advanced `progress_revision` confirms handoff or settlement,
324
+ not completion of the entire coordination. An empty queue alone is insufficient.
325
+ Notification work and older Core responses without `owned_work` retain the legacy
326
+ progress check. Watcher never steals or renews an Agent claim itself; Core reconciles
327
+ an expired lease before redelivery. CLI exit alone does not prove execution.
321
328
 
322
329
  ### Local development across the two repositories
323
330
 
324
- `package.json` and the lockfile use the registry package `dory-to-dory-mcp@0.3.0`.
331
+ `package.json` and the lockfile use the registry package `dory-to-dory-mcp@0.5.0`.
325
332
  There is no local sibling-repository override. If you temporarily link an MCP
326
333
  checkout while developing a coordinated change, remove that override, regenerate
327
334
  the lockfile against the exact published dependency, and verify an isolated
package/dist/agent.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { AgentKind, WatcherConfig } from "./config.js";
2
2
  import type { PendingWork } from "./core-client.js";
3
- export declare const WAKE_PROMPT = "This is a dory-to-dory v2 background wake-up. Process at most one pending work item.\n\n1. Call d2d_claim_next_item exactly once, scoped to the supplied work_id/coordination_id when present. Pass your real current session_id or null for an Agent without persistent sessions.\n2. If no work is pending, finish immediately without a user-facing message.\n3. Check delivery.work.kind first. For notification work, record the role-filtered update in the current session and call d2d_acknowledge_item with the work ID and claim ID, then finish; never execute external actions or modify business cards for a notification. Terminal updates and late recovery receipts use this path.\n4. For execution work, read the returned role, revision, request, policy, lease and claim_id. Derive the task's minimum semantic capabilities and compare them with your available tools and permissions; never invent a successful result.\n5. For a client role, only submit to_host through d2d_submit_item_result using work_id, claim_id, turn_id and request_id from this delivery. Never alter state, slots, attempt, to_client, host_card or another client's card.\n6. For a host role, assess all delivered responses, update plan/slots/client states and issue the next requests using d2d_update_host_card with the active host work lease. Client completion alone does not prove that the goal has been achieved. Skill is optional; author a plan from the goal if none applies. If system_status=paused, both host and client must wait for Dashboard resume; do not update business cards or execute external actions. Only explicit Core-issued cleanup work in a non-paused suspended or cancel_requested workflow may preserve partial results and settle failed/cancelled without starting external work.\n7. If user confirmation or missing information is required, persist a structured ask_user interaction and exit. Never invent an answer or prompt in this headless terminal. Use answered interactions when resuming.\n8. Only execute a calendar commit after all required participants are ready for the same proposal and the host has recorded its final decision. Report actual results, including partial or uncertain writes.\n\nDo not process unrelated work and do not include credentials in output.";
3
+ export declare const WAKE_PROMPT = "This is a dory-to-dory v2 background wake-up. Process at most one pending work item.\n\n1. Call d2d_claim_next_item exactly once, scoped to the supplied work_id/coordination_id when present. Pass your real current session_id or null for an Agent without persistent sessions.\n2. If the claim succeeds with no work, finish immediately without a user-facing message. An isError result is a failed claim, not an empty queue; do not invent a claim or report work as processed.\n3. Check delivery.work.kind first. For notification work, record the role-filtered update in the current session and call d2d_acknowledge_item with the work ID and claim ID, then finish; never execute external actions or modify business cards for a notification. Terminal updates and late recovery receipts use this path.\n4. For execution work, read the returned role, revision, request, policy, lease and claim_id. Derive the task's minimum semantic capabilities and compare them with your available tools and permissions; never invent a successful result.\n5. For a client role, only submit the final to_host result through d2d_submit_item_result using work_id, claim_id, turn_id and request_id from this delivery, with expected_revision equal to your current client card revision. Never alter state, slots, attempt, to_client, host_card or another client's card. Gather missing information and approval evidence before submitting the result; a client submission hands execution back to the host.\n6. For a host role, assess all delivered responses, update plan/slots/client states and issue the next requests using d2d_update_host_card with the active host work lease. When delivery.coordination.execution_protocol=2, use next_action=continue for intermediate saves and continue working with the SAME claim, using the latest returned coordination.revision for the top-level expected_revision and each client card revision for client_updates[].expected_revision. You may call d2d_update_host_card multiple times within this claimed work. Use next_action=dispatch to hand off to one client, or next_action=finish to settle the coordination. Never exit after only a continue checkpoint. Assess completion from the requested outcome and each required participant's actual execution result, including your own result when host_attends=true. Skill is optional; author a plan from the goal if none applies. Claims omit skill content; only a Host can fetch the stored skill, full plan and workflow slots through d2d_get_coordination. A Client receives only its own card and shared proposal; it must not repeatedly fetch hidden host context. If system_status=paused, both host and client must wait for Dashboard resume; do not update business cards or execute external actions. Only Host execution work issued by Core for cleanup in system_status=cancel_requested may preserve partial or unknown results and settle failed/cancelled without starting external work. Notification work is never cleanup execution. Terminal updates require reason and reason_code; after commit preserve partial_external_commit when any action may have succeeded or remains unknown.\n7. If user confirmation or missing information is required and delivery.coordination.execution_protocol=2, call d2d_request_user_input with the current work and claim to persist the question and park THIS work, then exit. This is runtime suspension: do not change a card to a user-waiting business state, do not submit to_host.ask_user as a partial client result, and do not hand the question to the host for permission. The reply resumes the same owner's work; use the newly claimed delivery and its answered interactions, never the previous claim. If the question tool is unavailable, report the missing capability without pretending to submit a result or falling back to a legacy partial-result flow. Only legacy coordination without execution_protocol=2 uses the structured ask_user result. Never invent an answer or prompt in this headless terminal. Use answered interactions when resuming.\n8. Only execute a calendar commit after all required participants are ready for the same proposal and the host has recorded its final decision. For result_mode=agent_report (schedule_meeting 1.2.0), report the actual tool outcome as succeeded, failed or unknown in the same execution turn: a Client submits type=committed with to_host.execution_result, and an attending Host submits host_execution_result. Each report contains the current proposal_hash, the issued execution operation_id and status, with an optional reason. These execution operation IDs differ from the top-level tool retry operation_id. The Host completes the existing registration step from all required successful reports; there is no verify phase or separate results-validation round. Do not require receipts, provider names, calendar IDs, event IDs, or access to another participant's calendar. A successful report must not become a failure because optional metadata or event read/search tools are absent. The acting Agent handles uncertain outcomes and duplicate prevention within its own calendar capabilities, preserving unknown if unresolved and never blindly creating again. Never fabricate success or discard another participant's successful report. Follow the pinned legacy skill's receipt contract for older coordinations; do not reinterpret their stored definition.\n\nDo not process unrelated work and do not include credentials in output.";
4
4
  export interface AgentWakeContext {
5
5
  work: PendingWork;
6
6
  account_id?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/agent.js CHANGED
@@ -4,13 +4,13 @@ import { commandForSpawn } from "./process.js";
4
4
  export const WAKE_PROMPT = `This is a dory-to-dory v2 background wake-up. Process at most one pending work item.
5
5
 
6
6
  1. Call d2d_claim_next_item exactly once, scoped to the supplied work_id/coordination_id when present. Pass your real current session_id or null for an Agent without persistent sessions.
7
- 2. If no work is pending, finish immediately without a user-facing message.
7
+ 2. If the claim succeeds with no work, finish immediately without a user-facing message. An isError result is a failed claim, not an empty queue; do not invent a claim or report work as processed.
8
8
  3. Check delivery.work.kind first. For notification work, record the role-filtered update in the current session and call d2d_acknowledge_item with the work ID and claim ID, then finish; never execute external actions or modify business cards for a notification. Terminal updates and late recovery receipts use this path.
9
9
  4. For execution work, read the returned role, revision, request, policy, lease and claim_id. Derive the task's minimum semantic capabilities and compare them with your available tools and permissions; never invent a successful result.
10
- 5. For a client role, only submit to_host through d2d_submit_item_result using work_id, claim_id, turn_id and request_id from this delivery. Never alter state, slots, attempt, to_client, host_card or another client's card.
11
- 6. For a host role, assess all delivered responses, update plan/slots/client states and issue the next requests using d2d_update_host_card with the active host work lease. Client completion alone does not prove that the goal has been achieved. Skill is optional; author a plan from the goal if none applies. If system_status=paused, both host and client must wait for Dashboard resume; do not update business cards or execute external actions. Only explicit Core-issued cleanup work in a non-paused suspended or cancel_requested workflow may preserve partial results and settle failed/cancelled without starting external work.
12
- 7. If user confirmation or missing information is required, persist a structured ask_user interaction and exit. Never invent an answer or prompt in this headless terminal. Use answered interactions when resuming.
13
- 8. Only execute a calendar commit after all required participants are ready for the same proposal and the host has recorded its final decision. Report actual results, including partial or uncertain writes.
10
+ 5. For a client role, only submit the final to_host result through d2d_submit_item_result using work_id, claim_id, turn_id and request_id from this delivery, with expected_revision equal to your current client card revision. Never alter state, slots, attempt, to_client, host_card or another client's card. Gather missing information and approval evidence before submitting the result; a client submission hands execution back to the host.
11
+ 6. For a host role, assess all delivered responses, update plan/slots/client states and issue the next requests using d2d_update_host_card with the active host work lease. When delivery.coordination.execution_protocol=2, use next_action=continue for intermediate saves and continue working with the SAME claim, using the latest returned coordination.revision for the top-level expected_revision and each client card revision for client_updates[].expected_revision. You may call d2d_update_host_card multiple times within this claimed work. Use next_action=dispatch to hand off to one client, or next_action=finish to settle the coordination. Never exit after only a continue checkpoint. Assess completion from the requested outcome and each required participant's actual execution result, including your own result when host_attends=true. Skill is optional; author a plan from the goal if none applies. Claims omit skill content; only a Host can fetch the stored skill, full plan and workflow slots through d2d_get_coordination. A Client receives only its own card and shared proposal; it must not repeatedly fetch hidden host context. If system_status=paused, both host and client must wait for Dashboard resume; do not update business cards or execute external actions. Only Host execution work issued by Core for cleanup in system_status=cancel_requested may preserve partial or unknown results and settle failed/cancelled without starting external work. Notification work is never cleanup execution. Terminal updates require reason and reason_code; after commit preserve partial_external_commit when any action may have succeeded or remains unknown.
12
+ 7. If user confirmation or missing information is required and delivery.coordination.execution_protocol=2, call d2d_request_user_input with the current work and claim to persist the question and park THIS work, then exit. This is runtime suspension: do not change a card to a user-waiting business state, do not submit to_host.ask_user as a partial client result, and do not hand the question to the host for permission. The reply resumes the same owner's work; use the newly claimed delivery and its answered interactions, never the previous claim. If the question tool is unavailable, report the missing capability without pretending to submit a result or falling back to a legacy partial-result flow. Only legacy coordination without execution_protocol=2 uses the structured ask_user result. Never invent an answer or prompt in this headless terminal. Use answered interactions when resuming.
13
+ 8. Only execute a calendar commit after all required participants are ready for the same proposal and the host has recorded its final decision. For result_mode=agent_report (schedule_meeting 1.2.0), report the actual tool outcome as succeeded, failed or unknown in the same execution turn: a Client submits type=committed with to_host.execution_result, and an attending Host submits host_execution_result. Each report contains the current proposal_hash, the issued execution operation_id and status, with an optional reason. These execution operation IDs differ from the top-level tool retry operation_id. The Host completes the existing registration step from all required successful reports; there is no verify phase or separate results-validation round. Do not require receipts, provider names, calendar IDs, event IDs, or access to another participant's calendar. A successful report must not become a failure because optional metadata or event read/search tools are absent. The acting Agent handles uncertain outcomes and duplicate prevention within its own calendar capabilities, preserving unknown if unresolved and never blindly creating again. Never fabricate success or discard another participant's successful report. Follow the pinned legacy skill's receipt contract for older coordinations; do not reinterpret their stored definition.
14
14
 
15
15
  Do not process unrelated work and do not include credentials in output.`;
16
16
  export function ingestEnvelope(context) {
@@ -9,12 +9,18 @@ export interface PendingWork {
9
9
  session_id: string | null;
10
10
  session_revision: number;
11
11
  }
12
+ /** Nonterminal execution owned by the caller, including work parked for input. */
13
+ export interface OwnedWork extends PendingWork {
14
+ status: "queued" | "leased" | "waiting_for_input" | "paused";
15
+ interaction_id?: string | null;
16
+ }
12
17
  export interface WatcherStatus {
13
18
  schema_version?: 2;
14
19
  account_id?: string;
15
20
  agent_binding_id?: string;
16
21
  progress_revision?: number;
17
22
  pending_work?: PendingWork[];
23
+ owned_work?: OwnedWork[];
18
24
  has_pending_items: boolean;
19
25
  pending_count: number;
20
26
  claimed_count: number;
@@ -1 +1 @@
1
- {"version":3,"file":"core-client.d.ts","sourceRoot":"","sources":["../src/core-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,IAAI,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,CAAC,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,yBAAyB,GACzB,uBAAuB,GACvB,kBAAkB,GAClB,iBAAiB,GACjB,SAAS,GACT,oBAAoB,GACpB,aAAa,GACb,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC/B,YAAY,EAAE,kBAAkB,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,2BAA2B,GAAG,UAAU,GAAG,aAAa,CAAC;AAErE,qBAAa,SAAU,SAAQ,KAAK;IAKhC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAJjB,IAAI,SAAe;gBAG1B,OAAO,EAAE,MAAM,EACN,MAAM,CAAC,EAAE,MAAM,YAAA;CAI3B;AAED,qBAAa,UAAU;IAEnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,OAAO,KAAa;IAGhD,oBAAoB,IAAI,OAAO;IAQ/B,SAAS,IAAI,GAAG;IAIV,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;IAuBhC,qBAAqB,CACzB,MAAM,EAAE,qBAAqB,EAC7B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,2BAA2B,CAAC;CA4BxC"}
1
+ {"version":3,"file":"core-client.d.ts","sourceRoot":"","sources":["../src/core-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,IAAI,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,kFAAkF;AAClF,MAAM,WAAW,SAAU,SAAQ,WAAW;IAC5C,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,mBAAmB,GAAG,QAAQ,CAAC;IAC7D,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,CAAC,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,yBAAyB,GACzB,uBAAuB,GACvB,kBAAkB,GAClB,iBAAiB,GACjB,SAAS,GACT,oBAAoB,GACpB,aAAa,GACb,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC/B,YAAY,EAAE,kBAAkB,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,2BAA2B,GAAG,UAAU,GAAG,aAAa,CAAC;AAErE,qBAAa,SAAU,SAAQ,KAAK;IAKhC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAJjB,IAAI,SAAe;gBAG1B,OAAO,EAAE,MAAM,EACN,MAAM,CAAC,EAAE,MAAM,YAAA;CAI3B;AAED,qBAAa,UAAU;IAEnB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,OAAO,KAAa;IAGhD,oBAAoB,IAAI,OAAO;IAQ/B,SAAS,IAAI,GAAG;IAIV,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC;IAuBhC,qBAAqB,CACzB,MAAM,EAAE,qBAAqB,EAC7B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,2BAA2B,CAAC;CA4BxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"core-client.js","sourceRoot":"","sources":["../src/core-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAqDzC,MAAM,OAAO,SAAU,SAAQ,KAAK;IAKvB;IAJF,IAAI,GAAG,WAAW,CAAC;IAE5B,YACE,OAAe,EACN,MAAe;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,WAAM,GAAN,MAAM,CAAS;IAG1B,CAAC;CACF;AAED,MAAM,OAAO,UAAU;IAEF;IACA;IAFnB,YACmB,MAAqB,EACrB,UAAwB,KAAK;QAD7B,WAAM,GAAN,MAAM,CAAe;QACrB,YAAO,GAAP,OAAO,CAAsB;IAC7C,CAAC;IAEJ,oBAAoB;QAClB,OAAO,IAAI,OAAO,CAAC;YACjB,MAAM,EAAE,kBAAkB;YAC1B,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAC7C,cAAc,EAAE,UAAU,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,OAAO,IAAI,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBACrF,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE;gBACpC,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,GAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,SAAS,CAAC,6CAA6C,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,IAAqB,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,SAAS;gBAAE,MAAM,KAAK,CAAC;YAC5C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;YACtE,MAAM,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC;QAC5G,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,MAA6B,EAC7B,cAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBACxF,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC5B,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;gBAAE,OAAO,aAAa,CAAC;YAC7E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,SAAS,CAAC,sDAAsD,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAChH,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,SAAS;gBAAE,MAAM,KAAK,CAAC;YAC5C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;YACtE,MAAM,IAAI,SAAS,CACjB,OAAO,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC,mCAAmC,CAC9F,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"core-client.js","sourceRoot":"","sources":["../src/core-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAA2B,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAA2B,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,eAAe,EAAgC,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGhD,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACnH,aAAa,CAAC,EAAE,OAAO,oBAAoB,CAAC;IAC5C,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC,CAAC;CACrE;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAI3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM;IAJrB,IAAI,SAA0B;gBAG5B,KAAK,CAAC,EAAE,MAAM,YAAA,EACd,UAAU,CAAC,EAAE,MAAM,YAAA;CAI/B;AAgBD,qBAAa,OAAO;IAUhB,OAAO,CAAC,QAAQ,CAAC,MAAM;IATzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuG;IACnI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;IAChE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA4B;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0D;IACpF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;gBAGrC,MAAM,EAAE,aAAa,EACtC,YAAY,GAAE,mBAAwB;IAUxC,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,mBAAmB;YASb,aAAa;YA6Bb,cAAc;YAsBd,0BAA0B;IA+DlC,oBAAoB,CAAC,QAAQ,SAA8B,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IASnG,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CA+B/C"}
1
+ {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAA2B,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAA2B,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,eAAe,EAAgC,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGhD,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACnH,aAAa,CAAC,EAAE,OAAO,oBAAoB,CAAC;IAC5C,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC,CAAC;CACrE;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAI3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM;IAJrB,IAAI,SAA0B;gBAG5B,KAAK,CAAC,EAAE,MAAM,YAAA,EACd,UAAU,CAAC,EAAE,MAAM,YAAA;CAI/B;AAgBD,qBAAa,OAAO;IAUhB,OAAO,CAAC,QAAQ,CAAC,MAAM;IATzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuG;IACnI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;IAChE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA4B;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0D;IACpF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;gBAGrC,MAAM,EAAE,aAAa,EACtC,YAAY,GAAE,mBAAwB;IAUxC,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,mBAAmB;YASb,aAAa;YA6Bb,cAAc;YAsBd,0BAA0B;IA4FlC,oBAAoB,CAAC,QAAQ,SAA8B,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IASnG,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CA+B/C"}
package/dist/watcher.js CHANGED
@@ -178,12 +178,46 @@ export class Watcher {
178
178
  if (after.waiting_for_user_count > before.waiting_for_user_count) {
179
179
  this.logEvent("item_waiting_for_user");
180
180
  }
181
- const madeProgress = before.progress_revision !== undefined && after.progress_revision !== undefined
182
- ? after.progress_revision > before.progress_revision || !after.has_pending_items
183
- : !after.has_pending_items ||
184
- after.pending_count < before.pending_count ||
185
- after.claimed_count !== before.claimed_count ||
186
- after.waiting_for_user_count !== before.waiting_for_user_count;
181
+ let madeProgress;
182
+ if (work && work.kind !== "notification" && after.owned_work !== undefined) {
183
+ const remaining = after.owned_work.find((candidate) => candidate.id === work.id);
184
+ if (remaining?.status === "waiting_for_input" || remaining?.status === "paused") {
185
+ // Parking is an execution disposition, not completion of the coordination.
186
+ madeProgress = true;
187
+ this.logEvent(remaining.status === "waiting_for_input" ? "work_waiting_for_input" : "work_paused", {
188
+ work_id: work.id,
189
+ });
190
+ }
191
+ else if (remaining?.status === "queued" && remaining.interaction_id && remaining.revision > work.revision &&
192
+ before.progress_revision !== undefined && after.progress_revision !== undefined &&
193
+ after.progress_revision > before.progress_revision) {
194
+ // A fast reply may resume the parked work before this status read.
195
+ // This is a new queued delivery, never permission to reuse its old claim.
196
+ madeProgress = true;
197
+ this.logEvent("work_input_resumed", { work_id: work.id });
198
+ }
199
+ else if (remaining) {
200
+ // A checkpoint may change revisions and empty the queue while retaining
201
+ // the claim. The CLI must continue that work before exiting successfully.
202
+ madeProgress = false;
203
+ this.logEvent("work_not_relinquished", { work_id: work.id, work_status: remaining.status });
204
+ }
205
+ else {
206
+ madeProgress = before.progress_revision !== undefined && after.progress_revision !== undefined &&
207
+ after.progress_revision > before.progress_revision;
208
+ if (madeProgress)
209
+ this.logEvent("work_handed_off_or_settled", { work_id: work.id });
210
+ }
211
+ }
212
+ else {
213
+ // Older Core versions and notification work do not expose execution ownership.
214
+ madeProgress = before.progress_revision !== undefined && after.progress_revision !== undefined
215
+ ? after.progress_revision > before.progress_revision || !after.has_pending_items
216
+ : !after.has_pending_items ||
217
+ after.pending_count < before.pending_count ||
218
+ after.claimed_count !== before.claimed_count ||
219
+ after.waiting_for_user_count !== before.waiting_for_user_count;
220
+ }
187
221
  if (!madeProgress) {
188
222
  throw new AgentNoProgressError(agentResult.runId, agentResult.durationMs);
189
223
  }
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dory-to-dory-watcher",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "Cross-platform SSE watcher that wakes a configured local Agent CLI for dory-to-dory work",
5
5
  "type": "module",
6
6
  "bin": {
@@ -34,7 +34,7 @@
34
34
  "access": "public"
35
35
  },
36
36
  "dependencies": {
37
- "dory-to-dory-mcp": "0.3.0"
37
+ "dory-to-dory-mcp": "0.5.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/node": "^24.0.0",