From f557aba8e3a0dd1b9da85d7d8a74e7ebb4745164 Mon Sep 17 00:00:00 2001 From: Michael LoPresti Date: Thu, 18 Dec 2025 07:43:32 -0800 Subject: [PATCH 1/2] fix(api): standardize work submission response field naming Add standard 'id' field to WorkSubmitResponse while maintaining backward compatibility with 'workItemId'. This resolves the API field naming inconsistency identified in integration testing. Changes: - Add 'id' field as the primary work item identifier - Keep 'workItemId' field with @deprecated annotation - Update coordinator to return both fields in response - No breaking changes - existing clients using 'workItemId' continue to work Related: test-scenarios/WEFT-INTEGRATION-TEST-SUMMARY.md (REQ-ROUTE-001) Priority: P2 - Documentation/consistency improvement Verified: - All existing tests pass (72 tests) - TypeScript type checking passes - Build succeeds --- shared/src/types/work-item.ts | 3 +++ weft/src/coordinator/coordinator.ts | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/shared/src/types/work-item.ts b/shared/src/types/work-item.ts index e922e55..cc4b836 100644 --- a/shared/src/types/work-item.ts +++ b/shared/src/types/work-item.ts @@ -151,6 +151,9 @@ export interface WorkSubmitRequest { */ export interface WorkSubmitResponse { /** Generated work item ID */ + id: string; + + /** @deprecated Use `id` instead. Provided for backward compatibility. */ workItemId: string; /** Resolved agent type based on routing */ diff --git a/weft/src/coordinator/coordinator.ts b/weft/src/coordinator/coordinator.ts index ed4f13a..5ba6aa9 100644 --- a/weft/src/coordinator/coordinator.ts +++ b/weft/src/coordinator/coordinator.ts @@ -287,7 +287,8 @@ export class ExtendedCoordinator extends EventEmitter { } return { - workItemId, + id: workItemId, + workItemId, // Deprecated: for backward compatibility targetAgentType, spinUpTriggered, estimatedWaitSeconds, From 9d7e2ce20980207d03b8200afa8a1facab1b0a92 Mon Sep 17 00:00:00 2001 From: Michael LoPresti Date: Thu, 18 Dec 2025 08:11:09 -0800 Subject: [PATCH 2/2] fix: correct package names in Dockerfile.weft Use correct package names @loominal/shared and @loominal/weft instead of @loom/shared and @loom/weft in pnpm filter commands. This fixes the docker-weft CI build failure where dist directories were not being created because the build commands were not matching any packages. --- Dockerfile.weft | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.weft b/Dockerfile.weft index e7799ba..76ec6c7 100644 --- a/Dockerfile.weft +++ b/Dockerfile.weft @@ -16,8 +16,8 @@ COPY weft/ ./weft/ # Install dependencies and build RUN pnpm install --frozen-lockfile || pnpm install -RUN pnpm --filter @loom/shared build -RUN pnpm --filter @loom/weft build +RUN pnpm --filter @loominal/shared build +RUN pnpm --filter @loominal/weft build # Production image FROM node:20-alpine AS runner