@replayio/app-building 1.26.0 → 1.28.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
@@ -215,8 +215,9 @@ when the required task has completed **and** all of its child tasks (tasks with
215
215
  `parentTaskId`) have also completed. This means a task that depends on a parent will
216
216
  automatically wait for all work the parent spawned.
217
217
 
218
- By default, `add-task` chains tasks serially — each task depends on the previous one. Use
219
- `--parallel` to add tasks that can run in any order:
218
+ By default, `add-task` chains tasks serially — each task depends on the previous one. Set
219
+ `"parallel": true` on individual tasks to run them concurrently. Non-parallel tasks act as
220
+ barriers:
220
221
 
221
222
  ```bash
222
223
  # Serial (default): B waits for A, C waits for B
@@ -224,9 +225,14 @@ npx tsx /repo/scripts/add-task.ts <<'EOF'
224
225
  [{ "skill": "...", "subtasks": ["A"] }, { "skill": "...", "subtasks": ["B"] }, { "skill": "...", "subtasks": ["C"] }]
225
226
  EOF
226
227
 
227
- # Parallel: A, B, C can run in any order
228
- npx tsx /repo/scripts/add-task.ts --parallel <<'EOF'
229
- [{ "skill": "...", "subtasks": ["A"] }, { "skill": "...", "subtasks": ["B"] }, { "skill": "...", "subtasks": ["C"] }]
228
+ # Mixed: A runs first, B and C run in parallel, D waits for both B and C
229
+ npx tsx /repo/scripts/add-task.ts <<'EOF'
230
+ [
231
+ { "skill": "...", "subtasks": ["A"] },
232
+ { "skill": "...", "parallel": true, "subtasks": ["B"] },
233
+ { "skill": "...", "parallel": true, "subtasks": ["C"] },
234
+ { "skill": "...", "subtasks": ["D"] }
235
+ ]
230
236
  EOF
231
237
  ```
232
238
 
package/dist/index.d.ts CHANGED
@@ -113,7 +113,8 @@ interface ContainerConfig {
113
113
  interface RepoOptions {
114
114
  repoUrl: string;
115
115
  cloneBranch: string;
116
- pushBranch: string;
116
+ /** If omitted, the container clones the repo but never commits or pushes. */
117
+ pushBranch?: string;
117
118
  }
118
119
  declare function loadDotEnv(projectRoot: string): Record<string, string>;
119
120
  declare function buildImage(config: ContainerConfig): void;
@@ -121,7 +122,7 @@ declare function buildImage(config: ContainerConfig): void;
121
122
  * Start a container (local Docker or remote Fly.io based on config).
122
123
  * If flyToken and flyApp are set, starts remotely; otherwise locally.
123
124
  */
124
- declare function startContainer(config: ContainerConfig, repo: RepoOptions): Promise<AgentState>;
125
+ declare function startContainer(config: ContainerConfig, repo: RepoOptions | null): Promise<AgentState>;
125
126
  /**
126
127
  * Stop a container by its state or registry entry.
127
128
  */
package/dist/index.js CHANGED
@@ -215,19 +215,25 @@ function findFreePort() {
215
215
  }
216
216
  function buildContainerEnv(repo, infisical, extra = {}) {
217
217
  const env = {
218
- REPO_URL: repo.repoUrl,
219
- CLONE_BRANCH: repo.cloneBranch,
220
- PUSH_BRANCH: repo.pushBranch,
221
- GIT_AUTHOR_NAME: "App Builder",
222
- GIT_AUTHOR_EMAIL: "app-builder@localhost",
223
- GIT_COMMITTER_NAME: "App Builder",
224
- GIT_COMMITTER_EMAIL: "app-builder@localhost",
225
218
  PLAYWRIGHT_BROWSERS_PATH: "/opt/playwright",
226
219
  INFISICAL_TOKEN: infisical.token,
227
220
  INFISICAL_PROJECT_ID: infisical.projectId,
228
221
  INFISICAL_ENVIRONMENT: infisical.environment,
229
222
  ...extra
230
223
  };
224
+ if (repo) {
225
+ env.REPO_URL = repo.repoUrl;
226
+ env.CLONE_BRANCH = repo.cloneBranch;
227
+ if (repo.pushBranch) {
228
+ env.PUSH_BRANCH = repo.pushBranch;
229
+ env.GIT_AUTHOR_NAME = "App Builder";
230
+ env.GIT_AUTHOR_EMAIL = "app-builder@localhost";
231
+ env.GIT_COMMITTER_NAME = "App Builder";
232
+ env.GIT_COMMITTER_EMAIL = "app-builder@localhost";
233
+ }
234
+ } else {
235
+ env.NO_REPO = "1";
236
+ }
231
237
  if (process.env.DEBUG) {
232
238
  env.DEBUG = process.env.DEBUG;
233
239
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@replayio/app-building",
3
- "version": "1.26.0",
3
+ "version": "1.28.0",
4
4
  "description": "Library for managing agentic app-building containers",
5
5
  "type": "module",
6
6
  "exports": {