lastlight 0.3.0 → 0.5.1

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.
Files changed (87) hide show
  1. package/README.md +17 -6
  2. package/deploy/entrypoint.sh +21 -6
  3. package/deploy/sandbox-entrypoint.sh +1 -1
  4. package/dist/admin/routes.d.ts +5 -0
  5. package/dist/admin/routes.js +9 -0
  6. package/dist/admin/routes.js.map +1 -1
  7. package/dist/cli-server.d.ts +3 -1
  8. package/dist/cli-server.js +20 -2
  9. package/dist/cli-server.js.map +1 -1
  10. package/dist/cli.js +23 -2
  11. package/dist/cli.js.map +1 -1
  12. package/dist/config.d.ts +12 -1
  13. package/dist/config.js +26 -6
  14. package/dist/config.js.map +1 -1
  15. package/dist/connectors/messaging/base.js +22 -9
  16. package/dist/connectors/messaging/base.js.map +1 -1
  17. package/dist/connectors/slack/connector.d.ts +62 -9
  18. package/dist/connectors/slack/connector.js +216 -63
  19. package/dist/connectors/slack/connector.js.map +1 -1
  20. package/dist/connectors/slack/connector.test.d.ts +1 -0
  21. package/dist/connectors/slack/connector.test.js +135 -0
  22. package/dist/connectors/slack/connector.test.js.map +1 -0
  23. package/dist/connectors/types.d.ts +7 -0
  24. package/dist/engine/agent-executor.d.ts +32 -10
  25. package/dist/engine/agent-executor.js +239 -1
  26. package/dist/engine/agent-executor.js.map +1 -1
  27. package/dist/engine/agent-executor.seam.test.d.ts +1 -0
  28. package/dist/engine/agent-executor.seam.test.js +57 -0
  29. package/dist/engine/agent-executor.seam.test.js.map +1 -0
  30. package/dist/engine/dispatcher.d.ts +13 -0
  31. package/dist/engine/dispatcher.js +26 -7
  32. package/dist/engine/dispatcher.js.map +1 -1
  33. package/dist/engine/dispatcher.test.js.map +1 -1
  34. package/dist/engine/message-batcher.d.ts +32 -0
  35. package/dist/engine/message-batcher.js +109 -0
  36. package/dist/engine/message-batcher.js.map +1 -0
  37. package/dist/engine/message-batcher.test.d.ts +1 -0
  38. package/dist/engine/message-batcher.test.js +109 -0
  39. package/dist/engine/message-batcher.test.js.map +1 -0
  40. package/dist/engine/profiles.d.ts +9 -0
  41. package/dist/engine/profiles.js.map +1 -1
  42. package/dist/evals-api.d.ts +24 -0
  43. package/dist/evals-api.js +22 -0
  44. package/dist/evals-api.js.map +1 -0
  45. package/dist/fork-cli.d.ts +30 -0
  46. package/dist/fork-cli.js +240 -0
  47. package/dist/fork-cli.js.map +1 -0
  48. package/dist/fork-cli.test.d.ts +1 -0
  49. package/dist/fork-cli.test.js +109 -0
  50. package/dist/fork-cli.test.js.map +1 -0
  51. package/dist/index.js +43 -4
  52. package/dist/index.js.map +1 -1
  53. package/dist/overlay-assets.d.ts +20 -0
  54. package/dist/overlay-assets.js +114 -0
  55. package/dist/overlay-assets.js.map +1 -0
  56. package/dist/overlay-assets.test.d.ts +1 -0
  57. package/dist/overlay-assets.test.js +75 -0
  58. package/dist/overlay-assets.test.js.map +1 -0
  59. package/dist/sandbox/command-exec.integration.test.d.ts +1 -0
  60. package/dist/sandbox/command-exec.integration.test.js +183 -0
  61. package/dist/sandbox/command-exec.integration.test.js.map +1 -0
  62. package/dist/sandbox/docker.d.ts +32 -0
  63. package/dist/sandbox/docker.js +109 -4
  64. package/dist/sandbox/docker.js.map +1 -1
  65. package/dist/setup.js +9 -44
  66. package/dist/setup.js.map +1 -1
  67. package/dist/workflows/loader.test.js +83 -0
  68. package/dist/workflows/loader.test.js.map +1 -1
  69. package/dist/workflows/phase-executor.d.ts +28 -3
  70. package/dist/workflows/phase-executor.js +170 -45
  71. package/dist/workflows/phase-executor.js.map +1 -1
  72. package/dist/workflows/phase-executor.test.js +64 -1
  73. package/dist/workflows/phase-executor.test.js.map +1 -1
  74. package/dist/workflows/runner.test.js +32 -27
  75. package/dist/workflows/runner.test.js.map +1 -1
  76. package/dist/workflows/schema.d.ts +20 -0
  77. package/dist/workflows/schema.js +72 -2
  78. package/dist/workflows/schema.js.map +1 -1
  79. package/package.json +12 -2
  80. package/sandbox.Dockerfile +7 -0
  81. package/skills/browser-qa/scripts/agent-browser.mjs +15 -0
  82. package/skills/demo/SKILL.md +45 -19
  83. package/skills/demo/scripts/compose-demo.sh +77 -39
  84. package/workflows/examples/bash-smoke.yaml +41 -0
  85. package/workflows/prompts/demo.md +27 -5
  86. package/workflows/qa-test.yaml +1 -1
  87. package/workflows/verify.yaml +1 -1
