dot-agents 0.5.0 → 0.7.4

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 (112) hide show
  1. package/README.md +239 -122
  2. package/dist/cli/commands/channel.d.ts +19 -0
  3. package/dist/cli/commands/channel.d.ts.map +1 -1
  4. package/dist/cli/commands/channel.js +220 -13
  5. package/dist/cli/commands/channel.js.map +1 -1
  6. package/dist/cli/commands/check.d.ts.map +1 -1
  7. package/dist/cli/commands/check.js +61 -1
  8. package/dist/cli/commands/check.js.map +1 -1
  9. package/dist/cli/commands/index.d.ts +2 -0
  10. package/dist/cli/commands/index.d.ts.map +1 -1
  11. package/dist/cli/commands/index.js +2 -0
  12. package/dist/cli/commands/index.js.map +1 -1
  13. package/dist/cli/commands/personas.d.ts +3 -0
  14. package/dist/cli/commands/personas.d.ts.map +1 -0
  15. package/dist/cli/commands/personas.js +402 -0
  16. package/dist/cli/commands/personas.js.map +1 -0
  17. package/dist/cli/commands/projects.d.ts +3 -0
  18. package/dist/cli/commands/projects.d.ts.map +1 -0
  19. package/dist/cli/commands/projects.js +138 -0
  20. package/dist/cli/commands/projects.js.map +1 -0
  21. package/dist/cli/commands/run.d.ts.map +1 -1
  22. package/dist/cli/commands/run.js +4 -5
  23. package/dist/cli/commands/run.js.map +1 -1
  24. package/dist/cli/index.js +3 -11
  25. package/dist/cli/index.js.map +1 -1
  26. package/dist/cli/lib/runner.d.ts +2 -0
  27. package/dist/cli/lib/runner.d.ts.map +1 -1
  28. package/dist/cli/lib/runner.js +67 -8
  29. package/dist/cli/lib/runner.js.map +1 -1
  30. package/dist/daemon/api/channels.d.ts +6 -0
  31. package/dist/daemon/api/channels.d.ts.map +1 -0
  32. package/dist/daemon/api/channels.js +143 -0
  33. package/dist/daemon/api/channels.js.map +1 -0
  34. package/dist/daemon/api/server.d.ts.map +1 -1
  35. package/dist/daemon/api/server.js +56 -0
  36. package/dist/daemon/api/server.js.map +1 -1
  37. package/dist/daemon/daemon.d.ts +28 -3
  38. package/dist/daemon/daemon.d.ts.map +1 -1
  39. package/dist/daemon/daemon.js +142 -26
  40. package/dist/daemon/daemon.js.map +1 -1
  41. package/dist/daemon/lib/executor.d.ts +0 -4
  42. package/dist/daemon/lib/executor.d.ts.map +1 -1
  43. package/dist/daemon/lib/executor.js +48 -135
  44. package/dist/daemon/lib/executor.js.map +1 -1
  45. package/dist/daemon/lib/index.d.ts +1 -0
  46. package/dist/daemon/lib/index.d.ts.map +1 -1
  47. package/dist/daemon/lib/index.js +1 -0
  48. package/dist/daemon/lib/index.js.map +1 -1
  49. package/dist/daemon/lib/safeguards.d.ts +68 -0
  50. package/dist/daemon/lib/safeguards.d.ts.map +1 -0
  51. package/dist/daemon/lib/safeguards.js +135 -0
  52. package/dist/daemon/lib/safeguards.js.map +1 -0
  53. package/dist/daemon/lib/watcher.d.ts.map +1 -1
  54. package/dist/daemon/lib/watcher.js +48 -8
  55. package/dist/daemon/lib/watcher.js.map +1 -1
  56. package/dist/daemon/web/app.js +433 -0
  57. package/dist/daemon/web/index.html +68 -0
  58. package/dist/daemon/web/styles.css +452 -0
  59. package/dist/lib/channel.d.ts +53 -1
  60. package/dist/lib/channel.d.ts.map +1 -1
  61. package/dist/lib/channel.js +221 -30
  62. package/dist/lib/channel.js.map +1 -1
  63. package/dist/lib/daemon-status.d.ts +26 -0
  64. package/dist/lib/daemon-status.d.ts.map +1 -0
  65. package/dist/lib/daemon-status.js +64 -0
  66. package/dist/lib/daemon-status.js.map +1 -0
  67. package/dist/lib/environment.d.ts +88 -0
  68. package/dist/lib/environment.d.ts.map +1 -0
  69. package/dist/lib/environment.js +238 -0
  70. package/dist/lib/environment.js.map +1 -0
  71. package/dist/lib/frontmatter.d.ts +8 -0
  72. package/dist/lib/frontmatter.d.ts.map +1 -1
  73. package/dist/lib/frontmatter.js +16 -3
  74. package/dist/lib/frontmatter.js.map +1 -1
  75. package/dist/lib/index.d.ts +7 -0
  76. package/dist/lib/index.d.ts.map +1 -1
  77. package/dist/lib/index.js +7 -0
  78. package/dist/lib/index.js.map +1 -1
  79. package/dist/lib/invoke.d.ts +31 -0
  80. package/dist/lib/invoke.d.ts.map +1 -0
  81. package/dist/lib/invoke.js +170 -0
  82. package/dist/lib/invoke.js.map +1 -0
  83. package/dist/lib/persona.d.ts +22 -1
  84. package/dist/lib/persona.d.ts.map +1 -1
  85. package/dist/lib/persona.js +176 -31
  86. package/dist/lib/persona.js.map +1 -1
  87. package/dist/lib/processor.d.ts +58 -0
  88. package/dist/lib/processor.d.ts.map +1 -0
  89. package/dist/lib/processor.js +149 -0
  90. package/dist/lib/processor.js.map +1 -0
  91. package/dist/lib/registry.d.ts +109 -0
  92. package/dist/lib/registry.d.ts.map +1 -0
  93. package/dist/lib/registry.js +192 -0
  94. package/dist/lib/registry.js.map +1 -0
  95. package/dist/lib/session-thread.d.ts +75 -0
  96. package/dist/lib/session-thread.d.ts.map +1 -0
  97. package/dist/lib/session-thread.js +132 -0
  98. package/dist/lib/session-thread.js.map +1 -0
  99. package/dist/lib/session.d.ts +150 -0
  100. package/dist/lib/session.d.ts.map +1 -0
  101. package/dist/lib/session.js +183 -0
  102. package/dist/lib/session.js.map +1 -0
  103. package/dist/lib/types/channel.d.ts +4 -0
  104. package/dist/lib/types/channel.d.ts.map +1 -1
  105. package/dist/lib/types/persona.d.ts +49 -6
  106. package/dist/lib/types/persona.d.ts.map +1 -1
  107. package/dist/lib/validation/persona.d.ts.map +1 -1
  108. package/dist/lib/validation/persona.js +41 -4
  109. package/dist/lib/validation/persona.js.map +1 -1
  110. package/internal/personas/_base/PERSONA.md +222 -39
  111. package/internal/skills/channels/list/SKILL.md +76 -0
  112. package/package.json +15 -5
