kimaki 1.3.0 → 1.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/assets/fonts/Geist-Bold.ttf +0 -0
- package/assets/fonts/Geist-Regular.ttf +0 -0
- package/assets/fonts/GeistMono-Regular.ttf +0 -0
- package/assets/fonts/OFL.txt +92 -0
- package/dist/agent-ui.e2e.test.js +27 -13
- package/dist/agent-ui.e2e.test.js.map +1 -1
- package/dist/agent-ui.js +2 -1
- package/dist/agent-ui.js.map +1 -1
- package/dist/analytics.e2e.test.js +1 -1
- package/dist/analytics.e2e.test.js.map +1 -1
- package/dist/autostart.d.ts +4 -0
- package/dist/autostart.js +55 -10
- package/dist/autostart.js.map +1 -1
- package/dist/bot.d.ts +13 -6
- package/dist/bot.js +17 -15
- package/dist/bot.js.map +1 -1
- package/dist/btw.e2e.test.js +3 -3
- package/dist/builtin-skills.d.ts +3 -0
- package/dist/builtin-skills.js +29 -0
- package/dist/builtin-skills.js.map +1 -1
- package/dist/builtin-skills.test.js +72 -1
- package/dist/builtin-skills.test.js.map +1 -1
- package/dist/catalog-refresh.e2e.test.js +2 -2
- package/dist/cli/bot.d.ts +1 -1
- package/dist/cli/bot.js +33 -18
- package/dist/cli/bot.js.map +1 -1
- package/dist/cli/discord.js +32 -6
- package/dist/cli/discord.js.map +1 -1
- package/dist/cli/schedule.js +23 -9
- package/dist/cli/schedule.js.map +1 -1
- package/dist/cli/session.js +37 -12
- package/dist/cli/session.js.map +1 -1
- package/dist/cli/shared.d.ts +5 -3
- package/dist/cli/shared.js +45 -10
- package/dist/cli/shared.js.map +1 -1
- package/dist/cli-discord.e2e.test.js +13 -8
- package/dist/cli-discord.e2e.test.js.map +1 -1
- package/dist/cli-lock.e2e.test.js +87 -20
- package/dist/cli-lock.e2e.test.js.map +1 -1
- package/dist/cli-read.e2e.test.js +18 -9
- package/dist/cli-read.e2e.test.js.map +1 -1
- package/dist/cli-sessions.e2e.test.js +4 -3
- package/dist/cli-sessions.e2e.test.js.map +1 -1
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/preference-commands.d.ts +4 -0
- package/dist/commands/preference-commands.js +38 -4
- package/dist/commands/preference-commands.js.map +1 -1
- package/dist/commands/session-commands.js +11 -8
- package/dist/commands/session-commands.js.map +1 -1
- package/dist/commands/thread-commands.js +94 -24
- package/dist/commands/thread-commands.js.map +1 -1
- package/dist/commands/worktree-commands.d.ts +5 -6
- package/dist/commands/worktree-commands.js +8 -7
- package/dist/commands/worktree-commands.js.map +1 -1
- package/dist/commands.e2e.test.js +25 -21
- package/dist/commands.e2e.test.js.map +1 -1
- package/dist/coordinator-agents.e2e.test.d.ts +1 -0
- package/dist/coordinator-agents.e2e.test.js +113 -0
- package/dist/coordinator-agents.e2e.test.js.map +1 -0
- package/dist/coordinator-idle.e2e.test.d.ts +1 -0
- package/dist/coordinator-idle.e2e.test.js +100 -0
- package/dist/coordinator-idle.e2e.test.js.map +1 -0
- package/dist/coordinator-queue.e2e.test.d.ts +1 -0
- package/dist/coordinator-queue.e2e.test.js +244 -0
- package/dist/coordinator-queue.e2e.test.js.map +1 -0
- package/dist/coordinator-warmup.e2e.test.d.ts +1 -0
- package/dist/coordinator-warmup.e2e.test.js +131 -0
- package/dist/coordinator-warmup.e2e.test.js.map +1 -0
- package/dist/coordinator.d.ts +6 -0
- package/dist/coordinator.e2e.test.d.ts +1 -0
- package/dist/coordinator.e2e.test.js +505 -0
- package/dist/coordinator.e2e.test.js.map +1 -0
- package/dist/coordinator.js +164 -0
- package/dist/coordinator.js.map +1 -0
- package/dist/db.d.ts +78 -3
- package/dist/db.test.js +1 -0
- package/dist/db.test.js.map +1 -1
- package/dist/diagram.d.ts +11 -0
- package/dist/diagram.js +232 -0
- package/dist/diagram.js.map +1 -0
- package/dist/diagram.test.d.ts +1 -0
- package/dist/diagram.test.js +52 -0
- package/dist/diagram.test.js.map +1 -0
- package/dist/duration.js +13 -5
- package/dist/duration.js.map +1 -1
- package/dist/effects.d.ts +6 -1
- package/dist/effects.js +97 -26
- package/dist/effects.js.map +1 -1
- package/dist/event-loop.d.ts +2 -3
- package/dist/event-loop.js +74 -44
- package/dist/event-loop.js.map +1 -1
- package/dist/format-parts.d.ts +21 -4
- package/dist/format-parts.js +40 -23
- package/dist/format-parts.js.map +1 -1
- package/dist/gateway-replay.e2e.test.js +4 -4
- package/dist/harness.e2e.test.js +2 -2
- package/dist/harness.e2e.test.js.map +1 -1
- package/dist/hello-thread.e2e.test.js +56 -5
- package/dist/hello-thread.e2e.test.js.map +1 -1
- package/dist/ingress.js +47 -12
- package/dist/ingress.js.map +1 -1
- package/dist/interaction-context.d.ts +4 -4
- package/dist/interaction-context.js +9 -7
- package/dist/interaction-context.js.map +1 -1
- package/dist/interrupt.e2e.test.js +8 -5
- package/dist/interrupt.e2e.test.js.map +1 -1
- package/dist/legacy.e2e.test.js +1 -1
- package/dist/lock-routes.d.ts +83 -31
- package/dist/lock-routes.js +68 -8
- package/dist/lock-routes.js.map +1 -1
- package/dist/lock-server.d.ts +3 -2
- package/dist/lock-server.js +23 -7
- package/dist/lock-server.js.map +1 -1
- package/dist/main.d.ts +6 -3
- package/dist/main.js +14 -4
- package/dist/main.js.map +1 -1
- package/dist/mainmast-idle.e2e.test.d.ts +1 -0
- package/dist/mainmast-idle.e2e.test.js +99 -0
- package/dist/mainmast-idle.e2e.test.js.map +1 -0
- package/dist/mainmast-queue.e2e.test.d.ts +1 -0
- package/dist/mainmast-queue.e2e.test.js +244 -0
- package/dist/mainmast-queue.e2e.test.js.map +1 -0
- package/dist/mainmast-warmup.e2e.test.d.ts +1 -0
- package/dist/mainmast-warmup.e2e.test.js +130 -0
- package/dist/mainmast-warmup.e2e.test.js.map +1 -0
- package/dist/mainmast.d.ts +6 -0
- package/dist/mainmast.e2e.test.d.ts +1 -0
- package/dist/mainmast.e2e.test.js +428 -0
- package/dist/mainmast.e2e.test.js.map +1 -0
- package/dist/mainmast.js +156 -0
- package/dist/mainmast.js.map +1 -0
- package/dist/markdown/markdown.test.js +14 -4
- package/dist/markdown/markdown.test.js.map +1 -1
- package/dist/markdown/render-markdown.js +9 -6
- package/dist/markdown/render-markdown.js.map +1 -1
- package/dist/onboarding-cli.e2e.test.js +7 -6
- package/dist/onboarding-cli.e2e.test.js.map +1 -1
- package/dist/onboarding.d.ts +3 -10
- package/dist/onboarding.e2e.test.js +8 -10
- package/dist/onboarding.e2e.test.js.map +1 -1
- package/dist/onboarding.js +14 -24
- package/dist/onboarding.js.map +1 -1
- package/dist/permissions.e2e.test.js +3 -3
- package/dist/plugin/coordinator.d.ts +4 -0
- package/dist/plugin/coordinator.js +389 -0
- package/dist/plugin/coordinator.js.map +1 -0
- package/dist/plugin/index.js +93 -61
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/mainmast.d.ts +4 -0
- package/dist/plugin/mainmast.js +379 -0
- package/dist/plugin/mainmast.js.map +1 -0
- package/dist/plugin.e2e.test.js +1 -1
- package/dist/preference-commands.e2e.test.js +103 -24
- package/dist/preference-commands.e2e.test.js.map +1 -1
- package/dist/project.d.ts +1 -1
- package/dist/prompt.d.ts +22 -9
- package/dist/prompt.js +64 -48
- package/dist/prompt.js.map +1 -1
- package/dist/questions.e2e.test.js +13 -13
- package/dist/queue-sources.e2e.test.d.ts +1 -0
- package/dist/queue-sources.e2e.test.js +168 -0
- package/dist/queue-sources.e2e.test.js.map +1 -0
- package/dist/queue.d.ts +9 -1
- package/dist/queue.e2e.test.js +48 -30
- package/dist/queue.e2e.test.js.map +1 -1
- package/dist/queue.js +97 -24
- package/dist/queue.js.map +1 -1
- package/dist/queue.test.d.ts +1 -0
- package/dist/queue.test.js +57 -0
- package/dist/queue.test.js.map +1 -0
- package/dist/remote-send.e2e.test.js +6 -6
- package/dist/remote-send.js +2 -1
- package/dist/remote-send.js.map +1 -1
- package/dist/renderer.e2e.test.js +7 -7
- package/dist/restart.e2e.test.js +2 -2
- package/dist/routines.e2e.test.js +2 -2
- package/dist/scheduler.d.ts +3 -3
- package/dist/scheduler.e2e.test.js +43 -20
- package/dist/scheduler.e2e.test.js.map +1 -1
- package/dist/scheduler.js +4 -2
- package/dist/scheduler.js.map +1 -1
- package/dist/schema-sql.d.ts +1 -1
- package/dist/schema-sql.js +1 -1
- package/dist/schema-sql.js.map +1 -1
- package/dist/schema.d.ts +152 -6
- package/dist/schema.js +12 -0
- package/dist/schema.js.map +1 -1
- package/dist/session-commands.e2e.test.js +36 -11
- package/dist/session-commands.e2e.test.js.map +1 -1
- package/dist/session-events.d.ts +18 -6
- package/dist/session-events.js +175 -27
- package/dist/session-events.js.map +1 -1
- package/dist/session-ops.e2e.test.js +63 -12
- package/dist/session-ops.e2e.test.js.map +1 -1
- package/dist/sessions.d.ts +44 -21
- package/dist/sessions.js +177 -65
- package/dist/sessions.js.map +1 -1
- package/dist/shell.e2e.test.js +4 -4
- package/dist/slash-commands.js +6 -4
- package/dist/slash-commands.js.map +1 -1
- package/dist/slash-commands.test.js +2 -0
- package/dist/slash-commands.test.js.map +1 -1
- package/dist/sleep.e2e.test.js +29 -14
- package/dist/sleep.e2e.test.js.map +1 -1
- package/dist/sleeps.d.ts +2 -1
- package/dist/sleeps.js +21 -3
- package/dist/sleeps.js.map +1 -1
- package/dist/store.d.ts +1 -0
- package/dist/store.js +3 -2
- package/dist/store.js.map +1 -1
- package/dist/system-prompt.d.ts +5 -15
- package/dist/system-prompt.js +180 -131
- package/dist/system-prompt.js.map +1 -1
- package/dist/test/generate-log-plugin/index.d.ts +3 -0
- package/dist/test/generate-log-plugin/index.js +15 -0
- package/dist/test/generate-log-plugin/index.js.map +1 -0
- package/dist/test/harness.d.ts +20 -2
- package/dist/test/harness.js +51 -11
- package/dist/test/harness.js.map +1 -1
- package/dist/test/replay.js +11 -8
- package/dist/test/replay.js.map +1 -1
- package/dist/thread-reducer.d.ts +29 -6
- package/dist/thread-reducer.fixtures.test.js +58 -51
- package/dist/thread-reducer.fixtures.test.js.map +1 -1
- package/dist/thread-reducer.js +109 -50
- package/dist/thread-reducer.js.map +1 -1
- package/dist/thread-reducer.test.js +190 -48
- package/dist/thread-reducer.test.js.map +1 -1
- package/dist/tunnel.d.ts +9 -0
- package/dist/tunnel.js +117 -28
- package/dist/tunnel.js.map +1 -1
- package/dist/tunnel.test.js +81 -5
- package/dist/tunnel.test.js.map +1 -1
- package/dist/voice-attachments.e2e.test.js +108 -18
- package/dist/voice-attachments.e2e.test.js.map +1 -1
- package/dist/voice-call.e2e.test.js +9 -9
- package/dist/voice-call.js +6 -6
- package/dist/voice-call.js.map +1 -1
- package/dist/voice-openai.e2e.test.js +59 -23
- package/dist/voice-openai.e2e.test.js.map +1 -1
- package/dist/voice.d.ts +1 -1
- package/dist/voice.js +72 -24
- package/dist/voice.js.map +1 -1
- package/dist/working-directory.e2e.test.js +11 -11
- package/dist/working-directory.e2e.test.js.map +1 -1
- package/package.json +11 -5
- package/skills/kimaki-tunnel/SKILL.md +3 -2
- package/src/agent-ui.e2e.test.ts +27 -13
- package/src/agent-ui.ts +2 -1
- package/src/analytics.e2e.test.ts +1 -1
- package/src/autostart.ts +55 -10
- package/src/bot.ts +36 -19
- package/src/btw.e2e.test.ts +3 -3
- package/src/builtin-skills.test.ts +73 -1
- package/src/builtin-skills.ts +33 -0
- package/src/catalog-refresh.e2e.test.ts +2 -2
- package/src/cli/bot.ts +30 -19
- package/src/cli/discord.ts +30 -6
- package/src/cli/schedule.ts +23 -9
- package/src/cli/session.ts +35 -12
- package/src/cli/shared.ts +43 -8
- package/src/cli-discord.e2e.test.ts +13 -8
- package/src/cli-lock.e2e.test.ts +88 -20
- package/src/cli-read.e2e.test.ts +17 -8
- package/src/cli-sessions.e2e.test.ts +4 -3
- package/src/cli.ts +2 -0
- package/src/commands/preference-commands.ts +38 -4
- package/src/commands/session-commands.ts +12 -7
- package/src/commands/thread-commands.ts +92 -24
- package/src/commands/worktree-commands.ts +10 -9
- package/src/commands.e2e.test.ts +25 -21
- package/src/coordinator-agents.e2e.test.ts +145 -0
- package/src/coordinator-idle.e2e.test.ts +122 -0
- package/src/coordinator-queue.e2e.test.ts +279 -0
- package/src/coordinator-warmup.e2e.test.ts +158 -0
- package/src/coordinator.e2e.test.ts +545 -0
- package/src/coordinator.ts +168 -0
- package/src/db.test.ts +1 -0
- package/src/diagram.test.ts +56 -0
- package/src/diagram.ts +243 -0
- package/src/duration.ts +13 -5
- package/src/effects.ts +99 -27
- package/src/event-loop.ts +71 -45
- package/src/format-parts.ts +53 -22
- package/src/gateway-replay.e2e.test.ts +4 -4
- package/src/harness.e2e.test.ts +2 -2
- package/src/hello-thread.e2e.test.ts +59 -5
- package/src/ingress.ts +44 -11
- package/src/interaction-context.ts +12 -11
- package/src/interrupt.e2e.test.ts +8 -5
- package/src/legacy.e2e.test.ts +1 -1
- package/src/lock-routes.ts +62 -8
- package/src/lock-server.ts +23 -7
- package/src/main.ts +26 -10
- package/src/markdown/markdown.test.ts +15 -4
- package/src/markdown/render-markdown.ts +9 -6
- package/src/onboarding-cli.e2e.test.ts +7 -6
- package/src/onboarding.e2e.test.ts +8 -10
- package/src/onboarding.ts +13 -29
- package/src/permissions.e2e.test.ts +3 -3
- package/src/plugin/coordinator.ts +401 -0
- package/src/plugin/index.ts +86 -59
- package/src/plugin.e2e.test.ts +1 -1
- package/src/preference-commands.e2e.test.ts +103 -23
- package/src/prompt.ts +87 -43
- package/src/questions.e2e.test.ts +13 -13
- package/src/queue-sources.e2e.test.ts +197 -0
- package/src/queue.e2e.test.ts +48 -30
- package/src/queue.test.ts +59 -0
- package/src/queue.ts +104 -24
- package/src/remote-send.e2e.test.ts +6 -6
- package/src/remote-send.ts +2 -1
- package/src/renderer.e2e.test.ts +7 -7
- package/src/restart.e2e.test.ts +2 -2
- package/src/routines.e2e.test.ts +2 -2
- package/src/scheduler.e2e.test.ts +45 -19
- package/src/scheduler.ts +4 -2
- package/src/schema-sql.ts +1 -1
- package/src/schema.ts +13 -0
- package/src/session-commands.e2e.test.ts +38 -11
- package/src/session-events.ts +168 -25
- package/src/session-ops.e2e.test.ts +64 -11
- package/src/sessions.ts +217 -67
- package/src/shell.e2e.test.ts +4 -4
- package/src/slash-commands.test.ts +2 -0
- package/src/slash-commands.ts +6 -4
- package/src/sleep.e2e.test.ts +30 -13
- package/src/sleeps.ts +20 -3
- package/src/store.ts +5 -2
- package/src/system-prompt.ts +190 -134
- package/src/test/generate-log-plugin/index.ts +16 -0
- package/src/test/harness.ts +77 -17
- package/src/test/replay.ts +12 -7
- package/src/thread-reducer.fixtures.test.ts +58 -51
- package/src/thread-reducer.test.ts +199 -49
- package/src/thread-reducer.ts +135 -66
- package/src/tunnel.test.ts +81 -5
- package/src/tunnel.ts +124 -25
- package/src/voice-attachments.e2e.test.ts +110 -18
- package/src/voice-call.e2e.test.ts +9 -9
- package/src/voice-call.ts +6 -6
- package/src/voice-openai.e2e.test.ts +64 -24
- package/src/voice.ts +93 -26
- package/src/working-directory.e2e.test.ts +11 -11
- package/src/message-tool.e2e.test.ts +0 -45
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { render } from 'pele';
|
|
2
|
+
import { expect, test } from 'vitest';
|
|
3
|
+
import { computeCustomProperties, renderDiagram, withColorClasses } from "./diagram.js";
|
|
4
|
+
const NESTED = `flowchart LR
|
|
5
|
+
subgraph outer[Outer]
|
|
6
|
+
subgraph inner[Inner]
|
|
7
|
+
a[A]:::blue --> b[(B)]
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
b -->|label| c{C}
|
|
11
|
+
classDef blue fill:#0b1f38,stroke:#1d68c5`;
|
|
12
|
+
test('computes inherited custom properties, fallbacks and color-mix', () => {
|
|
13
|
+
const svg = `<svg xmlns="http://www.w3.org/2000/svg" style="--_a:var(--theme-a,#ffffff);--_b:var(--missing,#000000);width:10px"><g style="--_a:#ff0000"><rect fill="var(--_a)" stroke="color-mix(in srgb,var(--_a) 50%,var(--_b))"/></g><rect fill="var(--_a)" style="rx:var(--_r, 4px)"/></svg>`;
|
|
14
|
+
expect(computeCustomProperties(svg, new Map([['--theme-a', '#00ff00']]))).toMatchInlineSnapshot(`"<svg xmlns="http://www.w3.org/2000/svg" style="width:10px"><g><rect fill="#ff0000" stroke="#800000"/></g><rect fill="#00ff00" rx="4px"/></svg>"`);
|
|
15
|
+
});
|
|
16
|
+
test('leaves no var() or color-mix() in pele output', () => {
|
|
17
|
+
const svg = computeCustomProperties(render(NESTED, { padding: 24 }).svg);
|
|
18
|
+
expect(svg).not.toContain('var(');
|
|
19
|
+
expect(svg).not.toContain('color-mix');
|
|
20
|
+
expect(svg).toContain('fill="#ffffff"');
|
|
21
|
+
});
|
|
22
|
+
test('renders a png and reports syntax errors with position', () => {
|
|
23
|
+
const png = renderDiagram(NESTED);
|
|
24
|
+
if (png instanceof Error)
|
|
25
|
+
throw png;
|
|
26
|
+
expect(png.subarray(1, 4).toString()).toBe('PNG');
|
|
27
|
+
const dark = renderDiagram(NESTED, { theme: 'dark' });
|
|
28
|
+
if (dark instanceof Error)
|
|
29
|
+
throw dark;
|
|
30
|
+
expect(dark.equals(png)).toBe(false);
|
|
31
|
+
const error = renderDiagram('flowchart LR\n a --> \n b[unclosed');
|
|
32
|
+
expect(error instanceof Error ? error.message : 'no error').toMatchInlineSnapshot(`
|
|
33
|
+
"Parse error on line 11:
|
|
34
|
+
|
|
35
|
+
^
|
|
36
|
+
Expecting 'SQE', 'UNICODE_TEXT', 'TEXT', 'TAGSTART', got '$end'"
|
|
37
|
+
`);
|
|
38
|
+
});
|
|
39
|
+
test('adds built-in color classes the source does not define', () => {
|
|
40
|
+
expect(withColorClasses('flowchart LR\n a:::blue --> b:::teal\n classDef teal,red fill:#000')).toMatchInlineSnapshot(`
|
|
41
|
+
"flowchart LR
|
|
42
|
+
a:::blue --> b:::teal
|
|
43
|
+
classDef teal,red fill:#000
|
|
44
|
+
classDef blue fill:#edf5fb,stroke:#a0c3e2,color:#141413
|
|
45
|
+
classDef green fill:#eef6f0,stroke:#a7c8af,color:#141413
|
|
46
|
+
classDef purple fill:#f3effa,stroke:#bfb1de,color:#141413
|
|
47
|
+
classDef pink fill:#fbeef3,stroke:#e0abbf,color:#141413
|
|
48
|
+
classDef amber fill:#fbf5e8,stroke:#e2c893,color:#141413"
|
|
49
|
+
`);
|
|
50
|
+
expect(withColorClasses('sequenceDiagram\n A->>B: hi')).toBe('sequenceDiagram\n A->>B: hi');
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=diagram.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagram.test.js","sourceRoot":"","sources":["../src/diagram.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAErC,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEvF,MAAM,MAAM,GAAG;;;;;;;4CAO6B,CAAA;AAE5C,IAAI,CAAC,+DAA+D,EAAE,GAAG,EAAE;IACzE,MAAM,GAAG,GAAG,qRAAqR,CAAA;IACjS,MAAM,CAAC,uBAAuB,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,kJAAkJ,CAAC,CAAA;AACrP,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;IACzD,MAAM,GAAG,GAAG,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;IACxE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACjC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACtC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;AACzC,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;IACjE,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACjC,IAAI,GAAG,YAAY,KAAK;QAAE,MAAM,GAAG,CAAA;IACnC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IACrD,IAAI,IAAI,YAAY,KAAK;QAAE,MAAM,IAAI,CAAA;IACrC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEpC,MAAM,KAAK,GAAG,aAAa,CAAC,sCAAsC,CAAC,CAAA;IACnE,MAAM,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC;;;;;GAKjF,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,wDAAwD,EAAE,GAAG,EAAE;IAClE,MAAM,CAAC,gBAAgB,CAAC,sEAAsE,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;GAStH,CAAC,CAAA;IACF,MAAM,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;AAC/F,CAAC,CAAC,CAAA"}
|
package/dist/duration.js
CHANGED
|
@@ -1,16 +1,24 @@
|
|
|
1
|
-
// Relative durations like `30m` or `
|
|
1
|
+
// Relative durations like `30m`, `2h` or `1 hour` (`session wait --timeout`, `kimaki sleep --duration`).
|
|
2
2
|
// Dependency-light so the CLI can use it without loading bot modules.
|
|
3
3
|
import { ConfigError } from "./errors.js";
|
|
4
|
-
const DURATION = /^(\d+(?:\.\d+)?)\s*(
|
|
5
|
-
const
|
|
4
|
+
const DURATION = /^(\d+(?:\.\d+)?)\s*([a-z]+)$/i;
|
|
5
|
+
const UNITS = [
|
|
6
|
+
[1, ['ms', 'milli', 'millis']],
|
|
7
|
+
[1_000, ['s', 'second', 'seconds']],
|
|
8
|
+
[60_000, ['m', 'minute', 'minutes']],
|
|
9
|
+
[3_600_000, ['h', 'hour', 'hours']],
|
|
10
|
+
[86_400_000, ['d', 'day', 'days']],
|
|
11
|
+
];
|
|
12
|
+
const DURATION_MS = new Map(UNITS.flatMap(([ms, names]) => names.map((name) => [name, ms])));
|
|
6
13
|
// Milliseconds of a positive duration: a number plus ms, s, m, h, or d.
|
|
7
14
|
// `label` names the input in errors, for example a flag like `--duration`.
|
|
8
15
|
export function parseDuration(text, label = 'duration') {
|
|
9
16
|
const trimmed = text.trim();
|
|
10
17
|
const match = DURATION.exec(trimmed);
|
|
11
|
-
|
|
18
|
+
const unit = match ? DURATION_MS.get(match[2].toLowerCase()) : undefined;
|
|
19
|
+
if (!match || !unit)
|
|
12
20
|
return new ConfigError({ reason: `Invalid ${label} "${trimmed}". Use a number plus ms, s, m, h, or d (example: 2h)` });
|
|
13
|
-
const amount = Number(match[1]) *
|
|
21
|
+
const amount = Number(match[1]) * unit;
|
|
14
22
|
if (!(amount > 0))
|
|
15
23
|
return new ConfigError({ reason: `${label.charAt(0).toUpperCase()}${label.slice(1)} must be greater than 0` });
|
|
16
24
|
return amount;
|
package/dist/duration.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duration.js","sourceRoot":"","sources":["../src/duration.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"duration.js","sourceRoot":"","sources":["../src/duration.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,sEAAsE;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,QAAQ,GAAG,+BAA+B,CAAA;AAChD,MAAM,KAAK,GAAsC;IAC/C,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;CACnC,CAAA;AACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAU,CAAC,CAAC,CAAC,CAAA;AAErG,wEAAwE;AACxE,2EAA2E;AAC3E,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,KAAK,GAAG,UAAU;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACzE,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,KAAK,KAAK,OAAO,sDAAsD,EAAE,CAAC,CAAA;IAC3I,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IACtC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAA;IACjI,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/dist/effects.d.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import { type Client } from 'discord.js';
|
|
2
2
|
import type { Effect } from './thread-reducer.ts';
|
|
3
|
+
export type FooterDefaults = (channelId: string) => Promise<Error | null | {
|
|
4
|
+
projectDirectory: string;
|
|
5
|
+
defaultAgent: string | null;
|
|
6
|
+
}>;
|
|
3
7
|
export type MarkViewed = (input: {
|
|
4
8
|
sessionId: string;
|
|
5
9
|
idle: number;
|
|
6
10
|
}) => Promise<Error | void>;
|
|
7
|
-
export declare function createEffectsRunner({ discord, markViewed }: {
|
|
11
|
+
export declare function createEffectsRunner({ discord, markViewed, footerDefaults }: {
|
|
8
12
|
discord: Client;
|
|
9
13
|
markViewed: MarkViewed;
|
|
14
|
+
footerDefaults: FooterDefaults;
|
|
10
15
|
}): {
|
|
11
16
|
run(threadId: string, effects: Effect[]): void;
|
|
12
17
|
dispose(threadId: string): void;
|
package/dist/effects.js
CHANGED
|
@@ -16,9 +16,10 @@ import { execFile } from 'node:child_process';
|
|
|
16
16
|
import path from 'node:path';
|
|
17
17
|
import { promisify } from 'node:util';
|
|
18
18
|
import { ComponentType, MessageFlags, } from 'discord.js';
|
|
19
|
-
import {
|
|
19
|
+
import { DISCORD_MEDIA_URL, embedFlags, formatFooter, SILENT_MESSAGE_FLAGS } from "./format-parts.js";
|
|
20
20
|
import { createLogger } from "./logger.js";
|
|
21
|
-
import {
|
|
21
|
+
import { echoPayloads } from "./queue.js";
|
|
22
|
+
import { markdownPayloads, segmentPayloads } from "./markdown/components.js";
|
|
22
23
|
import { DISCORD_TEXT_LIMIT, renderMarkdown } from "./markdown/render-markdown.js";
|
|
23
24
|
import { DiscordError } from "./errors.js";
|
|
24
25
|
const logger = createLogger('EFFECTS');
|
|
@@ -28,10 +29,42 @@ async function gitBranch(directory) {
|
|
|
28
29
|
const result = await execFileAsync('git', ['branch', '--show-current'], { cwd: directory, timeout: 5_000 }).catch(() => null);
|
|
29
30
|
return result?.stdout.trim() || null;
|
|
30
31
|
}
|
|
31
|
-
async function
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
|
|
32
|
+
async function readDefaultBranch(directory) {
|
|
33
|
+
const git = (args) => execFileAsync('git', args, { cwd: directory, timeout: 5_000 }).then((r) => r.stdout.trim(), () => '');
|
|
34
|
+
const remoteHead = await git(['symbolic-ref', '--quiet', '--short', 'refs/remotes/origin/HEAD']);
|
|
35
|
+
if (remoteHead)
|
|
36
|
+
return remoteHead.replace(/^origin\//, '');
|
|
37
|
+
// No origin/HEAD (repo never cloned, or no remote): fall back to a local main or master.
|
|
38
|
+
const local = await git(['for-each-ref', '--format=%(refname:short)', 'refs/heads/main', 'refs/heads/master']);
|
|
39
|
+
return local.split('\n')[0] || null;
|
|
40
|
+
}
|
|
41
|
+
// Directory -> default branch, read once per process: it almost never changes.
|
|
42
|
+
const defaultBranches = new Map();
|
|
43
|
+
function defaultBranch(directory) {
|
|
44
|
+
const cached = defaultBranches.get(directory);
|
|
45
|
+
if (cached)
|
|
46
|
+
return cached;
|
|
47
|
+
const lookup = readDefaultBranch(directory);
|
|
48
|
+
defaultBranches.set(directory, lookup);
|
|
49
|
+
return lookup;
|
|
50
|
+
}
|
|
51
|
+
async function footerText({ effect, footerDefaults }) {
|
|
52
|
+
const { channelId, directory, durationMs, contextPercent, model, agent } = effect;
|
|
53
|
+
const [branch, mainBranch, defaults] = await Promise.all([gitBranch(directory), defaultBranch(directory), footerDefaults(channelId)]);
|
|
54
|
+
if (defaults instanceof Error)
|
|
55
|
+
logger.warn(`footer defaults of channel ${channelId} failed`, defaults);
|
|
56
|
+
const known = defaults instanceof Error ? null : defaults;
|
|
57
|
+
return formatFooter({
|
|
58
|
+
directory,
|
|
59
|
+
projectDirectory: known?.projectDirectory ?? null,
|
|
60
|
+
branch,
|
|
61
|
+
defaultBranch: mainBranch,
|
|
62
|
+
durationMs,
|
|
63
|
+
contextPercent,
|
|
64
|
+
model,
|
|
65
|
+
agent,
|
|
66
|
+
defaultAgent: known?.defaultAgent ?? null,
|
|
67
|
+
});
|
|
35
68
|
}
|
|
36
69
|
function markdownMessages({ text, blankLineBefore }) {
|
|
37
70
|
const segments = renderMarkdown(text, { limit: DISCORD_TEXT_LIMIT - 1 });
|
|
@@ -86,6 +119,17 @@ function uploadMessage({ files, first, numbered }) {
|
|
|
86
119
|
});
|
|
87
120
|
return { files: attachments, components, flags: MessageFlags.IsComponentsV2 | SILENT_MESSAGE_FLAGS };
|
|
88
121
|
}
|
|
122
|
+
// Components V2 messages come back with an empty `attachments` list: Discord
|
|
123
|
+
// resolves each attachment:// URL inside the components instead, in upload order.
|
|
124
|
+
function mediaUrls(components) {
|
|
125
|
+
return components.flatMap((component) => {
|
|
126
|
+
if (component.type === ComponentType.MediaGallery)
|
|
127
|
+
return component.items.map((item) => item.media.url);
|
|
128
|
+
if (component.type === ComponentType.File)
|
|
129
|
+
return [component.file.url];
|
|
130
|
+
return [];
|
|
131
|
+
});
|
|
132
|
+
}
|
|
89
133
|
// Effects that will never run: an upload still waits for its answer.
|
|
90
134
|
function drop(effects) {
|
|
91
135
|
for (const effect of effects) {
|
|
@@ -93,7 +137,7 @@ function drop(effects) {
|
|
|
93
137
|
effect.settle(new DiscordError({ operation: 'upload (the thread no longer shows a session)' }));
|
|
94
138
|
}
|
|
95
139
|
}
|
|
96
|
-
export function createEffectsRunner({ discord, markViewed }) {
|
|
140
|
+
export function createEffectsRunner({ discord, markViewed, footerDefaults }) {
|
|
97
141
|
const workers = new Map();
|
|
98
142
|
// After stop(): no more sends or typing, even from effects already queued.
|
|
99
143
|
const lifecycle = { closed: false };
|
|
@@ -128,14 +172,16 @@ export function createEffectsRunner({ discord, markViewed }) {
|
|
|
128
172
|
clearInterval(thread.typing);
|
|
129
173
|
thread.typing = null;
|
|
130
174
|
}
|
|
131
|
-
|
|
175
|
+
// `mentions: false` for user text (prompt echoes): it must never ping.
|
|
176
|
+
async function post({ threadId, options, notify, mentions = true }) {
|
|
132
177
|
if (lifecycle.closed)
|
|
133
178
|
return null;
|
|
134
179
|
const channel = await sendableChannel(threadId);
|
|
135
180
|
if (!channel || lifecycle.closed)
|
|
136
181
|
return null;
|
|
137
|
-
const flags = (options.flags ?? 0) | (notify ?
|
|
138
|
-
|
|
182
|
+
const flags = (options.flags ?? 0) | embedFlags(options.content) | (notify ? 0 : MessageFlags.SuppressNotifications);
|
|
183
|
+
// Replies never ping their author: the footer is what notifies.
|
|
184
|
+
const sent = await channel.send({ ...options, flags, allowedMentions: { parse: mentions ? ['users'] : [], repliedUser: false } }).catch((e) => e);
|
|
139
185
|
if (!(sent instanceof Error))
|
|
140
186
|
return sent.id;
|
|
141
187
|
logger.error(`send failed in ${threadId}`, sent);
|
|
@@ -144,6 +190,7 @@ export function createEffectsRunner({ discord, markViewed }) {
|
|
|
144
190
|
// Unlike post(), the error goes back to the agent that uploaded.
|
|
145
191
|
async function postFiles(threadId, files) {
|
|
146
192
|
let first = 1;
|
|
193
|
+
const urls = [];
|
|
147
194
|
for (const batch of uploadBatches(files)) {
|
|
148
195
|
if (lifecycle.closed)
|
|
149
196
|
return new DiscordError({ operation: 'upload (bot stopped)' });
|
|
@@ -155,13 +202,14 @@ export function createEffectsRunner({ discord, markViewed }) {
|
|
|
155
202
|
.catch((cause) => new DiscordError({ operation: `upload of ${batch.map((file) => file.name).join(', ')} (${cause.message})`, cause }));
|
|
156
203
|
if (sent instanceof Error)
|
|
157
204
|
return sent;
|
|
205
|
+
urls.push(...mediaUrls(sent.components.map((component) => component.toJSON())));
|
|
158
206
|
first += batch.length;
|
|
159
207
|
}
|
|
160
|
-
return
|
|
208
|
+
return urls;
|
|
161
209
|
}
|
|
162
210
|
async function edit({ channel, messageId, message }) {
|
|
163
211
|
const edited = await channel.messages
|
|
164
|
-
.edit(messageId, { content: message.content, components: [...message.components] })
|
|
212
|
+
.edit(messageId, { content: message.content, components: [...message.components], flags: DISCORD_MEDIA_URL.test(message.content) ? [] : MessageFlags.SuppressEmbeds })
|
|
165
213
|
.catch((e) => e);
|
|
166
214
|
if (edited instanceof Error)
|
|
167
215
|
logger.warn(`edit of ${messageId} failed`, edited);
|
|
@@ -198,18 +246,22 @@ export function createEffectsRunner({ discord, markViewed }) {
|
|
|
198
246
|
return;
|
|
199
247
|
}
|
|
200
248
|
if (effect.type === 'edit') {
|
|
201
|
-
const ids = thread.prompts.get(effect.key);
|
|
249
|
+
const ids = thread.prompts.get(effect.key) ?? [];
|
|
202
250
|
thread.prompts.delete(effect.key);
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
const channel = await sendableChannel(threadId);
|
|
206
|
-
if (!channel || lifecycle.closed)
|
|
251
|
+
const channel = ids.length > 0 ? await sendableChannel(threadId) : null;
|
|
252
|
+
if (lifecycle.closed)
|
|
207
253
|
return;
|
|
208
254
|
for (const [index, messageId] of ids.entries()) {
|
|
209
255
|
const message = effect.messages[index] ?? effect.messages[effect.messages.length - 1];
|
|
210
|
-
if (message)
|
|
256
|
+
if (channel && message)
|
|
211
257
|
await edit({ channel, messageId, message });
|
|
212
258
|
}
|
|
259
|
+
if (effect.reply === undefined)
|
|
260
|
+
return;
|
|
261
|
+
// A key from before a restart: the reply still marks the moment, without a reference.
|
|
262
|
+
const replyTo = effect.replyTo ?? ids[0];
|
|
263
|
+
await post({ threadId, options: { content: effect.reply, ...(replyTo && { reply: { messageReference: replyTo, failIfNotExists: false } }) }, notify: false });
|
|
264
|
+
await refreshTyping(threadId);
|
|
213
265
|
return;
|
|
214
266
|
}
|
|
215
267
|
if (effect.type === 'show') {
|
|
@@ -224,6 +276,7 @@ export function createEffectsRunner({ discord, markViewed }) {
|
|
|
224
276
|
...(replyTo && { reply: { messageReference: replyTo, failIfNotExists: false } }),
|
|
225
277
|
},
|
|
226
278
|
notify: effect.notify,
|
|
279
|
+
mentions: !effect.echo,
|
|
227
280
|
});
|
|
228
281
|
if (id)
|
|
229
282
|
ids.push(id);
|
|
@@ -232,8 +285,9 @@ export function createEffectsRunner({ discord, markViewed }) {
|
|
|
232
285
|
await refreshTyping(threadId);
|
|
233
286
|
return;
|
|
234
287
|
}
|
|
235
|
-
for (const payload of markdownMessages(effect)) {
|
|
236
|
-
|
|
288
|
+
for (const [index, payload] of markdownMessages(effect).entries()) {
|
|
289
|
+
const replyTo = index === 0 ? effect.replyTo : null;
|
|
290
|
+
await post({ threadId, options: { ...payload, ...(replyTo && { reply: { messageReference: replyTo, failIfNotExists: false } }) }, notify: false });
|
|
237
291
|
}
|
|
238
292
|
await refreshTyping(threadId);
|
|
239
293
|
}
|
|
@@ -243,14 +297,17 @@ export function createEffectsRunner({ discord, markViewed }) {
|
|
|
243
297
|
const thread = worker(threadId);
|
|
244
298
|
const generation = thread.generation;
|
|
245
299
|
const live = () => thread.generation === generation;
|
|
246
|
-
// A merged message notifies when any of its lines does.
|
|
300
|
+
// A merged message notifies when any of its lines does. Echoes and
|
|
301
|
+
// bot lines never merge, so an echo never pings and a bot line can.
|
|
302
|
+
// Lines with Discord media only merge with each other: their message
|
|
303
|
+
// shows embeds, so other links merged in would unfurl too.
|
|
247
304
|
let lines = null;
|
|
248
305
|
const flush = async () => {
|
|
249
306
|
const pending = lines;
|
|
250
307
|
lines = null;
|
|
251
308
|
if (pending === null || !live())
|
|
252
309
|
return;
|
|
253
|
-
await post({ threadId, options: { content: pending.text }, notify: pending.notify });
|
|
310
|
+
await post({ threadId, options: { content: pending.text }, notify: pending.notify, mentions: pending.mentions });
|
|
254
311
|
await refreshTyping(threadId);
|
|
255
312
|
};
|
|
256
313
|
for (const [index, effect] of batch.entries()) {
|
|
@@ -263,15 +320,29 @@ export function createEffectsRunner({ discord, markViewed }) {
|
|
|
263
320
|
await runOne(threadId, effect);
|
|
264
321
|
continue;
|
|
265
322
|
}
|
|
266
|
-
const text = effect.type === 'send' ? effect.text : await footerText(effect);
|
|
323
|
+
const text = effect.type === 'send' ? effect.text : await footerText({ effect, footerDefaults });
|
|
267
324
|
const notify = effect.notify === true;
|
|
325
|
+
const echo = effect.type === 'send' && effect.echo === true;
|
|
326
|
+
const mentions = !echo;
|
|
327
|
+
// A line over the limit (a long prompt echo) is split like model markdown.
|
|
328
|
+
if (text.length > DISCORD_TEXT_LIMIT) {
|
|
329
|
+
await flush();
|
|
330
|
+
for (const payload of echo ? echoPayloads(text) : markdownPayloads(text)) {
|
|
331
|
+
if (!live())
|
|
332
|
+
return drop(batch.slice(index + 1));
|
|
333
|
+
await post({ threadId, options: payload, notify, mentions });
|
|
334
|
+
}
|
|
335
|
+
await refreshTyping(threadId);
|
|
336
|
+
continue;
|
|
337
|
+
}
|
|
338
|
+
const media = DISCORD_MEDIA_URL.test(text);
|
|
268
339
|
const joined = lines === null ? null : `${lines.text}\n${text}`;
|
|
269
|
-
if (lines !== null && joined !== null && joined.length <= DISCORD_TEXT_LIMIT) {
|
|
270
|
-
lines = { text: joined, notify: lines.notify || notify };
|
|
340
|
+
if (lines !== null && joined !== null && lines.mentions === mentions && lines.media === media && joined.length <= DISCORD_TEXT_LIMIT) {
|
|
341
|
+
lines = { text: joined, notify: lines.notify || notify, mentions, media };
|
|
271
342
|
continue;
|
|
272
343
|
}
|
|
273
344
|
await flush();
|
|
274
|
-
lines = { text, notify };
|
|
345
|
+
lines = { text, notify, mentions, media };
|
|
275
346
|
}
|
|
276
347
|
await flush();
|
|
277
348
|
}
|
package/dist/effects.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effects.js","sourceRoot":"","sources":["../src/effects.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"effects.js","sourceRoot":"","sources":["../src/effects.ts"],"names":[],"mappings":"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"}
|
package/dist/event-loop.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { type KimakiDb } from './db.ts';
|
|
|
4
4
|
import type { EffectsRunner } from './effects.ts';
|
|
5
5
|
import { DbError, OpenCodeError } from './errors.ts';
|
|
6
6
|
import type { ConnectContext, V2Event } from './opencode-server.ts';
|
|
7
|
-
import type
|
|
7
|
+
import { type EventRecorder } from './session-events.ts';
|
|
8
8
|
import type { BotStore } from './store.ts';
|
|
9
9
|
import { type KimakiEvent } from './thread-reducer.ts';
|
|
10
10
|
export type RunEnded = {
|
|
@@ -12,14 +12,13 @@ export type RunEnded = {
|
|
|
12
12
|
sessionId: string;
|
|
13
13
|
error: string | null;
|
|
14
14
|
};
|
|
15
|
-
export declare function createEventLoop({ store, db, discord, effects, recorder, analytics,
|
|
15
|
+
export declare function createEventLoop({ store, db, discord, effects, recorder, analytics, onRunEnded, onTranscriptDue, }: {
|
|
16
16
|
store: BotStore;
|
|
17
17
|
db: KimakiDb;
|
|
18
18
|
discord: Client;
|
|
19
19
|
effects: EffectsRunner;
|
|
20
20
|
recorder: EventRecorder;
|
|
21
21
|
analytics: Analytics;
|
|
22
|
-
messageTool: boolean;
|
|
23
22
|
onRunEnded: (run: RunEnded) => void;
|
|
24
23
|
onTranscriptDue: (sessionId: string) => void;
|
|
25
24
|
}): {
|