@@ -1,5 +1,6 @@
1
1
  import { resolve, basename, join, relative } from "path";
2
2
  import { appendFileSync, cpSync, existsSync, mkdirSync, readFileSync, rmSync, symlinkSync, writeFileSync } from "fs";
3
+ import { spawnSync } from "child_process";
3
4
  import { randomUUID } from "crypto";
4
5
  import { createTaskSandbox, setupTaskWorktree, SANDBOX_IMAGE_QA, } from "../sandbox/index.js";
5
6
  import { refreshGitAuth } from "./git-auth.js";
@@ -175,7 +176,15 @@ function harvestArtifactsOut(art) {
175
176
  * entrypoint inside the container execs `agentic-pi run --sandbox none`.
176
177
  * 3. none — agentic-pi in-process with cwd = the host worktree.
177
178
  */
178
- export async function executeAgent(prompt, config, opts) {
179
+ /**
180
+ * Shared run preparation for {@link executeAgent} and {@link executeCommand}:
181
+ * resolve the taskId / state dir / backend, mint the scoped GitHub token,
182
+ * assemble the sandbox env (git token, provider keys, OTEL), and compute the
183
+ * pre-populate descriptor. Both the agent and the deterministic command paths
184
+ * run in the same sandbox/workspace with the same git access, so they share
185
+ * this setup verbatim.
186
+ */
187
+ async function prepareRun(config, opts) {
179
188
  const taskId = opts?.taskId || `task-${randomUUID().slice(0, 8)}`;
180
189
  const stateDir = config.stateDir || resolve("data");
181
190
  const backend = config.sandbox ?? "gondolin";
@@ -274,6 +283,11 @@ export async function executeAgent(prompt, config, opts) {
274
283
  shallow: access.shallow,
275
284
  }
276
285
  : undefined;
286
+ return { taskId, stateDir, backend, ghEnv, mintedToken, prePopulate };
287
+ }
288
+ export async function executeAgent(prompt, config, opts) {
289
+ const { taskId, stateDir, backend, ghEnv, prePopulate } = await prepareRun(config, opts);
290
+ const access = opts?.githubAccess;
277
291
  const spanAttrs = safeSpanAttributes({
278
292
  "agent.runtime": "agentic-pi",
279
293
  "sandbox.backend": backend,
@@ -324,6 +338,221 @@ export async function executeAgent(prompt, config, opts) {
324
338
  onSessionId: opts?.onSessionId,
325
339
  }));
326
340
  }
341
+ const SCRIPT_EXT = { js: "mjs", ts: "mts", python: "py" };
342
+ /**
343
+ * Where a `type: script` source file is staged. A workspace-root sibling of
344
+ * {@link SKILL_BUNDLE_ROOT}, keyed per phase (`<root>/<phase>/script.<ext>`) —
345
+ * same convention as the skill bundle, so it sits beside the skills and is
346
+ * never written inside any checked-out repo's git tree.
347
+ */
348
+ const SCRIPT_BUNDLE_ROOT = ".lastlight-scripts";
349
+ /** Build the shell invocation + on-disk filename for a script spec. */
350
+ function scriptInvocation(spec) {
351
+ const fileName = `script.${SCRIPT_EXT[spec.runtime]}`;
352
+ const run = (path) => {
353
+ switch (spec.runtime) {
354
+ case "js":
355
+ return `node ${path}`;
356
+ case "ts":
357
+ return `node --experimental-strip-types ${path}`;
358
+ case "python":
359
+ return `uv run ${path}`;
360
+ }
361
+ };
362
+ return { fileName, run };
363
+ }
364
+ /**
365
+ * Mirror a finished command into a session jsonl via the shim. Synthesizes a
366
+ * minimal agentic-pi event stream: session → assistant(tool_use bash) →
367
+ * user(tool_result) → assistant(text summary) → result. Returns the session id
368
+ * the shim wrote under (so the executions row can link to it).
369
+ */
370
+ async function writeCommandSession(opts) {
371
+ const shim = new AgenticShim({
372
+ homeDir: opts.sessionsDir,
373
+ projectSlug: opts.projectSlug,
374
+ model: opts.model,
375
+ initialPrompt: opts.displayPrompt,
376
+ });
377
+ const sessionId = randomUUID();
378
+ const ts = Date.now();
379
+ const toolCallId = `cmd_${randomUUID().slice(0, 8)}`;
380
+ const feed = (record) => shim.feed(record);
381
+ feed({ type: "session", id: sessionId, timestamp: ts });
382
+ feed({
383
+ type: "message_end",
384
+ sessionId,
385
+ timestamp: ts,
386
+ message: { role: "assistant", content: [{ type: "toolCall", id: toolCallId, name: opts.toolName, arguments: opts.toolInput }] },
387
+ });
388
+ const combined = opts.stderr ? `${opts.stdout}${opts.stdout && !opts.stdout.endsWith("\n") ? "\n" : ""}${opts.stderr}` : opts.stdout;
389
+ feed({
390
+ type: "tool_execution_end",
391
+ sessionId,
392
+ timestamp: ts,
393
+ toolCallId,
394
+ result: combined || `(no output, exit ${opts.exitCode})`,
395
+ isError: opts.exitCode !== 0,
396
+ });
397
+ const summary = opts.exitCode === 0 ? "Command succeeded (exit 0)." : `Command failed (exit ${opts.exitCode}).`;
398
+ feed({
399
+ type: "message_end",
400
+ sessionId,
401
+ timestamp: ts,
402
+ message: { role: "assistant", content: [{ type: "text", text: summary }] },
403
+ });
404
+ shim.finalize({
405
+ finalText: summary,
406
+ turns: 1,
407
+ costUsd: 0,
408
+ inputTokens: 0,
409
+ outputTokens: 0,
410
+ cacheReadInputTokens: 0,
411
+ cacheCreationInputTokens: 0,
412
+ stopReason: opts.exitCode === 0 ? "success" : "error_bash",
413
+ durationMs: opts.durationMs,
414
+ });
415
+ await shim.flush();
416
+ return shim.isInitialized ? sessionId : null;
417
+ }
418
+ /**
419
+ * Execute a deterministic command/script. Mirrors {@link executeDocker} /
420
+ * {@link executeInProcess} for sandbox setup but runs `runCommand` (docker) or
421
+ * `spawnSync` (gondolin/none) instead of an agent, and writes a session jsonl
422
+ * so the output is visible in the dashboard + CLI.
423
+ */
424
+ export async function executeCommand(spec, config, opts) {
425
+ const { taskId, stateDir, backend, ghEnv, prePopulate } = await prepareRun(config, opts);
426
+ const access = opts?.githubAccess;
427
+ const model = config.model || DEFAULT_MODEL;
428
+ const sessionsDir = resolveSessionsDir(config);
429
+ const timeoutSeconds = opts?.timeoutSeconds ?? 300;
430
+ const startTime = Date.now();
431
+ const displayPrompt = spec.kind === "bash" ? `$ ${spec.command}` : `${spec.runtime} script: ${spec.name}\n\n${spec.script}`;
432
+ const spanAttrs = safeSpanAttributes({
433
+ "agent.runtime": spec.kind,
434
+ "sandbox.backend": backend,
435
+ "task.id": taskId,
436
+ repo: access?.repo,
437
+ "github.profile": access?.profile,
438
+ unrestricted_egress: config.unrestrictedEgress === true,
439
+ "workflow.name": config.telemetry?.workflowName,
440
+ "phase.name": config.telemetry?.phaseName,
441
+ });
442
+ return withSpan("lastlight.command.execute", spanAttrs, async () => {
443
+ // Per-phase script-bundle dir, a workspace-root sibling of the skill bundle
444
+ // (and of any repo checkout) — so a `type: script` file is never written
445
+ // inside the target's git tree. `spec.name` is the (sanitized) phase name.
446
+ const scriptDir = spec.kind === "script" ? `${SCRIPT_BUNDLE_ROOT}/${spec.name}` : SCRIPT_BUNDLE_ROOT;
447
+ if (backend === "docker") {
448
+ const dnsIp = config.unrestrictedEgress
449
+ ? (process.env.LASTLIGHT_DNS_OPEN || "172.30.0.11")
450
+ : (process.env.LASTLIGHT_DNS_STRICT || "172.30.0.10");
451
+ const imageName = config.sandboxImage === "qa" ? SANDBOX_IMAGE_QA : undefined;
452
+ const sbx = await createTaskSandbox({
453
+ taskId, stateDir, sandboxDir: config.sandboxDir, env: ghEnv, prePopulate, dnsIp, imageName,
454
+ });
455
+ if (!sbx) {
456
+ throw new Error("LASTLIGHT_SANDBOX=docker but no docker sandbox was available for command phase.");
457
+ }
458
+ const agentCwd = prePopulate ? `${DOCKER_WORKSPACE_DIR}/${prePopulate.repo}` : DOCKER_WORKSPACE_DIR;
459
+ try {
460
+ let command;
461
+ let toolName;
462
+ let toolInput;
463
+ if (spec.kind === "bash") {
464
+ command = spec.command;
465
+ toolName = "bash";
466
+ toolInput = { command: spec.command };
467
+ }
468
+ else {
469
+ const { fileName, run } = scriptInvocation(spec);
470
+ mkdirSync(join(sbx.workDir, scriptDir), { recursive: true });
471
+ writeFileSync(join(sbx.workDir, scriptDir, fileName), spec.script);
472
+ const inContainer = `${DOCKER_WORKSPACE_DIR}/${scriptDir}/${fileName}`;
473
+ command = run(inContainer);
474
+ toolName = "bash";
475
+ toolInput = { command, runtime: spec.runtime };
476
+ }
477
+ const res = await sbx.sandbox.runCommand(taskId, command, {
478
+ cwd: agentCwd,
479
+ sandboxEnv: opts?.sandboxEnv,
480
+ timeoutSeconds,
481
+ onLine: () => { },
482
+ });
483
+ const durationMs = Date.now() - startTime;
484
+ const sessionId = opts?.writeSession === false ? null : await writeCommandSession({
485
+ sessionsDir, projectSlug: projectSlugForCwd(agentCwd), model,
486
+ displayPrompt, toolName, toolInput,
487
+ stdout: res.stdout, stderr: res.stderr, exitCode: res.exitCode, durationMs,
488
+ });
489
+ if (sessionId && opts?.onSessionId)
490
+ opts.onSessionId(sessionId);
491
+ return buildCommandResult(res, durationMs, sessionId);
492
+ }
493
+ finally {
494
+ await sbx.cleanup();
495
+ }
496
+ }
497
+ // gondolin / none — run on the host worktree via spawnSync (the same
498
+ // degraded model those backends already use; matches the pre-existing
499
+ // host-side until_bash behaviour).
500
+ const workDir = setupTaskWorktree({ taskId, stateDir, sandboxDir: config.sandboxDir, prePopulate });
501
+ const agentCwd = access?.prePopulateBranch ? join(workDir, access.repo) : workDir;
502
+ let command;
503
+ let toolName = "bash";
504
+ let toolInput;
505
+ if (spec.kind === "bash") {
506
+ command = spec.command;
507
+ toolInput = { command: spec.command };
508
+ }
509
+ else {
510
+ const { fileName, run } = scriptInvocation(spec);
511
+ mkdirSync(join(workDir, scriptDir), { recursive: true });
512
+ const filePath = join(workDir, scriptDir, fileName);
513
+ writeFileSync(filePath, spec.script);
514
+ command = run(filePath);
515
+ toolInput = { command, runtime: spec.runtime };
516
+ }
517
+ const proc = spawnSync("sh", ["-c", command], {
518
+ cwd: agentCwd,
519
+ env: { ...process.env, ...ghEnv, ...(opts?.sandboxEnv ?? {}) },
520
+ encoding: "utf-8",
521
+ timeout: timeoutSeconds * 1000,
522
+ maxBuffer: 256 * 1024 * 1024,
523
+ });
524
+ const durationMs = Date.now() - startTime;
525
+ const exitCode = proc.status ?? (proc.signal ? 124 : 1);
526
+ const res = { exitCode, stdout: proc.stdout ?? "", stderr: proc.stderr ?? "", timedOut: proc.signal === "SIGTERM" };
527
+ const sessionId = opts?.writeSession === false ? null : await writeCommandSession({
528
+ sessionsDir, projectSlug: projectSlugForCwd(agentCwd), model,
529
+ displayPrompt, toolName, toolInput,
530
+ stdout: res.stdout, stderr: res.stderr, exitCode: res.exitCode, durationMs,
531
+ });
532
+ if (sessionId && opts?.onSessionId)
533
+ opts.onSessionId(sessionId);
534
+ return buildCommandResult(res, durationMs, sessionId);
535
+ });
536
+ }
537
+ /** Map a raw command result onto the ExecutionResult contract (turns 0, no cost). */
538
+ function buildCommandResult(res, durationMs, sessionId) {
539
+ const success = res.exitCode === 0;
540
+ const combined = res.stderr ? `${res.stdout}${res.stdout && !res.stdout.endsWith("\n") ? "\n" : ""}${res.stderr}` : res.stdout;
541
+ // Strip the trailing newline so the value substitutes cleanly into a
542
+ // downstream command / `{{phaseOutputs.<name>}}` and can be forwarded as an
543
+ // `LL_OUT_<PHASE>` env var (mirrors archon's "trailing newline removed"). The
544
+ // full raw stdout/stderr is preserved verbatim in the session jsonl.
545
+ const output = combined.replace(/\n+$/, "");
546
+ return {
547
+ success,
548
+ output,
549
+ turns: 0,
550
+ durationMs,
551
+ sessionId: sessionId ?? undefined,
552
+ error: success ? undefined : res.timedOut ? `command timed out after ${Math.round(durationMs / 1000)}s` : `command exited ${res.exitCode}`,
553
+ stopReason: success ? "success" : res.timedOut ? "error_timeout" : "error_bash",
554
+ };
555
+ }
327
556
  // ── In-process path (gondolin / none) ───────────────────────────────
328
557
  async function executeInProcess(prompt, config, ctx) {
329
558
  const startTime = Date.now();
@@ -427,6 +656,10 @@ async function executeInProcess(prompt, config, ctx) {
427
656
  prompt,
428
657
  thinking,
429
658
  profile,
659
+ // Test/eval escape hatch: when set (by the eval harness), agentic-pi's
660
+ // built-in github_* tools talk to a local fake GitHub instead of
661
+ // api.github.com. Unset in production.
662
+ githubApiBaseUrl: config.githubApiBaseUrl,
430
663
  sandbox: ctx.backend === "gondolin" ? "gondolin" : "none",
431
664
  sandboxEnv,
432
665
  cwd: agentCwd,
@@ -701,6 +934,7 @@ export class RunResultAccumulator {
701
934
  finalText = "";
702
935
  agentEnded = false;
703
936
  toolErrors = false;
937
+ maxStepsReached = false;
704
938
  lastToolError;
705
939
  // True iff the last assistant turn ended with a tool call — i.e. the agent
706
940
  // asked for a tool and the loop terminated before it could respond to the
@@ -794,6 +1028,9 @@ export class RunResultAccumulator {
794
1028
  if (Array.isArray(r.messages))
795
1029
  this.messages = r.messages;
796
1030
  break;
1031
+ case "max_steps_reached":
1032
+ this.maxStepsReached = true;
1033
+ break;
797
1034
  case "usage_snapshot":
798
1035
  this.snapshotStats = r.stats;
799
1036
  break;
@@ -852,6 +1089,7 @@ export class RunResultAccumulator {
852
1089
  ok: exitCode === 0 && !this.fatalError,
853
1090
  agentEnded: this.agentEnded,
854
1091
  toolErrors: this.toolErrors,
1092
+ maxStepsReached: this.maxStepsReached,
855
1093
  fatalError: this.fatalError,
856
1094
  sessionId: this.sessionId,
857
1095
  finalText: this.finalText,
@@ -1 +1 @@
1
- {"version":3,"file":"agent-executor.js","sourceRoot":"","sources":["../../src/engine/agent-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-executor.js","sourceRoot":"","sources":["../../src/engine/agent-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Core's half of the GitHub-mock seam contract.
3
+ *
4
+ * The eval harness (now in the separate `lastlight-evals` package) mocks GitHub
5
+ * by pointing `ExecutorConfig.githubApiBaseUrl` at an in-process fake and
6
+ * trusting that core forwards that base URL into agentic-pi's built-in
7
+ * `github_*` tools. The full red→green integration round-trip lives in
8
+ * lastlight-evals; THIS test is core's lightweight guard that the one line of
9
+ * plumbing still exists — if core ever stops forwarding `githubApiBaseUrl`,
10
+ * core's own `npm test` must go red rather than silently breaking every
11
+ * downstream eval.
12
+ *
13
+ * No fake server, no AI, no provider keys: we mock `agentic-pi` so its `run`
14
+ * captures its options and throws immediately (the executor's catch path then
15
+ * returns a failure result), and assert the captured options carried our URL.
16
+ */
17
+ import { mkdtempSync, mkdirSync } from "node:fs";
18
+ import { tmpdir } from "node:os";
19
+ import { join } from "node:path";
20
+ import { describe, it, expect, vi, beforeEach } from "vitest";
21
+ const runSpy = vi.fn();
22
+ // Intercept BOTH the static and the executor's dynamic `import("agentic-pi")`.
23
+ vi.mock("agentic-pi", () => ({
24
+ run: (opts) => {
25
+ runSpy(opts);
26
+ // Bail out the moment we've captured the args — we only care about the
27
+ // forwarded base URL, not about actually running an agent.
28
+ throw new Error("seam-test: stop after capturing run options");
29
+ },
30
+ }));
31
+ // Imported AFTER vi.mock so the dynamic import inside resolves to the mock.
32
+ const { executeAgent } = await import("./agent-executor.js");
33
+ describe("agentic-pi githubApiBaseUrl seam (core side)", () => {
34
+ beforeEach(() => runSpy.mockClear());
35
+ it("forwards ExecutorConfig.githubApiBaseUrl into the agentic-pi run", async () => {
36
+ const stateDir = mkdtempSync(join(tmpdir(), "ll-seam-"));
37
+ const sessionsDir = join(stateDir, "agent-sessions");
38
+ // The shim appends per-phase jsonl under <sessionsDir>/projects/<slug>/ and
39
+ // does not create that parent recursively.
40
+ mkdirSync(join(sessionsDir, "projects"), { recursive: true });
41
+ const fakeUrl = "http://127.0.0.1:65535";
42
+ // sandbox:"none" + no githubAccess → prepareRun mints no token, runs
43
+ // in-process, and reaches the agenticRun call with no network or keys.
44
+ const result = await executeAgent("noop prompt", {
45
+ sandbox: "none",
46
+ stateDir,
47
+ sessionsDir,
48
+ githubApiBaseUrl: fakeUrl,
49
+ });
50
+ expect(runSpy).toHaveBeenCalledTimes(1);
51
+ expect(runSpy.mock.calls[0][0]).toMatchObject({ githubApiBaseUrl: fakeUrl });
52
+ // The mock threw, so the executor returns a failure result — that's fine;
53
+ // the contract under test is purely the forwarded URL.
54
+ expect(result.success).toBe(false);
55
+ });
56
+ });
57
+ //# sourceMappingURL=agent-executor.seam.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-executor.seam.test.js","sourceRoot":"","sources":["../../src/engine/agent-executor.seam.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE9D,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAEvB,+EAA+E;AAC/E,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3B,GAAG,EAAE,CAAC,IAAa,EAAE,EAAE;QACrB,MAAM,CAAC,IAAI,CAAC,CAAC;QACb,uEAAuE;QACvE,2DAA2D;QAC3D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;CACF,CAAC,CAAC,CAAC;AAEJ,4EAA4E;AAC5E,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAE7D,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;IAC5D,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAErC,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACrD,4EAA4E;QAC5E,2CAA2C;QAC3C,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9D,MAAM,OAAO,GAAG,wBAAwB,CAAC;QACzC,qEAAqE;QACrE,uEAAuE;QACvE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,EAAE;YAC/C,OAAO,EAAE,MAAM;YACf,QAAQ;YACR,WAAW;YACX,gBAAgB,EAAE,OAAO;SAC1B,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7E,0EAA0E;QAC1E,uDAAuD;QACvD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -58,3 +58,16 @@ export type DispatchOutcome = {
58
58
  * former `registry.onEvent` closure so every event branch is testable.
59
59
  */
60
60
  export declare function dispatch(envelope: EventEnvelope, deps: DispatchDeps): Promise<DispatchOutcome>;
61
+ /**
62
+ * Run one chat turn end-to-end: record the execution, run the model, persist a
63
+ * freshly-minted agent session id for resume, and post the reply (apologizing
64
+ * on failure). Shared by the inline `handleChat` path and the ChatCoordinator,
65
+ * so batched turns get identical execution/telemetry recording. `message` may
66
+ * be a single message or a newline-combined batch.
67
+ */
68
+ export declare function runChatTurn(deps: DispatchDeps, args: {
69
+ sessionId: string;
70
+ message: string;
71
+ sender: string;
72
+ reply: (msg: string) => Promise<void>;
73
+ }): Promise<void>;
@@ -551,27 +551,47 @@ async function handleApprovalResponse(envelope, context, deps) {
551
551
  * in dashboard stats, runs the in-process turn, persists the minted agent
552
552
  * session id for resume on the next turn, and replies. Failures still record a
553
553
  * finish row and apologize rather than going silent.
554
+ *
555
+ * Per-session batching of bursty messaging input happens *before* this point,
556
+ * in the MessageBatcher at the connector→dispatch boundary (see
557
+ * `src/engine/message-batcher.ts`) — so by the time a turn reaches here it is
558
+ * already one combined, send-ordered message. This handler just runs it.
554
559
  */
555
560
  async function handleChat(envelope, context, deps) {
556
561
  const messagingSessionId = context.sessionId;
557
562
  const message = context.message;
558
563
  const sender = context.sender;
564
+ // Re-assert the thinking indicator for this turn (a batched burst can drain
565
+ // as several turns; the per-arrival indicator is cleared by the first reply).
566
+ envelope.typing?.().catch(() => { });
567
+ await runChatTurn(deps, { sessionId: messagingSessionId, message, sender, reply: envelope.reply });
568
+ return { kind: "handled", handler: "chat" };
569
+ }
570
+ /**
571
+ * Run one chat turn end-to-end: record the execution, run the model, persist a
572
+ * freshly-minted agent session id for resume, and post the reply (apologizing
573
+ * on failure). Shared by the inline `handleChat` path and the ChatCoordinator,
574
+ * so batched turns get identical execution/telemetry recording. `message` may
575
+ * be a single message or a newline-combined batch.
576
+ */
577
+ export async function runChatTurn(deps, args) {
578
+ const { sessionId, message, sender, reply } = args;
559
579
  // First message has no agent session → fresh; later messages resume.
560
- const resumeAgentSessionId = deps.sessionManager.getSession(messagingSessionId)?.agentSessionId ?? undefined;
580
+ const resumeAgentSessionId = deps.sessionManager.getSession(sessionId)?.agentSessionId ?? undefined;
561
581
  // triggerId is the messaging-session id, so a whole Slack thread groups
562
582
  // together with `GROUP BY trigger_id`.
563
583
  const executionId = randomUUID();
564
584
  deps.db.executions.recordStart({
565
585
  id: executionId,
566
586
  triggerType: "chat",
567
- triggerId: messagingSessionId,
587
+ triggerId: sessionId,
568
588
  skill: "chat",
569
589
  startedAt: new Date().toISOString(),
570
590
  });
571
591
  try {
572
- const result = await deps.runChat(message, messagingSessionId, sender, resumeAgentSessionId);
592
+ const result = await deps.runChat(message, sessionId, sender, resumeAgentSessionId);
573
593
  if (result.agentSessionId && result.agentSessionId !== resumeAgentSessionId) {
574
- deps.sessionManager.setAgentSessionId(messagingSessionId, result.agentSessionId);
594
+ deps.sessionManager.setAgentSessionId(sessionId, result.agentSessionId);
575
595
  }
576
596
  deps.db.executions.recordFinish(executionId, {
577
597
  success: result.success,
@@ -588,14 +608,13 @@ async function handleChat(envelope, context, deps) {
588
608
  apiDurationMs: result.apiDurationMs,
589
609
  stopReason: result.stopReason,
590
610
  });
591
- await envelope.reply(result.text);
611
+ await reply(result.text);
592
612
  }
593
613
  catch (err) {
594
614
  const msg = err instanceof Error ? err.message : String(err);
595
615
  console.error(`[dispatch] Chat error:`, msg);
596
616
  deps.db.executions.recordFinish(executionId, { success: false, error: msg, durationMs: 0 });
597
- await envelope.reply("Sorry, I encountered an error. Please try again.");
617
+ await reply("Sorry, I encountered an error. Please try again.");
598
618
  }
599
- return { kind: "handled", handler: "chat" };
600
619
  }
601
620
  //# sourceMappingURL=dispatcher.js.map