@@ -0,0 +1,183 @@
1
+ import { mkdir, writeFile, readFile, readdir, stat } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { parseFrontmatter, stringifyFrontmatter } from "./frontmatter.js";
4
+ /**
5
+ * Generate session ID from timestamp
6
+ * Format: YYYY-MM-DDTHH-MM-SS (sortable, filesystem-safe)
7
+ */
8
+ export function generateSessionId(date = new Date()) {
9
+ return date.toISOString()
10
+ .replace(/:/g, "-")
11
+ .split(".")[0]; // e.g., "2025-12-22T15-30-45"
12
+ }
13
+ /**
14
+ * Parse session ID back to Date
15
+ */
16
+ export function parseSessionId(id) {
17
+ // Match YYYY-MM-DDTHH-MM-SS format
18
+ const match = id.match(/^(\d{4}-\d{2}-\d{2})T(\d{2})-(\d{2})-(\d{2})$/);
19
+ if (!match) {
20
+ return null;
21
+ }
22
+ // Convert back to ISO format with Z suffix for UTC
23
+ const [, datePart, hour, minute, second] = match;
24
+ const isoString = `${datePart}T${hour}:${minute}:${second}Z`;
25
+ const date = new Date(isoString);
26
+ return isNaN(date.getTime()) ? null : date;
27
+ }
28
+ /**
29
+ * Create a new session directory and initial session.md
30
+ */
31
+ export async function createSession(options) {
32
+ const startTime = new Date();
33
+ const id = generateSessionId(startTime);
34
+ const sessionPath = join(options.sessionsDir, id);
35
+ const sessionFile = join(sessionPath, "session.md");
36
+ // Create session directory
37
+ await mkdir(sessionPath, { recursive: true });
38
+ // Build metadata
39
+ const metadata = {
40
+ id,
41
+ started: startTime.toISOString(),
42
+ runtime: options.runtime,
43
+ };
44
+ if (options.upstream) {
45
+ metadata.upstream = options.upstream;
46
+ }
47
+ if (options.goal) {
48
+ metadata.goal = options.goal;
49
+ }
50
+ if (options.persona) {
51
+ metadata.persona = options.persona;
52
+ }
53
+ if (options.workflow) {
54
+ metadata.workflow = options.workflow;
55
+ }
56
+ // Write initial session.md
57
+ const content = stringifyFrontmatter(metadata, "# Session Log\n\nSession started.\n");
58
+ await writeFile(sessionFile, content, "utf-8");
59
+ return {
60
+ id,
61
+ path: sessionPath,
62
+ sessionFile,
63
+ metadata,
64
+ };
65
+ }
66
+ /**
67
+ * Finalize a session with execution results
68
+ */
69
+ export async function finalizeSession(session, options) {
70
+ const endTime = new Date();
71
+ // Read current session.md
72
+ const currentContent = await readFile(session.sessionFile, "utf-8");
73
+ const { frontmatter, body } = parseFrontmatter(currentContent);
74
+ // Update metadata
75
+ frontmatter.ended = endTime.toISOString();
76
+ frontmatter.result = {
77
+ success: options.success,
78
+ exitCode: options.exitCode,
79
+ duration: options.duration,
80
+ error: options.error,
81
+ };
82
+ // Build updated content
83
+ const logParts = [body.trim()];
84
+ logParts.push("");
85
+ logParts.push(`## Execution Complete`);
86
+ logParts.push("");
87
+ logParts.push(`- **Ended:** ${endTime.toISOString()}`);
88
+ logParts.push(`- **Duration:** ${options.duration}ms`);
89
+ logParts.push(`- **Exit Code:** ${options.exitCode}`);
90
+ logParts.push(`- **Success:** ${options.success}`);
91
+ if (options.error) {
92
+ logParts.push(`- **Error:** ${options.error}`);
93
+ }
94
+ if (options.stdout) {
95
+ logParts.push("");
96
+ logParts.push("### Output");
97
+ logParts.push("");
98
+ logParts.push("```");
99
+ logParts.push(options.stdout);
100
+ logParts.push("```");
101
+ }
102
+ if (options.stderr) {
103
+ logParts.push("");
104
+ logParts.push("### Errors");
105
+ logParts.push("");
106
+ logParts.push("```");
107
+ logParts.push(options.stderr);
108
+ logParts.push("```");
109
+ }
110
+ logParts.push("");
111
+ // Write updated session.md
112
+ const updatedContent = stringifyFrontmatter(frontmatter, logParts.join("\n"));
113
+ await writeFile(session.sessionFile, updatedContent, "utf-8");
114
+ }
115
+ /**
116
+ * Get recent sessions from sessions directory
117
+ */
118
+ export async function getRecentSessions(sessionsDir, limit = 20) {
119
+ const sessions = [];
120
+ try {
121
+ const entries = await readdir(sessionsDir);
122
+ // Filter to directories that match session ID pattern
123
+ const sessionDirs = [];
124
+ for (const entry of entries) {
125
+ const entryPath = join(sessionsDir, entry);
126
+ const stats = await stat(entryPath);
127
+ if (stats.isDirectory()) {
128
+ const date = parseSessionId(entry);
129
+ if (date) {
130
+ sessionDirs.push({ name: entry, date });
131
+ }
132
+ }
133
+ }
134
+ // Sort by date, newest first
135
+ sessionDirs.sort((a, b) => b.date.getTime() - a.date.getTime());
136
+ // Take top N
137
+ for (const { name, date } of sessionDirs.slice(0, limit)) {
138
+ const sessionPath = join(sessionsDir, name);
139
+ const sessionFile = join(sessionPath, "session.md");
140
+ const info = {
141
+ id: name,
142
+ path: sessionPath,
143
+ timestamp: date,
144
+ };
145
+ // Try to read metadata
146
+ try {
147
+ const content = await readFile(sessionFile, "utf-8");
148
+ const { frontmatter } = parseFrontmatter(content);
149
+ info.metadata = frontmatter;
150
+ }
151
+ catch {
152
+ // Session.md might not exist or be invalid
153
+ }
154
+ sessions.push(info);
155
+ }
156
+ }
157
+ catch {
158
+ // Sessions directory might not exist yet
159
+ }
160
+ return sessions;
161
+ }
162
+ /**
163
+ * Read a session by ID
164
+ */
165
+ export async function readSession(sessionsDir, sessionId) {
166
+ const sessionPath = join(sessionsDir, sessionId);
167
+ const sessionFile = join(sessionPath, "session.md");
168
+ try {
169
+ const rawContent = await readFile(sessionFile, "utf-8");
170
+ const { frontmatter, body } = parseFrontmatter(rawContent);
171
+ return {
172
+ id: sessionId,
173
+ path: sessionPath,
174
+ sessionFile,
175
+ metadata: frontmatter,
176
+ content: body.trim() || undefined,
177
+ };
178
+ }
179
+ catch {
180
+ return null;
181
+ }
182
+ }
183
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/lib/session.ts"],"names":[],"mappings":"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"}
@@ -17,10 +17,14 @@ export interface ChannelMetadata {
17
17
  export interface ChannelMessageMeta {
18
18
  /** Who sent the message (e.g., workflow/process-inbox, @tnez) */
19
19
  from?: string;
20
+ /** Hostname where the message originated */
21
+ host?: string;
20
22
  /** Unique run identifier if from a workflow */
21
23
  run_id?: string;
22
24
  /** Tags for categorization */
23
25
  tags?: string[];
26
+ /** Thread ID for grouping related messages */
27
+ thread_id?: string;
24
28
  }
25
29
  /**
26
30
  * A message in a channel
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/lib/types/channel.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,IAAI,EAAE,kBAAkB,CAAC;IACzB,iDAAiD;IACjD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,QAAQ,EAAE,eAAe,CAAC;IAC1B,8BAA8B;IAC9B,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/lib/types/channel.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,IAAI,EAAE,kBAAkB,CAAC;IACzB,iDAAiD;IACjD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,QAAQ,EAAE,eAAe,CAAC;IAC1B,8BAA8B;IAC9B,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B"}
@@ -29,12 +29,6 @@ export interface PersonaFrontmatter {
29
29
  env?: Record<string, string>;
30
30
  /** Enabled skills - glob patterns, use ! for negation */
31
31
  skills?: string[];
32
- /**
33
- * Control inheritance from internal _base persona
34
- * - undefined: implicit inheritance from _base (default)
35
- * - "none": opt out of _base inheritance
36
- */
37
- extends?: "none";
38
32
  }
