macro-agent 0.1.7 → 0.1.10
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/CLAUDE.md +179 -38
- package/README.md +781 -131
- package/dist/acp/claude-code-replay.d.ts +11 -0
- package/dist/acp/claude-code-replay.d.ts.map +1 -0
- package/dist/acp/claude-code-replay.js +190 -0
- package/dist/acp/claude-code-replay.js.map +1 -0
- package/dist/acp/macro-agent.d.ts.map +1 -1
- package/dist/acp/macro-agent.js +155 -6
- package/dist/acp/macro-agent.js.map +1 -1
- package/dist/acp/types.d.ts +9 -0
- package/dist/acp/types.d.ts.map +1 -1
- package/dist/acp/types.js.map +1 -1
- package/dist/agent/agent-manager-v2.d.ts +21 -0
- package/dist/agent/agent-manager-v2.d.ts.map +1 -1
- package/dist/agent/agent-manager-v2.js +234 -71
- package/dist/agent/agent-manager-v2.js.map +1 -1
- package/dist/agent/agent-manager.d.ts +12 -0
- package/dist/agent/agent-manager.d.ts.map +1 -1
- package/dist/agent/agent-manager.js.map +1 -1
- package/dist/agent/types.d.ts +15 -2
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/boot-v2.d.ts +41 -0
- package/dist/boot-v2.d.ts.map +1 -1
- package/dist/boot-v2.js +34 -37
- package/dist/boot-v2.js.map +1 -1
- package/dist/cli/index.js +56 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cognitive/macro-agent-backend.d.ts.map +1 -1
- package/dist/cognitive/macro-agent-backend.js +40 -22
- package/dist/cognitive/macro-agent-backend.js.map +1 -1
- package/dist/integrations/skilltree.d.ts.map +1 -1
- package/dist/integrations/skilltree.js +1 -0
- package/dist/integrations/skilltree.js.map +1 -1
- package/dist/lifecycle/cleanup.d.ts +33 -2
- package/dist/lifecycle/cleanup.d.ts.map +1 -1
- package/dist/lifecycle/cleanup.js +28 -6
- package/dist/lifecycle/cleanup.js.map +1 -1
- package/dist/lifecycle/handlers-v2.d.ts +7 -0
- package/dist/lifecycle/handlers-v2.d.ts.map +1 -1
- package/dist/lifecycle/handlers-v2.js +28 -2
- package/dist/lifecycle/handlers-v2.js.map +1 -1
- package/dist/lifecycle/types.d.ts +11 -0
- package/dist/lifecycle/types.d.ts.map +1 -1
- package/dist/lifecycle/types.js.map +1 -1
- package/dist/map/acp-bridge.d.ts +9 -0
- package/dist/map/acp-bridge.d.ts.map +1 -1
- package/dist/map/acp-bridge.js +15 -2
- package/dist/map/acp-bridge.js.map +1 -1
- package/dist/map/cascade-bridge.d.ts +44 -0
- package/dist/map/cascade-bridge.d.ts.map +1 -0
- package/dist/map/cascade-bridge.js +257 -0
- package/dist/map/cascade-bridge.js.map +1 -0
- package/dist/map/lifecycle-bridge.d.ts +1 -8
- package/dist/map/lifecycle-bridge.d.ts.map +1 -1
- package/dist/map/lifecycle-bridge.js +76 -22
- package/dist/map/lifecycle-bridge.js.map +1 -1
- package/dist/map/server.d.ts.map +1 -1
- package/dist/map/server.js +47 -6
- package/dist/map/server.js.map +1 -1
- package/dist/map/sidecar.d.ts.map +1 -1
- package/dist/map/sidecar.js +33 -4
- package/dist/map/sidecar.js.map +1 -1
- package/dist/map/types.d.ts +20 -0
- package/dist/map/types.d.ts.map +1 -1
- package/dist/mcp/tools/done-v2.d.ts.map +1 -1
- package/dist/mcp/tools/done-v2.js +8 -0
- package/dist/mcp/tools/done-v2.js.map +1 -1
- package/dist/teams/team-manager-v2.d.ts.map +1 -1
- package/dist/teams/team-manager-v2.js +26 -0
- package/dist/teams/team-manager-v2.js.map +1 -1
- package/dist/teams/team-runtime-v2.d.ts.map +1 -1
- package/dist/teams/team-runtime-v2.js +16 -3
- package/dist/teams/team-runtime-v2.js.map +1 -1
- package/dist/workspace/config.d.ts +10 -10
- package/dist/workspace/config.d.ts.map +1 -1
- package/dist/workspace/config.js +4 -4
- package/dist/workspace/config.js.map +1 -1
- package/dist/workspace/git-cascade-adapter.d.ts +510 -0
- package/dist/workspace/git-cascade-adapter.d.ts.map +1 -0
- package/dist/workspace/git-cascade-adapter.js +908 -0
- package/dist/workspace/git-cascade-adapter.js.map +1 -0
- package/dist/workspace/index.d.ts +3 -3
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +4 -4
- package/dist/workspace/index.js.map +1 -1
- package/dist/workspace/landing/direct-push.d.ts +20 -0
- package/dist/workspace/landing/direct-push.d.ts.map +1 -0
- package/dist/workspace/landing/direct-push.js +74 -0
- package/dist/workspace/landing/direct-push.js.map +1 -0
- package/dist/workspace/landing/index.d.ts +29 -0
- package/dist/workspace/landing/index.d.ts.map +1 -0
- package/dist/workspace/landing/index.js +37 -0
- package/dist/workspace/landing/index.js.map +1 -0
- package/dist/workspace/landing/merge-to-parent.d.ts +41 -0
- package/dist/workspace/landing/merge-to-parent.d.ts.map +1 -0
- package/dist/workspace/landing/merge-to-parent.js +185 -0
- package/dist/workspace/landing/merge-to-parent.js.map +1 -0
- package/dist/workspace/landing/optimistic-push.d.ts +16 -0
- package/dist/workspace/landing/optimistic-push.d.ts.map +1 -0
- package/dist/workspace/landing/optimistic-push.js +27 -0
- package/dist/workspace/landing/optimistic-push.js.map +1 -0
- package/dist/workspace/landing/queue-to-branch.d.ts +24 -0
- package/dist/workspace/landing/queue-to-branch.d.ts.map +1 -0
- package/dist/workspace/landing/queue-to-branch.js +79 -0
- package/dist/workspace/landing/queue-to-branch.js.map +1 -0
- package/dist/workspace/merge-queue/merge-queue.d.ts +10 -0
- package/dist/workspace/merge-queue/merge-queue.d.ts.map +1 -1
- package/dist/workspace/merge-queue/merge-queue.js +10 -0
- package/dist/workspace/merge-queue/merge-queue.js.map +1 -1
- package/dist/workspace/merge-queue/types.d.ts +16 -2
- package/dist/workspace/merge-queue/types.d.ts.map +1 -1
- package/dist/workspace/merge-queue/types.js +9 -0
- package/dist/workspace/merge-queue/types.js.map +1 -1
- package/dist/workspace/pool/types.d.ts +1 -0
- package/dist/workspace/pool/types.d.ts.map +1 -1
- package/dist/workspace/pool/worktree-pool.d.ts.map +1 -1
- package/dist/workspace/pool/worktree-pool.js +1 -0
- package/dist/workspace/pool/worktree-pool.js.map +1 -1
- package/dist/workspace/recovery/abandon.d.ts +15 -0
- package/dist/workspace/recovery/abandon.d.ts.map +1 -0
- package/dist/workspace/recovery/abandon.js +45 -0
- package/dist/workspace/recovery/abandon.js.map +1 -0
- package/dist/workspace/recovery/auto-resolve.d.ts +27 -0
- package/dist/workspace/recovery/auto-resolve.d.ts.map +1 -0
- package/dist/workspace/recovery/auto-resolve.js +99 -0
- package/dist/workspace/recovery/auto-resolve.js.map +1 -0
- package/dist/workspace/recovery/defer.d.ts +15 -0
- package/dist/workspace/recovery/defer.d.ts.map +1 -0
- package/dist/workspace/recovery/defer.js +16 -0
- package/dist/workspace/recovery/defer.js.map +1 -0
- package/dist/workspace/recovery/escalate.d.ts +16 -0
- package/dist/workspace/recovery/escalate.d.ts.map +1 -0
- package/dist/workspace/recovery/escalate.js +24 -0
- package/dist/workspace/recovery/escalate.js.map +1 -0
- package/dist/workspace/recovery/index.d.ts +32 -0
- package/dist/workspace/recovery/index.d.ts.map +1 -0
- package/dist/workspace/recovery/index.js +45 -0
- package/dist/workspace/recovery/index.js.map +1 -0
- package/dist/workspace/recovery/spawn-resolver.d.ts +45 -0
- package/dist/workspace/recovery/spawn-resolver.d.ts.map +1 -0
- package/dist/workspace/recovery/spawn-resolver.js +111 -0
- package/dist/workspace/recovery/spawn-resolver.js.map +1 -0
- package/dist/workspace/recovery/types.d.ts +63 -0
- package/dist/workspace/recovery/types.d.ts.map +1 -0
- package/dist/workspace/recovery/types.js +12 -0
- package/dist/workspace/recovery/types.js.map +1 -0
- package/dist/workspace/topology/index.d.ts +9 -0
- package/dist/workspace/topology/index.d.ts.map +1 -0
- package/dist/workspace/topology/index.js +8 -0
- package/dist/workspace/topology/index.js.map +1 -0
- package/dist/workspace/topology/no-workspace.d.ts +18 -0
- package/dist/workspace/topology/no-workspace.d.ts.map +1 -0
- package/dist/workspace/topology/no-workspace.js +25 -0
- package/dist/workspace/topology/no-workspace.js.map +1 -0
- package/dist/workspace/topology/types.d.ts +97 -0
- package/dist/workspace/topology/types.d.ts.map +1 -0
- package/dist/workspace/topology/types.js +20 -0
- package/dist/workspace/topology/types.js.map +1 -0
- package/dist/workspace/topology/yaml-driven.d.ts +69 -0
- package/dist/workspace/topology/yaml-driven.d.ts.map +1 -0
- package/dist/workspace/topology/yaml-driven.js +273 -0
- package/dist/workspace/topology/yaml-driven.js.map +1 -0
- package/dist/workspace/types-v3.d.ts +110 -0
- package/dist/workspace/types-v3.d.ts.map +1 -0
- package/dist/workspace/types-v3.js +20 -0
- package/dist/workspace/types-v3.js.map +1 -0
- package/dist/workspace/types.d.ts +145 -17
- package/dist/workspace/types.d.ts.map +1 -1
- package/dist/workspace/workspace-manager.d.ts +92 -13
- package/dist/workspace/workspace-manager.d.ts.map +1 -1
- package/dist/workspace/workspace-manager.js +373 -13
- package/dist/workspace/workspace-manager.js.map +1 -1
- package/dist/workspace/yaml-schema.d.ts +254 -0
- package/dist/workspace/yaml-schema.d.ts.map +1 -0
- package/dist/workspace/yaml-schema.js +170 -0
- package/dist/workspace/yaml-schema.js.map +1 -0
- package/docs/conflict-recovery.md +472 -0
- package/docs/git-cascade-integration-gaps.md +678 -0
- package/docs/workspace-interfaces.md +731 -0
- package/docs/workspace-redesign-plan.md +302 -0
- package/package.json +4 -4
- package/src/__tests__/e2e/auto-sync.e2e.test.ts +257 -0
- package/src/__tests__/e2e/cascade-rebase.e2e.test.ts +254 -0
- package/src/__tests__/e2e/cli-run.e2e.test.ts +167 -0
- package/src/__tests__/e2e/self-driving-v3.e2e.test.ts +197 -0
- package/src/__tests__/e2e/spawn-resolver.e2e.test.ts +200 -0
- package/src/__tests__/e2e/workspace-lifecycle.e2e.test.ts +30 -22
- package/src/__tests__/e2e/workspace-v3.e2e.test.ts +413 -0
- package/src/acp/__tests__/claude-code-replay.test.ts +225 -0
- package/src/acp/__tests__/macro-agent.test.ts +39 -1
- package/src/acp/claude-code-replay.ts +208 -0
- package/src/acp/macro-agent.ts +167 -9
- package/src/acp/types.ts +10 -0
- package/src/agent/__tests__/agent-manager-topology.test.ts +73 -0
- package/src/agent/__tests__/agent-manager-v2.test.ts +71 -11
- package/src/agent/__tests__/task-ref-resolution.test.ts +231 -0
- package/src/agent/agent-manager-v2.ts +293 -77
- package/src/agent/agent-manager.ts +14 -0
- package/src/agent/types.ts +16 -2
- package/src/boot-v2.ts +87 -36
- package/src/cli/index.ts +61 -0
- package/src/cognitive/__tests__/macro-agent-backend.test.ts +47 -5
- package/src/cognitive/macro-agent-backend.ts +45 -29
- package/src/integrations/skilltree.ts +1 -0
- package/src/lifecycle/cleanup.ts +52 -3
- package/src/lifecycle/handlers-v2.ts +40 -3
- package/src/lifecycle/types.ts +12 -0
- package/src/map/__tests__/cascade-bridge.test.ts +229 -0
- package/src/map/__tests__/lifecycle-bridge.test.ts +165 -22
- package/src/map/acp-bridge.ts +26 -3
- package/src/map/cascade-bridge.ts +301 -0
- package/src/map/lifecycle-bridge.ts +77 -27
- package/src/map/server.ts +47 -6
- package/src/map/sidecar.ts +31 -3
- package/src/map/types.ts +20 -0
- package/src/mcp/tools/done-v2.ts +9 -0
- package/src/teams/team-manager-v2.ts +37 -0
- package/src/teams/team-runtime-v2.ts +23 -3
- package/src/workspace/__tests__/{dataplane-adapter.test.ts → git-cascade-adapter.test.ts} +209 -14
- package/src/workspace/__tests__/self-driving-yaml.test.ts +114 -0
- package/src/workspace/__tests__/shared-worktree-refcount.test.ts +154 -0
- package/src/workspace/__tests__/standalone-mode.test.ts +118 -0
- package/src/workspace/__tests__/workspace-manager-v3.test.ts +245 -0
- package/src/workspace/__tests__/yaml-schema.test.ts +210 -0
- package/src/workspace/config.ts +11 -11
- package/src/workspace/git-cascade-adapter.ts +1186 -0
- package/src/workspace/index.ts +11 -11
- package/src/workspace/landing/__tests__/strategies.test.ts +142 -0
- package/src/workspace/landing/direct-push.ts +91 -0
- package/src/workspace/landing/index.ts +40 -0
- package/src/workspace/landing/merge-to-parent.ts +228 -0
- package/src/workspace/landing/optimistic-push.ts +36 -0
- package/src/workspace/landing/queue-to-branch.ts +108 -0
- package/src/workspace/merge-queue/merge-queue.ts +10 -0
- package/src/workspace/merge-queue/types.ts +16 -2
- package/src/workspace/pool/__tests__/worktree-pool.integration.test.ts +5 -5
- package/src/workspace/pool/types.ts +1 -0
- package/src/workspace/pool/worktree-pool.ts +1 -0
- package/src/workspace/recovery/__tests__/auto-resolve-integration.test.ts +127 -0
- package/src/workspace/recovery/__tests__/spawn-resolver.test.ts +139 -0
- package/src/workspace/recovery/__tests__/strategies.test.ts +145 -0
- package/src/workspace/recovery/abandon.ts +51 -0
- package/src/workspace/recovery/auto-resolve.ts +119 -0
- package/src/workspace/recovery/defer.ts +23 -0
- package/src/workspace/recovery/escalate.ts +30 -0
- package/src/workspace/recovery/index.ts +58 -0
- package/src/workspace/recovery/spawn-resolver.ts +145 -0
- package/src/workspace/recovery/types.ts +54 -0
- package/src/workspace/topology/__tests__/yaml-driven.test.ts +345 -0
- package/src/workspace/topology/index.ts +18 -0
- package/src/workspace/topology/no-workspace.ts +39 -0
- package/src/workspace/topology/types.ts +116 -0
- package/src/workspace/topology/yaml-driven.ts +316 -0
- package/src/workspace/types-v3.ts +155 -0
- package/src/workspace/types.ts +191 -20
- package/src/workspace/workspace-manager.ts +474 -19
- package/src/workspace/yaml-schema.ts +216 -0
- package/src/workspace/dataplane-adapter.ts +0 -546
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-cascade-adapter.js","sourceRoot":"","sources":["../../src/workspace/git-cascade-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Workspace Module
|
|
3
3
|
*
|
|
4
|
-
* Provides workspace isolation for agents using
|
|
4
|
+
* Provides workspace isolation for agents using git-cascade for stream and worktree management.
|
|
5
5
|
* Implements [[s-7ktd]] Structured Workspace Isolation.
|
|
6
6
|
*
|
|
7
7
|
* @module workspace
|
|
8
8
|
*/
|
|
9
|
-
export { type
|
|
10
|
-
export {
|
|
9
|
+
export { type GitCascadeConfig, type WorkspaceDirectoryConfig, type WorktreePoolConfig, type AllocationStrategy, DEFAULT_GIT_CASCADE_CONFIG, DEFAULT_WORKSPACE_DIR_CONFIG, DEFAULT_POOL_CONFIG, } from './config.js';
|
|
10
|
+
export { GitCascadeAdapter, createGitCascadeAdapter, type GitCascadeEvent, type GitCascadeEventType, type GitCascadeEventCallback, } from './git-cascade-adapter.js';
|
|
11
11
|
export type { AgentId, StreamId, TaskId, WorkspaceRole, Workspace, WorkerWorkspace, IntegratorWorkspace, CoordinatorWorkspace, StreamConfig, CreateTaskOptions as WorkspaceCreateTaskOptions, WorkspaceStatus, CleanupStatus, WorkspaceManager, WorkspaceEvent, WorkspaceEventType, WorkspaceEventCallback, } from './types.js';
|
|
12
12
|
export { DefaultWorkspaceManager, createWorkspaceManager, createWorkspaceManagerWithAdapter, type WorkspaceManagerConfig, } from './workspace-manager.js';
|
|
13
13
|
export { MergeQueue, createMergeQueue, MergeRequestNotFoundError, MergeRequestStateError, initMergeQueueSchema, mergeQueueTableExists, type MergeQueueConfig, type MergeRequest, type MergeRequestStatus, type SubmitMergeRequestOptions, type ListMergeRequestsOptions, type MergeQueueInterface, type MergeQueueEvent, type MergeQueueEventType, type MergeQueueEventCallback, } from './merge-queue/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,0BAA0B,EAC1B,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,GAC7B,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,OAAO,EACP,QAAQ,EACR,MAAM,EACN,aAAa,EACb,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,IAAI,0BAA0B,EAC/C,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,iCAAiC,EACjC,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,GACnB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,4BAA4B,EAC5B,aAAa,GACd,MAAM,aAAa,CAAC"}
|
package/dist/workspace/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Workspace Module
|
|
3
3
|
*
|
|
4
|
-
* Provides workspace isolation for agents using
|
|
4
|
+
* Provides workspace isolation for agents using git-cascade for stream and worktree management.
|
|
5
5
|
* Implements [[s-7ktd]] Structured Workspace Isolation.
|
|
6
6
|
*
|
|
7
7
|
* @module workspace
|
|
8
8
|
*/
|
|
9
9
|
// Configuration types
|
|
10
|
-
export {
|
|
11
|
-
//
|
|
12
|
-
export {
|
|
10
|
+
export { DEFAULT_GIT_CASCADE_CONFIG, DEFAULT_WORKSPACE_DIR_CONFIG, DEFAULT_POOL_CONFIG, } from './config.js';
|
|
11
|
+
// git-cascade adapter
|
|
12
|
+
export { GitCascadeAdapter, createGitCascadeAdapter, } from './git-cascade-adapter.js';
|
|
13
13
|
// Workspace manager
|
|
14
14
|
export { DefaultWorkspaceManager, createWorkspaceManager, createWorkspaceManagerWithAdapter, } from './workspace-manager.js';
|
|
15
15
|
// Merge queue
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,sBAAsB;AACtB,OAAO,EAKL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,sBAAsB;AACtB,OAAO,EAKL,0BAA0B,EAC1B,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,sBAAsB;AACtB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GAIxB,MAAM,0BAA0B,CAAC;AAsBlC,oBAAoB;AACpB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,iCAAiC,GAElC,MAAM,wBAAwB,CAAC;AAEhC,cAAc;AACd,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,GAUtB,MAAM,wBAAwB,CAAC;AAEhC,gBAAgB;AAChB,OAAO,EACL,YAAY,GAab,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `direct-push` landing strategy.
|
|
3
|
+
*
|
|
4
|
+
* Rebases the source stream's worker branch onto a target branch and pushes.
|
|
5
|
+
* Preserves existing trunk-based behavior from the legacy `trunk` integration
|
|
6
|
+
* strategy. Uses raw git (via execSync) since git-cascade doesn't expose a
|
|
7
|
+
* rebase-and-push primitive.
|
|
8
|
+
*
|
|
9
|
+
* Strategy config:
|
|
10
|
+
* - `target_branch`: string (default 'main')
|
|
11
|
+
* - `max_retries`: number (default 3)
|
|
12
|
+
*
|
|
13
|
+
* @module workspace/landing/direct-push
|
|
14
|
+
*/
|
|
15
|
+
import type { LandingStrategy, LandingContext, MergeResult } from '../types-v3.js';
|
|
16
|
+
export declare class DirectPushStrategy implements LandingStrategy {
|
|
17
|
+
readonly name = "direct-push";
|
|
18
|
+
land(ctx: LandingContext): Promise<MergeResult>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=direct-push.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct-push.d.ts","sourceRoot":"","sources":["../../../src/workspace/landing/direct-push.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAIxB,qBAAa,kBAAmB,YAAW,eAAe;IACxD,QAAQ,CAAC,IAAI,iBAAiB;IAExB,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;CA+DtD"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `direct-push` landing strategy.
|
|
3
|
+
*
|
|
4
|
+
* Rebases the source stream's worker branch onto a target branch and pushes.
|
|
5
|
+
* Preserves existing trunk-based behavior from the legacy `trunk` integration
|
|
6
|
+
* strategy. Uses raw git (via execSync) since git-cascade doesn't expose a
|
|
7
|
+
* rebase-and-push primitive.
|
|
8
|
+
*
|
|
9
|
+
* Strategy config:
|
|
10
|
+
* - `target_branch`: string (default 'main')
|
|
11
|
+
* - `max_retries`: number (default 3)
|
|
12
|
+
*
|
|
13
|
+
* @module workspace/landing/direct-push
|
|
14
|
+
*/
|
|
15
|
+
import { execSync } from 'child_process';
|
|
16
|
+
export class DirectPushStrategy {
|
|
17
|
+
name = 'direct-push';
|
|
18
|
+
async land(ctx) {
|
|
19
|
+
const targetBranch = ctx.strategyConfig?.target_branch ?? 'main';
|
|
20
|
+
const remote = ctx.strategyConfig?.remote ?? 'origin';
|
|
21
|
+
const maxRetries = ctx.strategyConfig?.max_retries ?? 3;
|
|
22
|
+
for (let attempt = 1; attempt <= maxRetries; attempt++) {
|
|
23
|
+
try {
|
|
24
|
+
execSync(`git fetch ${remote} ${targetBranch}`, {
|
|
25
|
+
cwd: ctx.sourceWorktree,
|
|
26
|
+
stdio: 'pipe',
|
|
27
|
+
});
|
|
28
|
+
execSync(`git rebase ${remote}/${targetBranch}`, {
|
|
29
|
+
cwd: ctx.sourceWorktree,
|
|
30
|
+
stdio: 'pipe',
|
|
31
|
+
});
|
|
32
|
+
execSync(`git push ${remote} HEAD:${targetBranch}`, {
|
|
33
|
+
cwd: ctx.sourceWorktree,
|
|
34
|
+
stdio: 'pipe',
|
|
35
|
+
});
|
|
36
|
+
// Capture pushed commit + emit stream:pushed for hub observability
|
|
37
|
+
// (OpenHive cascade-bridge translates this to x-cascade/stream.pushed
|
|
38
|
+
// since trunk pushes don't fire stream.merged).
|
|
39
|
+
try {
|
|
40
|
+
const pushedCommit = execSync('git rev-parse HEAD', {
|
|
41
|
+
cwd: ctx.sourceWorktree,
|
|
42
|
+
encoding: 'utf-8',
|
|
43
|
+
}).trim();
|
|
44
|
+
const adapter = ctx.workspaceManager.getGitCascadeAdapter?.();
|
|
45
|
+
adapter?.notifyStreamPushed({
|
|
46
|
+
streamId: ctx.streamId,
|
|
47
|
+
agentId: ctx.agentId,
|
|
48
|
+
pushedCommit,
|
|
49
|
+
remote,
|
|
50
|
+
remoteRef: targetBranch,
|
|
51
|
+
strategy: this.name,
|
|
52
|
+
metadata: ctx.taskRef ? { task_ref: ctx.taskRef } : undefined,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
// Best-effort observability — don't fail the push if notify fails.
|
|
57
|
+
}
|
|
58
|
+
return { success: true };
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
if (attempt >= maxRetries) {
|
|
62
|
+
return {
|
|
63
|
+
success: false,
|
|
64
|
+
error: `direct-push: failed after ${maxRetries} attempts — ${err instanceof Error ? err.message : String(err)}`,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
// Transient failure — retry once after brief backoff
|
|
68
|
+
// (brief; no sleep needed in tests — strategies are synchronous enough)
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return { success: false, error: 'direct-push: exhausted retries' };
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=direct-push.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct-push.js","sourceRoot":"","sources":["../../../src/workspace/landing/direct-push.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AASzC,MAAM,OAAO,kBAAkB;IACpB,IAAI,GAAG,aAAa,CAAC;IAE9B,KAAK,CAAC,IAAI,CAAC,GAAmB;QAC5B,MAAM,YAAY,GAAI,GAAG,CAAC,cAAc,EAAE,aAAoC,IAAI,MAAM,CAAC;QACzF,MAAM,MAAM,GAAI,GAAG,CAAC,cAAc,EAAE,MAA6B,IAAI,QAAQ,CAAC;QAC9E,MAAM,UAAU,GAAI,GAAG,CAAC,cAAc,EAAE,WAAkC,IAAI,CAAC,CAAC;QAEhF,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,QAAQ,CAAC,aAAa,MAAM,IAAI,YAAY,EAAE,EAAE;oBAC9C,GAAG,EAAE,GAAG,CAAC,cAAc;oBACvB,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC;gBACH,QAAQ,CAAC,cAAc,MAAM,IAAI,YAAY,EAAE,EAAE;oBAC/C,GAAG,EAAE,GAAG,CAAC,cAAc;oBACvB,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC;gBACH,QAAQ,CAAC,YAAY,MAAM,SAAS,YAAY,EAAE,EAAE;oBAClD,GAAG,EAAE,GAAG,CAAC,cAAc;oBACvB,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC;gBAEH,mEAAmE;gBACnE,sEAAsE;gBACtE,gDAAgD;gBAChD,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,QAAQ,CAAC,oBAAoB,EAAE;wBAClD,GAAG,EAAE,GAAG,CAAC,cAAc;wBACvB,QAAQ,EAAE,OAAO;qBAClB,CAAC,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,OAAO,GACX,GAAG,CAAC,gBAGL,CAAC,oBAAoB,EAAE,EAAE,CAAC;oBAC3B,OAAO,EAAE,kBAAkB,CAAC;wBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,YAAY;wBACZ,MAAM;wBACN,SAAS,EAAE,YAAY;wBACvB,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;qBAC9D,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,mEAAmE;gBACrE,CAAC;gBAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;oBAC1B,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,6BAA6B,UAAU,eAC5C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE;qBACH,CAAC;gBACJ,CAAC;gBACD,qDAAqD;gBACrD,wEAAwE;YAC1E,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;IACrE,CAAC;CACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Landing strategies — pluggable algorithms for finalizing stream work.
|
|
3
|
+
*
|
|
4
|
+
* Register via `WorkspaceManager.registerLandingStrategy`. Team YAML selects
|
|
5
|
+
* the strategy via `roles.<role>.landing`. At `done()` time, AgentManagerV2
|
|
6
|
+
* invokes `WorkspaceManager.land()` which dispatches to the registered
|
|
7
|
+
* strategy by name.
|
|
8
|
+
*
|
|
9
|
+
* Built-in strategies:
|
|
10
|
+
* - `merge-to-parent` — mergeStream into parent; optional cascade
|
|
11
|
+
* - `queue-to-branch` — git-cascade's built-in merge queue
|
|
12
|
+
* - `direct-push` — rebase + push (trunk behavior)
|
|
13
|
+
* - `optimistic-push` — direct-push + validation event
|
|
14
|
+
*
|
|
15
|
+
* @module workspace/landing
|
|
16
|
+
* @see docs/workspace-interfaces.md §6
|
|
17
|
+
*/
|
|
18
|
+
import type { WorkspaceManager } from '../types.js';
|
|
19
|
+
export { MergeToParentStrategy } from './merge-to-parent.js';
|
|
20
|
+
export { QueueToBranchStrategy } from './queue-to-branch.js';
|
|
21
|
+
export { DirectPushStrategy } from './direct-push.js';
|
|
22
|
+
export { OptimisticPushStrategy } from './optimistic-push.js';
|
|
23
|
+
/**
|
|
24
|
+
* Register all built-in landing strategies on a WorkspaceManager.
|
|
25
|
+
*
|
|
26
|
+
* Called by boot-v2 after the WorkspaceManager is constructed.
|
|
27
|
+
*/
|
|
28
|
+
export declare function registerBuiltinLandingStrategies(ws: WorkspaceManager): void;
|
|
29
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workspace/landing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAMpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,CAK3E"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Landing strategies — pluggable algorithms for finalizing stream work.
|
|
3
|
+
*
|
|
4
|
+
* Register via `WorkspaceManager.registerLandingStrategy`. Team YAML selects
|
|
5
|
+
* the strategy via `roles.<role>.landing`. At `done()` time, AgentManagerV2
|
|
6
|
+
* invokes `WorkspaceManager.land()` which dispatches to the registered
|
|
7
|
+
* strategy by name.
|
|
8
|
+
*
|
|
9
|
+
* Built-in strategies:
|
|
10
|
+
* - `merge-to-parent` — mergeStream into parent; optional cascade
|
|
11
|
+
* - `queue-to-branch` — git-cascade's built-in merge queue
|
|
12
|
+
* - `direct-push` — rebase + push (trunk behavior)
|
|
13
|
+
* - `optimistic-push` — direct-push + validation event
|
|
14
|
+
*
|
|
15
|
+
* @module workspace/landing
|
|
16
|
+
* @see docs/workspace-interfaces.md §6
|
|
17
|
+
*/
|
|
18
|
+
import { MergeToParentStrategy } from './merge-to-parent.js';
|
|
19
|
+
import { QueueToBranchStrategy } from './queue-to-branch.js';
|
|
20
|
+
import { DirectPushStrategy } from './direct-push.js';
|
|
21
|
+
import { OptimisticPushStrategy } from './optimistic-push.js';
|
|
22
|
+
export { MergeToParentStrategy } from './merge-to-parent.js';
|
|
23
|
+
export { QueueToBranchStrategy } from './queue-to-branch.js';
|
|
24
|
+
export { DirectPushStrategy } from './direct-push.js';
|
|
25
|
+
export { OptimisticPushStrategy } from './optimistic-push.js';
|
|
26
|
+
/**
|
|
27
|
+
* Register all built-in landing strategies on a WorkspaceManager.
|
|
28
|
+
*
|
|
29
|
+
* Called by boot-v2 after the WorkspaceManager is constructed.
|
|
30
|
+
*/
|
|
31
|
+
export function registerBuiltinLandingStrategies(ws) {
|
|
32
|
+
ws.registerLandingStrategy(new MergeToParentStrategy());
|
|
33
|
+
ws.registerLandingStrategy(new QueueToBranchStrategy());
|
|
34
|
+
ws.registerLandingStrategy(new DirectPushStrategy());
|
|
35
|
+
ws.registerLandingStrategy(new OptimisticPushStrategy());
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/workspace/landing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAAC,EAAoB;IACnE,EAAE,CAAC,uBAAuB,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IACxD,EAAE,CAAC,uBAAuB,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC;IACxD,EAAE,CAAC,uBAAuB,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC;IACrD,EAAE,CAAC,uBAAuB,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `merge-to-parent` landing strategy.
|
|
3
|
+
*
|
|
4
|
+
* Merges the source stream into its parent stream via `mergeStream`. On
|
|
5
|
+
* success, optionally triggers a cascade rebase for dependents if
|
|
6
|
+
* `strategyConfig.cascade === true` (requires git-cascade 0.0.3+).
|
|
7
|
+
*
|
|
8
|
+
* Strategy config:
|
|
9
|
+
* - `cascade`: boolean (default false) — run cascadeRebase after merge
|
|
10
|
+
* - `cascadeStrategy`: 'stop_on_conflict' | 'skip_conflicting' | 'defer_conflicts'
|
|
11
|
+
* (default 'defer_conflicts')
|
|
12
|
+
*
|
|
13
|
+
* Cascade worktree provider:
|
|
14
|
+
* For each dependent stream needing a worktree, the strategy:
|
|
15
|
+
* 1. Reuses a live agent's worktree if one is already allocated on that stream.
|
|
16
|
+
* 2. Otherwise allocates an ephemeral system-owned worktree (under
|
|
17
|
+
* `system:cascade-<streamId>`), tracks it, and tears it down after
|
|
18
|
+
* cascadeRebase returns — regardless of per-stream success/failure.
|
|
19
|
+
*
|
|
20
|
+
* Per-root-stream lock prevents two parallel cascades on the same root from
|
|
21
|
+
* racing on ephemeral worktree allocation.
|
|
22
|
+
*
|
|
23
|
+
* @module workspace/landing/merge-to-parent
|
|
24
|
+
*/
|
|
25
|
+
import type { LandingStrategy, LandingContext, MergeResult } from '../types-v3.js';
|
|
26
|
+
export declare class MergeToParentStrategy implements LandingStrategy {
|
|
27
|
+
readonly name = "merge-to-parent";
|
|
28
|
+
land(ctx: LandingContext): Promise<MergeResult>;
|
|
29
|
+
/**
|
|
30
|
+
* Pick a worktree to perform the merge in.
|
|
31
|
+
*
|
|
32
|
+
* Priority:
|
|
33
|
+
* 1. A live agent already on the target stream
|
|
34
|
+
* 2. The source worktree (target branch not checked out elsewhere)
|
|
35
|
+
* 3. Ephemeral system worktree on the target stream
|
|
36
|
+
*/
|
|
37
|
+
private resolveMergeWorktree;
|
|
38
|
+
private runCascade;
|
|
39
|
+
private doCascade;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=merge-to-parent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-to-parent.d.ts","sourceRoot":"","sources":["../../../src/workspace/landing/merge-to-parent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AAWxB,qBAAa,qBAAsB,YAAW,eAAe;IAC3D,QAAQ,CAAC,IAAI,qBAAqB;IAE5B,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAyDrD;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;YAuBd,UAAU;YAyBV,SAAS;CAqExB"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `merge-to-parent` landing strategy.
|
|
3
|
+
*
|
|
4
|
+
* Merges the source stream into its parent stream via `mergeStream`. On
|
|
5
|
+
* success, optionally triggers a cascade rebase for dependents if
|
|
6
|
+
* `strategyConfig.cascade === true` (requires git-cascade 0.0.3+).
|
|
7
|
+
*
|
|
8
|
+
* Strategy config:
|
|
9
|
+
* - `cascade`: boolean (default false) — run cascadeRebase after merge
|
|
10
|
+
* - `cascadeStrategy`: 'stop_on_conflict' | 'skip_conflicting' | 'defer_conflicts'
|
|
11
|
+
* (default 'defer_conflicts')
|
|
12
|
+
*
|
|
13
|
+
* Cascade worktree provider:
|
|
14
|
+
* For each dependent stream needing a worktree, the strategy:
|
|
15
|
+
* 1. Reuses a live agent's worktree if one is already allocated on that stream.
|
|
16
|
+
* 2. Otherwise allocates an ephemeral system-owned worktree (under
|
|
17
|
+
* `system:cascade-<streamId>`), tracks it, and tears it down after
|
|
18
|
+
* cascadeRebase returns — regardless of per-stream success/failure.
|
|
19
|
+
*
|
|
20
|
+
* Per-root-stream lock prevents two parallel cascades on the same root from
|
|
21
|
+
* racing on ephemeral worktree allocation.
|
|
22
|
+
*
|
|
23
|
+
* @module workspace/landing/merge-to-parent
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Per-root-stream locks for cascadeRebase. Shared across all instances of
|
|
27
|
+
* this strategy (module-scoped) so two separately-registered strategies
|
|
28
|
+
* can't race either.
|
|
29
|
+
*/
|
|
30
|
+
const rootStreamLocks = new Map();
|
|
31
|
+
export class MergeToParentStrategy {
|
|
32
|
+
name = 'merge-to-parent';
|
|
33
|
+
async land(ctx) {
|
|
34
|
+
const ws = ctx.workspaceManager;
|
|
35
|
+
// Resolve target stream. Explicit targetStreamId wins; otherwise use
|
|
36
|
+
// the source stream's parent.
|
|
37
|
+
let targetStreamId = ctx.targetStreamId;
|
|
38
|
+
if (!targetStreamId) {
|
|
39
|
+
const allStreams = ws.listStreams();
|
|
40
|
+
const source = allStreams.find((s) => s.id === ctx.streamId);
|
|
41
|
+
targetStreamId = source?.parentStream ?? undefined;
|
|
42
|
+
}
|
|
43
|
+
if (!targetStreamId) {
|
|
44
|
+
return {
|
|
45
|
+
success: false,
|
|
46
|
+
error: `merge-to-parent: no target stream (source ${ctx.streamId} has no parent)`,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
// Resolve the worktree to perform the merge in.
|
|
50
|
+
//
|
|
51
|
+
// git's constraint: the target branch cannot already be checked out in
|
|
52
|
+
// another worktree. Three cases:
|
|
53
|
+
// 1. A live agent is already on the target stream → use that worktree
|
|
54
|
+
// (the merge happens there; the agent's files update).
|
|
55
|
+
// 2. No live agent on target → use the source's worktree (target
|
|
56
|
+
// branch isn't checked out anywhere else, so mergeStream can
|
|
57
|
+
// check it out safely).
|
|
58
|
+
// 3. Neither — fallback: allocate an ephemeral worktree on the target.
|
|
59
|
+
const mergeWorktree = this.resolveMergeWorktree(ws, targetStreamId, ctx.sourceWorktree);
|
|
60
|
+
const ephemeralForMerge = mergeWorktree.ephemeralId;
|
|
61
|
+
try {
|
|
62
|
+
const result = ws.mergeStream({
|
|
63
|
+
sourceStreamId: ctx.streamId,
|
|
64
|
+
targetStreamId,
|
|
65
|
+
agentId: ctx.agentId,
|
|
66
|
+
worktree: mergeWorktree.path,
|
|
67
|
+
});
|
|
68
|
+
// Cascade rebase on dependents if requested.
|
|
69
|
+
if (result.success && ctx.strategyConfig?.cascade === true) {
|
|
70
|
+
await this.runCascade(ws, ctx, targetStreamId);
|
|
71
|
+
}
|
|
72
|
+
return result;
|
|
73
|
+
}
|
|
74
|
+
finally {
|
|
75
|
+
if (ephemeralForMerge) {
|
|
76
|
+
try {
|
|
77
|
+
ws.deallocateWorkspace(ephemeralForMerge);
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
// Best-effort cleanup
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Pick a worktree to perform the merge in.
|
|
87
|
+
*
|
|
88
|
+
* Priority:
|
|
89
|
+
* 1. A live agent already on the target stream
|
|
90
|
+
* 2. The source worktree (target branch not checked out elsewhere)
|
|
91
|
+
* 3. Ephemeral system worktree on the target stream
|
|
92
|
+
*/
|
|
93
|
+
resolveMergeWorktree(ws, targetStreamId, sourceWorktree) {
|
|
94
|
+
const adapter = ws.adapter;
|
|
95
|
+
if (adapter?.listWorktrees) {
|
|
96
|
+
const live = adapter.listWorktrees().find((wt) => wt.currentStream === targetStreamId);
|
|
97
|
+
if (live)
|
|
98
|
+
return { path: live.path };
|
|
99
|
+
}
|
|
100
|
+
// Default: use the source worktree. mergeStream will check out the
|
|
101
|
+
// target branch there. If that conflicts (branch checked out elsewhere
|
|
102
|
+
// that we didn't detect), the adapter throws and the strategy's caller
|
|
103
|
+
// handles it.
|
|
104
|
+
return { path: sourceWorktree };
|
|
105
|
+
}
|
|
106
|
+
async runCascade(ws, ctx, rootStreamId) {
|
|
107
|
+
// Serialize cascades on the same root to prevent ephemeral-worktree
|
|
108
|
+
// races.
|
|
109
|
+
const prior = rootStreamLocks.get(rootStreamId);
|
|
110
|
+
const gate = prior ?? Promise.resolve();
|
|
111
|
+
const run = gate.then(async () => {
|
|
112
|
+
await this.doCascade(ws, ctx, rootStreamId);
|
|
113
|
+
});
|
|
114
|
+
// Store under the lock; clean up when done regardless of outcome.
|
|
115
|
+
rootStreamLocks.set(rootStreamId, run);
|
|
116
|
+
try {
|
|
117
|
+
await run;
|
|
118
|
+
}
|
|
119
|
+
finally {
|
|
120
|
+
if (rootStreamLocks.get(rootStreamId) === run) {
|
|
121
|
+
rootStreamLocks.delete(rootStreamId);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
async doCascade(ws, ctx, rootStreamId) {
|
|
126
|
+
const dwm = ws;
|
|
127
|
+
const adapter = dwm.adapter;
|
|
128
|
+
if (!adapter?.cascadeRebase)
|
|
129
|
+
return; // no-op if cascade unavailable
|
|
130
|
+
const cascadeStrategy = ctx.strategyConfig?.cascadeStrategy ??
|
|
131
|
+
'defer_conflicts';
|
|
132
|
+
// Track ephemeral worktrees we allocate so we can tear them down.
|
|
133
|
+
const ephemeralIds = [];
|
|
134
|
+
const provider = (streamId) => {
|
|
135
|
+
// 1. Look for a live agent already on this stream.
|
|
136
|
+
if (adapter.listWorktrees) {
|
|
137
|
+
const wts = adapter.listWorktrees();
|
|
138
|
+
const live = wts.find((wt) => wt.currentStream === streamId);
|
|
139
|
+
if (live)
|
|
140
|
+
return live.path;
|
|
141
|
+
}
|
|
142
|
+
// 2. Allocate an ephemeral system-owned worktree.
|
|
143
|
+
try {
|
|
144
|
+
const ephemeralId = `system:cascade-${streamId}`;
|
|
145
|
+
const worktree = ws.allocateWorktree({
|
|
146
|
+
agentId: ephemeralId,
|
|
147
|
+
streamId,
|
|
148
|
+
});
|
|
149
|
+
ephemeralIds.push(ephemeralId);
|
|
150
|
+
return worktree.path;
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
// Allocation failure — signal skip to cascadeRebase
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
try {
|
|
158
|
+
adapter.cascadeRebase({
|
|
159
|
+
rootStream: rootStreamId,
|
|
160
|
+
agentId: ctx.agentId,
|
|
161
|
+
strategy: cascadeStrategy,
|
|
162
|
+
worktree: {
|
|
163
|
+
mode: 'callback',
|
|
164
|
+
provider,
|
|
165
|
+
},
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
catch {
|
|
169
|
+
// Cascade internal failure — non-fatal to the landing
|
|
170
|
+
}
|
|
171
|
+
finally {
|
|
172
|
+
// Tear down all ephemeral worktrees we allocated, regardless of
|
|
173
|
+
// per-stream success/failure.
|
|
174
|
+
for (const id of ephemeralIds) {
|
|
175
|
+
try {
|
|
176
|
+
dwm.deallocateWorkspace(id);
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
// Best-effort cleanup
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=merge-to-parent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-to-parent.js","sourceRoot":"","sources":["../../../src/workspace/landing/merge-to-parent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `optimistic-push` landing strategy.
|
|
3
|
+
*
|
|
4
|
+
* Same as `direct-push`, plus emits a `validation:requested` event to trigger
|
|
5
|
+
* a downstream judge/reviewer agent. Used by self-driving teams where landing
|
|
6
|
+
* is optimistic and validation runs post-hoc.
|
|
7
|
+
*
|
|
8
|
+
* @module workspace/landing/optimistic-push
|
|
9
|
+
*/
|
|
10
|
+
import type { LandingStrategy, LandingContext, MergeResult } from '../types-v3.js';
|
|
11
|
+
export declare class OptimisticPushStrategy implements LandingStrategy {
|
|
12
|
+
readonly name = "optimistic-push";
|
|
13
|
+
private readonly inner;
|
|
14
|
+
land(ctx: LandingContext): Promise<MergeResult>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=optimistic-push.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimistic-push.d.ts","sourceRoot":"","sources":["../../../src/workspace/landing/optimistic-push.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAGxB,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,QAAQ,CAAC,IAAI,qBAAqB;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4B;IAE5C,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;CActD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `optimistic-push` landing strategy.
|
|
3
|
+
*
|
|
4
|
+
* Same as `direct-push`, plus emits a `validation:requested` event to trigger
|
|
5
|
+
* a downstream judge/reviewer agent. Used by self-driving teams where landing
|
|
6
|
+
* is optimistic and validation runs post-hoc.
|
|
7
|
+
*
|
|
8
|
+
* @module workspace/landing/optimistic-push
|
|
9
|
+
*/
|
|
10
|
+
import { DirectPushStrategy } from './direct-push.js';
|
|
11
|
+
export class OptimisticPushStrategy {
|
|
12
|
+
name = 'optimistic-push';
|
|
13
|
+
inner = new DirectPushStrategy();
|
|
14
|
+
async land(ctx) {
|
|
15
|
+
const result = await this.inner.land(ctx);
|
|
16
|
+
if (result.success) {
|
|
17
|
+
// Emit validation request via the WorkspaceManager's event stream.
|
|
18
|
+
// Consumers (trigger/wake + judge agents) subscribe and act.
|
|
19
|
+
const ws = ctx.workspaceManager;
|
|
20
|
+
// emit is private on DefaultWorkspaceManager; use landing:completed instead
|
|
21
|
+
// which is the public event channel for landing outcomes.
|
|
22
|
+
// (Actual emission handled by the caller that invokes land().)
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=optimistic-push.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimistic-push.js","sourceRoot":"","sources":["../../../src/workspace/landing/optimistic-push.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,OAAO,sBAAsB;IACxB,IAAI,GAAG,iBAAiB,CAAC;IACjB,KAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAElD,KAAK,CAAC,IAAI,CAAC,GAAmB;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,mEAAmE;YACnE,6DAA6D;YAC7D,MAAM,EAAE,GAAG,GAAG,CAAC,gBAEd,CAAC;YACF,4EAA4E;YAC5E,0DAA0D;YAC1D,+DAA+D;QACjE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `queue-to-branch` landing strategy.
|
|
3
|
+
*
|
|
4
|
+
* Adds the source stream to git-cascade's built-in merge queue targeting a
|
|
5
|
+
* named branch (default 'main' or configured via `strategyConfig.target`).
|
|
6
|
+
* The actual merge is drained by an integrator-capable agent using the
|
|
7
|
+
* `next_merge_request` / `merge_stream` / `mark_merge_complete` MCP tools.
|
|
8
|
+
*
|
|
9
|
+
* Strategy config:
|
|
10
|
+
* - `target`: "branch:<name>" | "stream:<id>" | "role:<role>" (default: "branch:main")
|
|
11
|
+
* - `priority`: number (lower = higher priority, default 100)
|
|
12
|
+
*
|
|
13
|
+
* Return value shape adapts to git-cascade's MergeResult:
|
|
14
|
+
* - `success: true` means the queue submission succeeded (not that merge happened).
|
|
15
|
+
*
|
|
16
|
+
* @module workspace/landing/queue-to-branch
|
|
17
|
+
*/
|
|
18
|
+
import type { LandingStrategy, LandingContext, MergeResult } from '../types-v3.js';
|
|
19
|
+
export declare class QueueToBranchStrategy implements LandingStrategy {
|
|
20
|
+
readonly name = "queue-to-branch";
|
|
21
|
+
land(ctx: LandingContext): Promise<MergeResult>;
|
|
22
|
+
private resolveTargetBranch;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=queue-to-branch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-to-branch.d.ts","sourceRoot":"","sources":["../../../src/workspace/landing/queue-to-branch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAGxB,qBAAa,qBAAsB,YAAW,eAAe;IAC3D,QAAQ,CAAC,IAAI,qBAAqB;IAE5B,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAsDrD,OAAO,CAAC,mBAAmB;CAyB5B"}
|