claudius-core 0.3.2 → 0.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/.claude/agents/designer.md +1 -1
- package/.claude/agents/developer.md +2 -2
- package/.claude/agents/{orchestrator.md → manager.md} +4 -4
- package/.claude/agents/product-engineer.md +3 -3
- package/.claude/hooks/context-inject.ts +1 -1
- package/.claude/skills/setup/references/claude-md-template.md +1 -1
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +1 -1
- package/dist/cli/studio.d.ts +15 -4
- package/dist/cli/studio.d.ts.map +1 -1
- package/dist/cli/studio.js +177 -60
- package/dist/cli/studio.js.map +1 -1
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -0
- package/dist/config.js.map +1 -1
- package/dist/daemon/index.d.ts +2 -0
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +1 -0
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/pulse.d.ts +5 -0
- package/dist/daemon/pulse.d.ts.map +1 -1
- package/dist/daemon/pulse.js +53 -1
- package/dist/daemon/pulse.js.map +1 -1
- package/dist/daemon/slim.d.ts +21 -0
- package/dist/daemon/slim.d.ts.map +1 -0
- package/dist/daemon/slim.js +93 -0
- package/dist/daemon/slim.js.map +1 -0
- package/dist/index.js +16 -7
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +57 -7
- package/dist/init.js.map +1 -1
- package/dist/lib/session-observer.d.ts +1 -1
- package/dist/lib/session-observer.js +1 -1
- package/dist/studio/assets/{_basePickBy-Bt0_cCEy.js → _basePickBy-DAOuQd_U.js} +1 -1
- package/dist/studio/assets/{_baseUniq-IN4ZSo1g.js → _baseUniq-nwA3_tYl.js} +1 -1
- package/dist/studio/assets/{arc-C7k_A7uG.js → arc-uDujf1LK.js} +1 -1
- package/dist/studio/assets/{architectureDiagram-VXUJARFQ-xMgeQMgl.js → architectureDiagram-VXUJARFQ-D_E_zXYM.js} +1 -1
- package/dist/studio/assets/{blockDiagram-VD42YOAC-C77_PDYX.js → blockDiagram-VD42YOAC-DiaqWuPa.js} +1 -1
- package/dist/studio/assets/{c4Diagram-YG6GDRKO-8N3H-fvR.js → c4Diagram-YG6GDRKO-YZnL58OY.js} +1 -1
- package/dist/studio/assets/channel-BX7DgAEO.js +1 -0
- package/dist/studio/assets/{chunk-4BX2VUAB-C2GWnCB4.js → chunk-4BX2VUAB-CXKqFp9J.js} +1 -1
- package/dist/studio/assets/{chunk-55IACEB6-AJ8DyLRf.js → chunk-55IACEB6-BzXZQvl6.js} +1 -1
- package/dist/studio/assets/{chunk-B4BG7PRW-BWMynEcZ.js → chunk-B4BG7PRW-D3wB-c7Z.js} +1 -1
- package/dist/studio/assets/{chunk-DI55MBZ5-pUlWRsPK.js → chunk-DI55MBZ5-CEgD3MsH.js} +1 -1
- package/dist/studio/assets/{chunk-FMBD7UC4-Xemklqge.js → chunk-FMBD7UC4-DvXfwtlZ.js} +1 -1
- package/dist/studio/assets/{chunk-QN33PNHL-CT9_DQgH.js → chunk-QN33PNHL-hBU3naD2.js} +1 -1
- package/dist/studio/assets/{chunk-QZHKN3VN-CpP3F3Oo.js → chunk-QZHKN3VN-BZPrpzn4.js} +1 -1
- package/dist/studio/assets/{chunk-TZMSLE5B-BIiGE0G2.js → chunk-TZMSLE5B-D07xmR6z.js} +1 -1
- package/dist/studio/assets/classDiagram-2ON5EDUG-BpvofyN6.js +1 -0
- package/dist/studio/assets/classDiagram-v2-WZHVMYZB-BpvofyN6.js +1 -0
- package/dist/studio/assets/clone-BVw_nM2b.js +1 -0
- package/dist/studio/assets/{cose-bilkent-S5V4N54A-C4PJH2I9.js → cose-bilkent-S5V4N54A-9GJL7-qP.js} +1 -1
- package/dist/studio/assets/{dagre-6UL2VRFP-DZ7Xg4d0.js → dagre-6UL2VRFP-DNQUvaBw.js} +1 -1
- package/dist/studio/assets/{diagram-PSM6KHXK-BvJ2ewhE.js → diagram-PSM6KHXK-DprGidRB.js} +1 -1
- package/dist/studio/assets/{diagram-QEK2KX5R-D-59pZWO.js → diagram-QEK2KX5R-CJDapLWy.js} +1 -1
- package/dist/studio/assets/{diagram-S2PKOQOG-BhC8_qUL.js → diagram-S2PKOQOG-BDb_ZSa5.js} +1 -1
- package/dist/studio/assets/{erDiagram-Q2GNP2WA-CI0Gr_tu.js → erDiagram-Q2GNP2WA-DDjuGTFT.js} +1 -1
- package/dist/studio/assets/{flowDiagram-NV44I4VS-BQD1z5kv.js → flowDiagram-NV44I4VS-ZFrL-N3I.js} +1 -1
- package/dist/studio/assets/{ganttDiagram-JELNMOA3-DYfK2sr6.js → ganttDiagram-JELNMOA3-gpeBUsNl.js} +1 -1
- package/dist/studio/assets/{gitGraphDiagram-V2S2FVAM-C4ORvqty.js → gitGraphDiagram-V2S2FVAM-CuVIbGEV.js} +1 -1
- package/dist/studio/assets/{graph-DYShLSIr.js → graph-DibLK-AH.js} +1 -1
- package/dist/studio/assets/{index-DOPfUcwt.js → index-CkTZrRvl.js} +2 -2
- package/dist/studio/assets/{infoDiagram-HS3SLOUP-DIWr6b63.js → infoDiagram-HS3SLOUP-BRSV5_41.js} +1 -1
- package/dist/studio/assets/{journeyDiagram-XKPGCS4Q-DkVc1cKx.js → journeyDiagram-XKPGCS4Q-BXD6VLs4.js} +1 -1
- package/dist/studio/assets/{kanban-definition-3W4ZIXB7-BBuQgo_m.js → kanban-definition-3W4ZIXB7-BsahUVbU.js} +1 -1
- package/dist/studio/assets/{layout-BXp3Pwn3.js → layout-BiztazVO.js} +1 -1
- package/dist/studio/assets/{linear-BrEaRJSm.js → linear-CACjeyHq.js} +1 -1
- package/dist/studio/assets/{mermaid.core-C7xpJtcY.js → mermaid.core-C_JSJsmu.js} +4 -4
- package/dist/studio/assets/{mindmap-definition-VGOIOE7T-CRv4RoeE.js → mindmap-definition-VGOIOE7T-C7DKq0Qo.js} +1 -1
- package/dist/studio/assets/{pieDiagram-ADFJNKIX-A3_dD8Ul.js → pieDiagram-ADFJNKIX-V3MNYWUB.js} +1 -1
- package/dist/studio/assets/{quadrantDiagram-AYHSOK5B-C-Ob8q4t.js → quadrantDiagram-AYHSOK5B-BujoECiF.js} +1 -1
- package/dist/studio/assets/{requirementDiagram-UZGBJVZJ-CFYwK6qK.js → requirementDiagram-UZGBJVZJ-BmW5gBof.js} +1 -1
- package/dist/studio/assets/{sankeyDiagram-TZEHDZUN-CHKoEaoD.js → sankeyDiagram-TZEHDZUN-C4EwtO5Y.js} +1 -1
- package/dist/studio/assets/{sequenceDiagram-WL72ISMW-5KsDKCZA.js → sequenceDiagram-WL72ISMW-CMmyX6xv.js} +1 -1
- package/dist/studio/assets/{stateDiagram-FKZM4ZOC-CUDrQbVL.js → stateDiagram-FKZM4ZOC-RipySKyS.js} +1 -1
- package/dist/studio/assets/stateDiagram-v2-4FDKWEC3-D7ICAwgM.js +1 -0
- package/dist/studio/assets/{timeline-definition-IT6M3QCI-DDrr2aO3.js → timeline-definition-IT6M3QCI-CzZtQvXl.js} +1 -1
- package/dist/studio/assets/{treemap-GDKQZRPO-pYnnYnVt.js → treemap-GDKQZRPO-JZVXiD79.js} +1 -1
- package/dist/studio/assets/{xychartDiagram-PRI3JC2R-J9D-givh.js → xychartDiagram-PRI3JC2R-Vo68V-de.js} +1 -1
- package/dist/studio/index.html +1 -1
- package/dist/templates/config.yaml +6 -1
- package/dist/templates/templates/config.yaml +6 -1
- package/global/agents/orchestrator.md +63 -0
- package/package.json +2 -7
- package/dist/studio/assets/channel-F_2TRsg2.js +0 -1
- package/dist/studio/assets/classDiagram-2ON5EDUG-DSKBGt0u.js +0 -1
- package/dist/studio/assets/classDiagram-v2-WZHVMYZB-DSKBGt0u.js +0 -1
- package/dist/studio/assets/clone-Bp6pbpO7.js +0 -1
- package/dist/studio/assets/stateDiagram-v2-4FDKWEC3-GwciB8H1.js +0 -1
|
@@ -44,7 +44,7 @@ Read, Write, Edit, Bash, Glob, Grep, Agent (for research subagents), AskUserQues
|
|
|
44
44
|
## What You Don't Do
|
|
45
45
|
- Implementation (that's the developer)
|
|
46
46
|
- Code review (that's the reviewer)
|
|
47
|
-
- Scope routing (that's the
|
|
47
|
+
- Scope routing (that's the manager)
|
|
48
48
|
- Product decisions (that's the product skill)
|
|
49
49
|
- Architecture decisions (that's the solution skill)
|
|
50
50
|
|
|
@@ -57,8 +57,8 @@ Read, Write, Edit, Bash, Glob, Grep — full file system access for implementati
|
|
|
57
57
|
- **Validate before declaring done.** `bun test`, `bun run lint`, and `bun run build` must all pass. Never push code that fails lint or build.
|
|
58
58
|
|
|
59
59
|
## What You Don't Do
|
|
60
|
-
- Assess scope or make routing decisions (that's the
|
|
61
|
-
- Create PRs or manage GitHub issues (that's the
|
|
60
|
+
- Assess scope or make routing decisions (that's the manager)
|
|
61
|
+
- Create PRs or manage GitHub issues (that's the manager)
|
|
62
62
|
- Review code quality (that's the reviewer)
|
|
63
63
|
- Make architecture decisions (escalate to human)
|
|
64
64
|
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: manager
|
|
3
3
|
description: Routes work, spawns developer + reviewer teams, ensures quality delivery. Use for implementing issues via /build.
|
|
4
4
|
model: sonnet
|
|
5
5
|
memory: user
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
#
|
|
8
|
+
# Manager Agent
|
|
9
9
|
|
|
10
|
-
You are the Claudius
|
|
10
|
+
You are the Claudius manager. You route all work, spawn developer + reviewer as subagents, and ensure quality delivery.
|
|
11
11
|
|
|
12
12
|
## Identity
|
|
13
|
-
When asked who you are: "I am the Claudius
|
|
13
|
+
When asked who you are: "I am the Claudius manager. I route work, coordinate agents, and ensure quality delivery within human-set constraints."
|
|
14
14
|
|
|
15
15
|
## Responsibilities
|
|
16
16
|
1. Read issue/request and assess scope
|
|
@@ -8,7 +8,7 @@ memory: user
|
|
|
8
8
|
|
|
9
9
|
# Product-Engineer Agent
|
|
10
10
|
|
|
11
|
-
You are the Claudius product-engineer. You own the integrity of all product and engineering artifacts across the lifecycle. The
|
|
11
|
+
You are the Claudius product-engineer. You own the integrity of all product and engineering artifacts across the lifecycle. The manager delivers; you ensure what's being delivered is coherent.
|
|
12
12
|
|
|
13
13
|
## Identity
|
|
14
14
|
When asked who you are: "I am the Claudius product-engineer. I own artifact integrity across the product lifecycle — detecting staleness, surfacing gaps, and ensuring coherence between vision, design, and engineering."
|
|
@@ -91,7 +91,7 @@ Generated: {timestamp}
|
|
|
91
91
|
For each gap, create a GitHub issue labeled `ready`:
|
|
92
92
|
- Title: `fix(design): {gap description}`
|
|
93
93
|
- Body: which artifacts are affected, what needs to change
|
|
94
|
-
- Label: `ready` so
|
|
94
|
+
- Label: `ready` so manager can pick it up
|
|
95
95
|
|
|
96
96
|
## Process
|
|
97
97
|
|
|
@@ -109,7 +109,7 @@ For each gap, create a GitHub issue labeled `ready`:
|
|
|
109
109
|
- After `/design` completes — full integrity check
|
|
110
110
|
- After `/solution` completes — check design system alignment
|
|
111
111
|
- On `/pulse` — periodic integrity sweep
|
|
112
|
-
- Manually via
|
|
112
|
+
- Manually via manager
|
|
113
113
|
|
|
114
114
|
## Rules
|
|
115
115
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Trigger: SubagentStart
|
|
5
5
|
*
|
|
6
6
|
* Injects gap-reporting format, skill observation format, and cost
|
|
7
|
-
* awareness into every subagent spawned by the
|
|
7
|
+
* awareness into every subagent spawned by the manager.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import { readFileSync, existsSync } from "node:fs";
|
|
@@ -64,7 +64,7 @@ Behavioral rules are in `.claude/rules/` — loaded automatically into every CC
|
|
|
64
64
|
|
|
65
65
|
| Agent | Role |
|
|
66
66
|
|-------|------|
|
|
67
|
-
| `
|
|
67
|
+
| `manager` | Routes work, spawns builder + reviewer teams |
|
|
68
68
|
| `developer` | TDD implementation specialist |
|
|
69
69
|
| `reviewer` | Quality gate for code changes |
|
|
70
70
|
| `designer` | Experience + visual design |
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
"name": "claudius",
|
|
22
22
|
"source": "./",
|
|
23
23
|
"description": "Autonomous orchestration layer for Claude Code — agents, skills, hooks, and heartbeat daemon for round-the-clock development",
|
|
24
|
-
"version": "0.
|
|
24
|
+
"version": "0.5.0",
|
|
25
25
|
"strict": true,
|
|
26
26
|
"category": "development"
|
|
27
27
|
}
|
|
28
28
|
],
|
|
29
|
-
"version": "0.
|
|
29
|
+
"version": "0.5.0"
|
|
30
30
|
}
|
package/README.md
CHANGED
|
@@ -77,7 +77,7 @@ All plugin components live under `.claude/` — single source of truth for both
|
|
|
77
77
|
|
|
78
78
|
```
|
|
79
79
|
.claude/
|
|
80
|
-
agents/ #
|
|
80
|
+
agents/ # manager, builder, reviewer
|
|
81
81
|
skills/ # product, solution, spec, backlog, build, pulse, reflect, review
|
|
82
82
|
hooks/ # guardian, cost-watch, context-inject, etc.
|
|
83
83
|
commands/ # slash command definitions
|
package/dist/cli/studio.d.ts
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* CLI
|
|
2
|
+
* CLI commands for Claudia Studio:
|
|
3
|
+
* claudius browse — Start studio + open browser (foreground, no slim)
|
|
4
|
+
* claudius studio up — Start studio + slim .test domain (foreground)
|
|
5
|
+
* claudius studio down — Stop studio or remove .test domain
|
|
3
6
|
*/
|
|
4
|
-
export interface
|
|
7
|
+
export interface StudioHandle {
|
|
5
8
|
port: number;
|
|
6
|
-
|
|
7
|
-
agentationPort?: number;
|
|
9
|
+
stop(): void;
|
|
8
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Start the studio HTTP server without opening a browser or registering signal handlers.
|
|
13
|
+
* Used by both the daemon (auto-start) and `claudius studio up` (standalone).
|
|
14
|
+
*/
|
|
15
|
+
export declare function startStudioServer(projectDir: string, opts?: {
|
|
16
|
+
port?: number;
|
|
17
|
+
}): Promise<StudioHandle>;
|
|
18
|
+
export declare function cmdStudioUp(args: string[]): Promise<void>;
|
|
19
|
+
export declare function cmdStudioDown(): void;
|
|
9
20
|
export declare function cmdBrowse(args: string[]): Promise<void>;
|
|
10
21
|
//# sourceMappingURL=studio.d.ts.map
|
package/dist/cli/studio.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../src/cli/studio.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../src/cli/studio.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,IAAI,IAAI,CAAC;CACb;AA4DD;;;GAGG;AACH,wBAAsB,iBAAiB,CACtC,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACtB,OAAO,CAAC,YAAY,CAAC,CA+EvB;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2E/D;AAED,wBAAgB,aAAa,IAAI,IAAI,CA2CpC;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwC7D"}
|
package/dist/cli/studio.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* CLI
|
|
2
|
+
* CLI commands for Claudia Studio:
|
|
3
|
+
* claudius browse — Start studio + open browser (foreground, no slim)
|
|
4
|
+
* claudius studio up — Start studio + slim .test domain (foreground)
|
|
5
|
+
* claudius studio down — Stop studio or remove .test domain
|
|
3
6
|
*/
|
|
4
|
-
import {
|
|
7
|
+
import { execSync } from "node:child_process";
|
|
8
|
+
import { existsSync, readFileSync, unlinkSync } from "node:fs";
|
|
5
9
|
import { createServer } from "node:net";
|
|
6
10
|
import { resolve } from "node:path";
|
|
11
|
+
import { loadConfig } from "../config.js";
|
|
7
12
|
/**
|
|
8
13
|
* Check if a port is already accepting connections.
|
|
9
14
|
*/
|
|
@@ -37,31 +42,37 @@ function findAvailablePort() {
|
|
|
37
42
|
server.on("error", reject);
|
|
38
43
|
});
|
|
39
44
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Start agentation-mcp HTTP server for visual feedback annotations.
|
|
47
|
+
* Spawns as a background child process.
|
|
48
|
+
*/
|
|
49
|
+
let agentationProcess = null;
|
|
50
|
+
async function startAgentationServer(port) {
|
|
51
|
+
const { spawn } = await import("node:child_process");
|
|
52
|
+
return new Promise((resolve, reject) => {
|
|
53
|
+
const child = spawn("npx", ["-y", "agentation-mcp", "server", "--port", String(port)], {
|
|
54
|
+
stdio: "ignore",
|
|
55
|
+
detached: false,
|
|
56
|
+
});
|
|
57
|
+
agentationProcess = child;
|
|
58
|
+
child.on("error", reject);
|
|
59
|
+
// Give it a moment to start
|
|
60
|
+
setTimeout(() => resolve(), 1000);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Start the studio HTTP server without opening a browser or registering signal handlers.
|
|
65
|
+
* Used by both the daemon (auto-start) and `claudius studio up` (standalone).
|
|
66
|
+
*/
|
|
67
|
+
export async function startStudioServer(projectDir, opts) {
|
|
48
68
|
let port;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const parsed = Number.parseInt(args[portIdx + 1], 10);
|
|
52
|
-
if (!Number.isNaN(parsed) && parsed > 0) {
|
|
53
|
-
port = parsed;
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
port = await findAvailablePort();
|
|
57
|
-
}
|
|
69
|
+
if (opts?.port && opts.port > 0) {
|
|
70
|
+
port = opts.port;
|
|
58
71
|
}
|
|
59
72
|
else {
|
|
60
73
|
port = await findAvailablePort();
|
|
61
74
|
}
|
|
62
|
-
// Resolve agentation port
|
|
63
|
-
// fall back to starting our own. This ensures the browser toolbar and
|
|
64
|
-
// Claude Code MCP tools share the same agentation-mcp instance.
|
|
75
|
+
// Resolve agentation port
|
|
65
76
|
const AGENTATION_DEFAULT_PORT = 4747;
|
|
66
77
|
let agentationPort;
|
|
67
78
|
try {
|
|
@@ -75,30 +86,8 @@ export async function cmdBrowse(args) {
|
|
|
75
86
|
}
|
|
76
87
|
}
|
|
77
88
|
catch {
|
|
78
|
-
// Agentation is optional — continue without it
|
|
79
89
|
agentationPort = undefined;
|
|
80
90
|
}
|
|
81
|
-
await startStudio({ port, projectDir, agentationPort });
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Start agentation-mcp HTTP server for visual feedback annotations.
|
|
85
|
-
* Spawns as a background child process.
|
|
86
|
-
*/
|
|
87
|
-
let agentationProcess = null;
|
|
88
|
-
async function startAgentationServer(port) {
|
|
89
|
-
const { spawn } = await import("node:child_process");
|
|
90
|
-
return new Promise((resolve, reject) => {
|
|
91
|
-
const child = spawn("npx", ["-y", "agentation-mcp", "server", "--port", String(port)], {
|
|
92
|
-
stdio: "ignore",
|
|
93
|
-
detached: false,
|
|
94
|
-
});
|
|
95
|
-
agentationProcess = child;
|
|
96
|
-
child.on("error", reject);
|
|
97
|
-
// Give it a moment to start
|
|
98
|
-
setTimeout(() => resolve(), 1000);
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
async function startStudio({ port, projectDir, agentationPort }) {
|
|
102
91
|
// Dynamic imports to avoid loading Hono at CLI parse time
|
|
103
92
|
const { createStudioApp } = await import("../studio-server/index.js");
|
|
104
93
|
const { ClaudiusWatcher } = await import("../studio-server/watcher.js");
|
|
@@ -107,16 +96,13 @@ async function startStudio({ port, projectDir, agentationPort }) {
|
|
|
107
96
|
const watcher = new ClaudiusWatcher(projectDir);
|
|
108
97
|
watcher.start();
|
|
109
98
|
const app = createStudioApp(projectDir, watcher, { agentationPort });
|
|
110
|
-
// Serve pre-built studio static assets
|
|
111
99
|
const studioDistPath = resolve(import.meta.dirname, "../../dist/studio");
|
|
112
100
|
const studioAssetsExist = existsSync(studioDistPath);
|
|
113
101
|
if (studioAssetsExist) {
|
|
114
|
-
// Serve static files from dist/studio/
|
|
115
102
|
app.use("/assets/*", serveStatic({
|
|
116
103
|
root: resolve(studioDistPath, ".."),
|
|
117
104
|
rewriteRequestPath: (p) => `/studio${p}`,
|
|
118
105
|
}));
|
|
119
|
-
// SPA fallback — serve index.html for all non-API routes
|
|
120
106
|
app.get("*", async (c) => {
|
|
121
107
|
const { readFileSync } = await import("node:fs");
|
|
122
108
|
const indexPath = resolve(studioDistPath, "index.html");
|
|
@@ -132,34 +118,165 @@ async function startStudio({ port, projectDir, agentationPort }) {
|
|
|
132
118
|
return c.text("Studio not built. Run: cd studio && bun run build\n\nFor development, run the Vite dev server: cd studio && bun run dev", 500);
|
|
133
119
|
});
|
|
134
120
|
}
|
|
135
|
-
const
|
|
121
|
+
const server = serve({ fetch: app.fetch, port });
|
|
122
|
+
const localAgentationProcess = agentationProcess; // capture module-level ref
|
|
123
|
+
return {
|
|
124
|
+
port,
|
|
125
|
+
stop() {
|
|
126
|
+
watcher.stop();
|
|
127
|
+
server.close();
|
|
128
|
+
if (localAgentationProcess) {
|
|
129
|
+
try {
|
|
130
|
+
localAgentationProcess.kill();
|
|
131
|
+
}
|
|
132
|
+
catch { }
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
export async function cmdStudioUp(args) {
|
|
138
|
+
const projectDir = process.cwd();
|
|
139
|
+
const configPath = resolve(projectDir, ".claudius/config.yaml");
|
|
140
|
+
if (!existsSync(configPath)) {
|
|
141
|
+
console.log("No .claudius/config.yaml found. Run `claudius init` first.");
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
const config = loadConfig(configPath);
|
|
145
|
+
// Parse --port flag
|
|
146
|
+
let portOpt;
|
|
147
|
+
const portIdx = args.indexOf("--port");
|
|
148
|
+
if (portIdx !== -1 && args[portIdx + 1]) {
|
|
149
|
+
const parsed = Number.parseInt(args[portIdx + 1], 10);
|
|
150
|
+
if (!Number.isNaN(parsed) && parsed > 0)
|
|
151
|
+
portOpt = parsed;
|
|
152
|
+
}
|
|
153
|
+
const noOpen = args.includes("--no-open");
|
|
154
|
+
const handle = await startStudioServer(projectDir, { port: portOpt });
|
|
155
|
+
const port = handle.port;
|
|
156
|
+
// Try slim
|
|
157
|
+
const { isSlimInstalled, startSlimDomain } = await import("../daemon/slim.js");
|
|
158
|
+
const { projectSlug } = await import("../daemon/install.js");
|
|
159
|
+
let slimHandle = null;
|
|
160
|
+
let url = `http://localhost:${port}`;
|
|
161
|
+
const domainName = `${projectSlug(projectDir)}-studio`;
|
|
162
|
+
let domain = "";
|
|
163
|
+
if (config.studio?.slimEnabled !== false && isSlimInstalled()) {
|
|
164
|
+
slimHandle = startSlimDomain(domainName, port);
|
|
165
|
+
if (slimHandle) {
|
|
166
|
+
url = slimHandle.url;
|
|
167
|
+
domain = domainName;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
// Write studio.pid
|
|
171
|
+
const pidPath = resolve(projectDir, ".claudius/studio.pid");
|
|
172
|
+
const { writeFileSync } = await import("node:fs");
|
|
173
|
+
writeFileSync(pidPath, JSON.stringify({ pid: process.pid, port, url, domain, source: "standalone" }));
|
|
174
|
+
console.log("");
|
|
175
|
+
console.log(" ● Claudia Studio");
|
|
176
|
+
console.log("");
|
|
177
|
+
console.log(` URL: ${url}`);
|
|
178
|
+
console.log(` Project: ${projectDir}`);
|
|
179
|
+
console.log("");
|
|
180
|
+
console.log(" Press Ctrl+C to stop.");
|
|
181
|
+
console.log("");
|
|
182
|
+
if (!noOpen)
|
|
183
|
+
openBrowser(url);
|
|
184
|
+
const shutdown = () => {
|
|
185
|
+
console.log("\nShutting down Claudia Studio...");
|
|
186
|
+
slimHandle?.stop();
|
|
187
|
+
handle.stop();
|
|
188
|
+
try {
|
|
189
|
+
if (existsSync(pidPath))
|
|
190
|
+
unlinkSync(pidPath);
|
|
191
|
+
}
|
|
192
|
+
catch { }
|
|
193
|
+
process.exit(0);
|
|
194
|
+
};
|
|
195
|
+
process.on("SIGINT", shutdown);
|
|
196
|
+
process.on("SIGTERM", shutdown);
|
|
197
|
+
// Keep process alive
|
|
198
|
+
await new Promise(() => { }); // Never resolves — process.exit() from shutdown
|
|
199
|
+
}
|
|
200
|
+
export function cmdStudioDown() {
|
|
201
|
+
const projectDir = process.cwd();
|
|
202
|
+
const pidPath = resolve(projectDir, ".claudius/studio.pid");
|
|
203
|
+
if (!existsSync(pidPath)) {
|
|
204
|
+
console.log("Studio is not running.");
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
let info;
|
|
208
|
+
try {
|
|
209
|
+
info = JSON.parse(readFileSync(pidPath, "utf-8"));
|
|
210
|
+
}
|
|
211
|
+
catch {
|
|
212
|
+
console.log("Could not read studio.pid. Removing stale file.");
|
|
213
|
+
try {
|
|
214
|
+
unlinkSync(pidPath);
|
|
215
|
+
}
|
|
216
|
+
catch { }
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
if (info.source === "daemon") {
|
|
220
|
+
// Daemon-managed: only remove slim domain, leave daemon running
|
|
221
|
+
console.log(`Removing .test domain for daemon-managed studio (${info.url})...`);
|
|
222
|
+
const domainName = info.domain ?? info.url.replace("https://", "").replace(".test", "");
|
|
223
|
+
try {
|
|
224
|
+
execSync(`slim stop ${domainName}`, { stdio: "pipe" });
|
|
225
|
+
console.log(` Removed slim domain: ${info.url}`);
|
|
226
|
+
}
|
|
227
|
+
catch {
|
|
228
|
+
console.log(" (slim stop failed or slim not installed)");
|
|
229
|
+
}
|
|
230
|
+
console.log(" Studio server continues on daemon. Use `claudius pulse stop` to stop daemon.");
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
// Standalone: kill the process
|
|
234
|
+
try {
|
|
235
|
+
process.kill(info.pid, "SIGTERM");
|
|
236
|
+
console.log(`Stopped studio (pid ${info.pid}).`);
|
|
237
|
+
}
|
|
238
|
+
catch {
|
|
239
|
+
console.log("Studio process not found (already stopped?).");
|
|
240
|
+
}
|
|
241
|
+
try {
|
|
242
|
+
unlinkSync(pidPath);
|
|
243
|
+
}
|
|
244
|
+
catch { }
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
export async function cmdBrowse(args) {
|
|
248
|
+
const projectDir = process.cwd();
|
|
249
|
+
const configPath = resolve(projectDir, ".claudius/config.yaml");
|
|
250
|
+
if (!existsSync(configPath)) {
|
|
251
|
+
console.log("No .claudius/config.yaml found. Run `claudius init` first.");
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
let portOpt;
|
|
255
|
+
const portIdx = args.indexOf("--port");
|
|
256
|
+
if (portIdx !== -1 && args[portIdx + 1]) {
|
|
257
|
+
const parsed = Number.parseInt(args[portIdx + 1], 10);
|
|
258
|
+
if (!Number.isNaN(parsed) && parsed > 0)
|
|
259
|
+
portOpt = parsed;
|
|
260
|
+
}
|
|
261
|
+
const handle = await startStudioServer(projectDir, { port: portOpt });
|
|
262
|
+
const url = `http://localhost:${handle.port}`;
|
|
136
263
|
console.log("");
|
|
137
264
|
console.log(" ● Claudia Studio");
|
|
138
265
|
console.log("");
|
|
139
266
|
console.log(` URL: ${url}`);
|
|
140
267
|
console.log(` Project: ${projectDir}`);
|
|
141
|
-
console.log(` Watcher: ${watcher.isWatching ? "active" : "inactive"}`);
|
|
142
|
-
console.log(` Agentation: ${agentationPort ? `port ${agentationPort}` : "not available"}`);
|
|
143
268
|
console.log("");
|
|
144
269
|
console.log(" Press Ctrl+C to stop.");
|
|
145
270
|
console.log("");
|
|
146
|
-
// Open browser
|
|
147
271
|
openBrowser(url);
|
|
148
|
-
// Start server
|
|
149
|
-
const server = serve({ fetch: app.fetch, port });
|
|
150
|
-
// Handle shutdown
|
|
151
272
|
const shutdown = () => {
|
|
152
273
|
console.log("\nShutting down Claudia Studio...");
|
|
153
|
-
|
|
154
|
-
server.close();
|
|
155
|
-
if (agentationProcess) {
|
|
156
|
-
agentationProcess.kill();
|
|
157
|
-
agentationProcess = null;
|
|
158
|
-
}
|
|
274
|
+
handle.stop();
|
|
159
275
|
process.exit(0);
|
|
160
276
|
};
|
|
161
277
|
process.on("SIGINT", shutdown);
|
|
162
278
|
process.on("SIGTERM", shutdown);
|
|
279
|
+
await new Promise(() => { });
|
|
163
280
|
}
|
|
164
281
|
function openBrowser(url) {
|
|
165
282
|
import("node:child_process").then(({ exec }) => {
|
package/dist/cli/studio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"studio.js","sourceRoot":"","sources":["../../src/cli/studio.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"studio.js","sourceRoot":"","sources":["../../src/cli/studio.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,MAAM,WAAW,cAAc;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;IAChC,MAAM,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAClC,QAAQ,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,QAAQ,EAAE;QACT,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,KAAK,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QACnD,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC7B,cAAc,EAAE,OAAO,CAAC;QACxB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,QAAQ,EAAE;YACT,aAAa,EAAE,MAAM,CAAC;YACtB,WAAW,EAAE,MAAM,CAAC;YACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;YAC5B,qBAAqB,EAAE,MAAM,EAAE,CAAC;YAChC,kBAAkB,EAAE,MAAM,CAAC;SAC3B,CAAC;KACF,CAAC;IACF,IAAI,EAAE;QACL,OAAO,EAAE,OAAO,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,KAAK,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,KAAK,EAAE,MAAM,EAAE,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,MAAM,WAAW,cAAc;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;IAChC,MAAM,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAClC,QAAQ,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,QAAQ,EAAE;QACT,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,KAAK,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QACnD,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC7B,cAAc,EAAE,OAAO,CAAC;QACxB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,QAAQ,EAAE;YACT,aAAa,EAAE,MAAM,CAAC;YACtB,WAAW,EAAE,MAAM,CAAC;YACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;YAC5B,qBAAqB,EAAE,MAAM,EAAE,CAAC;YAChC,kBAAkB,EAAE,MAAM,CAAC;SAC3B,CAAC;KACF,CAAC;IACF,IAAI,EAAE;QACL,OAAO,EAAE,OAAO,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,MAAM,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,EAAE,OAAO,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;KACb,CAAC;IACF,KAAK,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,KAAK,EAAE,MAAM,EAAE,CAAC;CAChB;AA0DD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAevD;AAED,wBAAgB,gBAAgB,IAAI,cAAc,CAEjD"}
|
package/dist/config.js
CHANGED
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAE7B,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/index.d.ts
CHANGED
|
@@ -12,4 +12,6 @@ export { acquireLock, releaseLock, getLockInfo, stopRunningDaemon } from "./lock
|
|
|
12
12
|
export type { LockInfo } from "./lock.js";
|
|
13
13
|
export { loadJobs, loadLastRuns, isDue, executeJob, logRun, getDueJobs, nextRunTime, parseFrontmatter, parseCron, fieldMatches, checkGuardrails, } from "./scheduler.js";
|
|
14
14
|
export type { JobDefinition, JobRun } from "./scheduler.js";
|
|
15
|
+
export { isSlimInstalled, startSlimDomain, stopSlimDomain } from "./slim.js";
|
|
16
|
+
export type { SlimHandle } from "./slim.js";
|
|
15
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACN,UAAU,EACV,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,cAAc,GACd,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACrF,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACN,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,eAAe,GACf,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACN,UAAU,EACV,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,cAAc,GACd,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACrF,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACN,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,eAAe,GACf,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC7E,YAAY,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/daemon/index.js
CHANGED
|
@@ -7,4 +7,5 @@ export { scoreIssue, pickBestIssue, filterUnblocked, clusterMomentumBonus, pickB
|
|
|
7
7
|
export { installDaemon, uninstallDaemon } from "./install.js";
|
|
8
8
|
export { acquireLock, releaseLock, getLockInfo, stopRunningDaemon } from "./lock.js";
|
|
9
9
|
export { loadJobs, loadLastRuns, isDue, executeJob, logRun, getDueJobs, nextRunTime, parseFrontmatter, parseCron, fieldMatches, checkGuardrails, } from "./scheduler.js";
|
|
10
|
+
export { isSlimInstalled, startSlimDomain, stopSlimDomain } from "./slim.js";
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
package/dist/daemon/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE5F,OAAO,EACN,UAAU,EACV,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,cAAc,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAErF,OAAO,EACN,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,eAAe,GACf,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE5F,OAAO,EACN,UAAU,EACV,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,cAAc,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAErF,OAAO,EACN,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,eAAe,GACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/daemon/pulse.d.ts
CHANGED
|
@@ -20,6 +20,9 @@ export declare class PulseEngine {
|
|
|
20
20
|
private config;
|
|
21
21
|
private projectDir;
|
|
22
22
|
private running;
|
|
23
|
+
private studioHandle;
|
|
24
|
+
private slimHandle;
|
|
25
|
+
private studioPidPath;
|
|
23
26
|
constructor(config: ClaudiusConfig, projectDir: string);
|
|
24
27
|
/** Start the scheduler-based daemon loop. */
|
|
25
28
|
start(): Promise<void>;
|
|
@@ -38,6 +41,8 @@ export declare class PulseEngine {
|
|
|
38
41
|
* Falls back to intervalMinutes if no jobs are scheduled.
|
|
39
42
|
*/
|
|
40
43
|
private msUntilNextJob;
|
|
44
|
+
private startStudio;
|
|
45
|
+
private stopStudio;
|
|
41
46
|
private sleep;
|
|
42
47
|
}
|
|
43
48
|
//# sourceMappingURL=pulse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pulse.d.ts","sourceRoot":"","sources":["../../src/daemon/pulse.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,KAAK,cAAc,EAAc,MAAM,cAAc,CAAC;AAI/D,OAAO,EACN,KAAK,MAAM,EAOX,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,OAAO,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;CAC9C;AAED,qBAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"pulse.d.ts","sourceRoot":"","sources":["../../src/daemon/pulse.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,KAAK,cAAc,EAAc,MAAM,cAAc,CAAC;AAI/D,OAAO,EACN,KAAK,MAAM,EAOX,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,OAAO,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;CAC9C;AAED,qBAAa,WAAW;IAOtB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAPnB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,UAAU,CAA8D;IAChF,OAAO,CAAC,aAAa,CAAS;gBAGrB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM;IAK3B,6CAA6C;IACvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B5B,IAAI,IAAI,IAAI;IAKZ,yDAAyD;IACzD,WAAW,IAAI,MAAM;IAkCrB,qEAAqE;IACrE,SAAS,IAAI,iBAAiB;IA8I9B,kCAAkC;IAClC,OAAO,CAAC,UAAU;IA+BlB,OAAO,CAAC,YAAY;IAWpB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;YAgBR,WAAW;IAuCzB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,KAAK;CAGb"}
|