39
33
  /**
40
34
  * Parsed persona including frontmatter and body content
@@ -58,6 +52,51 @@ export interface ResolvedCommands {
58
52
  /** Command for interactive/manual execution (undefined = not supported) */
59
53
  interactive?: string[];
60
54
  }
55
+ /**
56
+ * MCP server configuration (matches Claude's mcp.json format)
57
+ */
58
+ export interface McpServerConfig {
59
+ command: string;
60
+ args?: string[];
61
+ env?: Record<string, string>;
62
+ }
63
+ /**
64
+ * MCP configuration (matches Claude's mcp.json format)
65
+ */
66
+ export interface McpConfig {
67
+ mcpServers: Record<string, McpServerConfig>;
68
+ }
69
+ /**
70
+ * Hook command configuration (matches Claude Code's settings format)
71
+ */
72
+ export interface HookCommand {
73
+ type: "command" | "prompt";
74
+ command?: string;
75
+ prompt?: string;
76
+ timeout?: number;
77
+ }
78
+ /**
79
+ * Hook configuration for a specific event
80
+ */
81
+ export interface HookEventConfig {
82
+ matcher?: string;
83
+ hooks: HookCommand[];
84
+ }
85
+ /**
86
+ * Claude Code hooks configuration (matches Claude Code's settings format)
87
+ */
88
+ export interface HooksConfig {
89
+ Stop?: HookEventConfig[];
90
+ SessionEnd?: HookEventConfig[];
91
+ SessionStart?: HookEventConfig[];
92
+ PreToolUse?: HookEventConfig[];
93
+ PostToolUse?: HookEventConfig[];
94
+ UserPromptSubmit?: HookEventConfig[];
95
+ Notification?: HookEventConfig[];
96
+ SubagentStop?: HookEventConfig[];
97
+ PreCompact?: HookEventConfig[];
98
+ PermissionRequest?: HookEventConfig[];
99
+ }
61
100
  /**
62
101
  * Resolved persona with all inheritance applied and arrays merged
63
102
  */
@@ -76,5 +115,9 @@ export interface ResolvedPersona {
76
115
  path: string;
77
116
  /** Inheritance chain (root to leaf) */
78
117
  inheritanceChain: string[];
118
+ /** Merged MCP configuration (from mcp.json files in inheritance chain) */
119
+ mcpConfig?: McpConfig;
120
+ /** Merged hooks configuration (from hooks.json files in inheritance chain) */
121
+ hooksConfig?: HooksConfig;
79
122
  }
80
123
  //# sourceMappingURL=persona.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../../src/lib/types/persona.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,iEAAiE;IACjE,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,GAAG,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC;IACjC,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,OAAQ,SAAQ,kBAAkB;IACjD,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,qDAAqD;IACrD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B"}
1
+ {"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../../src/lib/types/persona.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,iEAAiE;IACjE,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,GAAG,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC;IACjC,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,OAAQ,SAAQ,kBAAkB;IACjD,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,qDAAqD;IACrD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../../src/lib/validation/persona.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAIjB,MAAM,YAAY,CAAC;AA4CpB;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,aAAa,GAAE,OAAc,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAyL3B"}
1
+ {"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../../src/lib/validation/persona.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAIjB,MAAM,YAAY,CAAC;AA4CpB;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,aAAa,GAAE,OAAc,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAyP3B"}
@@ -74,17 +74,54 @@ export async function validatePersona(personaPath, isRootPersona = true) {
74
74
  }
75
75
  // Validate cmd type if present
76
76
  if (frontmatter.cmd !== undefined) {
77
- if (typeof frontmatter.cmd !== "string" &&
78
- !Array.isArray(frontmatter.cmd)) {
79
- issues.push(createError("invalid_type", "cmd", "'cmd' must be a string or array of strings", "Use: cmd: \"claude --print\" or cmd: [\"claude --print\"]"));
77
+ const isString = typeof frontmatter.cmd === "string";
78
+ const isArray = Array.isArray(frontmatter.cmd);
79
+ const isCommandModes = typeof frontmatter.cmd === "object" &&
80
+ !isArray &&
81
+ frontmatter.cmd !== null &&
82
+ ("headless" in frontmatter.cmd || "interactive" in frontmatter.cmd);
83
+ if (!isString && !isArray && !isCommandModes) {
84
+ issues.push(createError("invalid_type", "cmd", "'cmd' must be a string, array, or object with headless/interactive", 'Use: cmd: "claude --print" or cmd: { headless: "...", interactive: "..." }'));
80
85
  }
81
- else if (Array.isArray(frontmatter.cmd)) {
86
+ else if (isArray) {
82
87
  frontmatter.cmd.forEach((c, index) => {
83
88
  if (typeof c !== "string") {
84
89
  issues.push(createError("invalid_type", `cmd[${index}]`, "Command must be a string"));
85
90
  }
86
91
  });
87
92
  }
93
+ else if (isCommandModes) {
94
+ // Validate CommandModes object format
95
+ const cmd = frontmatter.cmd;
96
+ const validKeys = ["headless", "interactive"];
97
+ const cmdKeys = Object.keys(cmd);
98
+ // Check for unknown keys
99
+ for (const key of cmdKeys) {
100
+ if (!validKeys.includes(key)) {
101
+ issues.push(createWarning("unknown_field", `cmd.${key}`, `Unknown cmd mode '${key}'`, "Valid modes: headless, interactive"));
102
+ }
103
+ }
104
+ // Must have at least one mode
105
+ if (!cmd.headless && !cmd.interactive) {
106
+ issues.push(createError("invalid_value", "cmd", "cmd must specify at least headless or interactive", 'Use: cmd: { headless: "...", interactive: "..." }'));
107
+ }
108
+ // Validate each mode's value
109
+ for (const mode of validKeys) {
110
+ if (cmd[mode] !== undefined) {
111
+ const modeValue = cmd[mode];
112
+ if (typeof modeValue !== "string" && !Array.isArray(modeValue)) {
113
+ issues.push(createError("invalid_type", `cmd.${mode}`, `'cmd.${mode}' must be a string or array of strings`));
114
+ }
115
+ else if (Array.isArray(modeValue)) {
116
+ modeValue.forEach((c, index) => {
117
+ if (typeof c !== "string") {
118
+ issues.push(createError("invalid_type", `cmd.${mode}[${index}]`, "Command must be a string"));
119
+ }
120
+ });
121
+ }
122
+ }
123
+ }
124
+ }
88
125
  }
89
126
  // Validate env if present
90
127
  if (frontmatter.env !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"persona.js","sourceRoot":"","sources":["../../../src/lib/validation/persona.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persona.js","sourceRoot":"","sources":["../../../src/lib/validation/persona.ts"],"names":[],"mappings":"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"}