@rcrsr/claude-code-runner 0.9.1 → 0.11.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.
Files changed (49) hide show
  1. package/README.md +13 -10
  2. package/dist/cli/args.d.ts.map +1 -1
  3. package/dist/cli/args.js +25 -4
  4. package/dist/cli/args.js.map +1 -1
  5. package/dist/cli/docs.d.ts +9 -0
  6. package/dist/cli/docs.d.ts.map +1 -0
  7. package/dist/cli/docs.js +55 -0
  8. package/dist/cli/docs.js.map +1 -0
  9. package/dist/cli/index.d.ts +1 -0
  10. package/dist/cli/index.d.ts.map +1 -1
  11. package/dist/cli/index.js +1 -0
  12. package/dist/cli/index.js.map +1 -1
  13. package/dist/index.js +14 -2
  14. package/dist/index.js.map +1 -1
  15. package/dist/output/colors.d.ts +33 -1
  16. package/dist/output/colors.d.ts.map +1 -1
  17. package/dist/output/colors.js +119 -1
  18. package/dist/output/colors.js.map +1 -1
  19. package/dist/output/formatter.d.ts +6 -0
  20. package/dist/output/formatter.d.ts.map +1 -1
  21. package/dist/output/formatter.js +72 -34
  22. package/dist/output/formatter.js.map +1 -1
  23. package/dist/output/ui-components.d.ts +34 -0
  24. package/dist/output/ui-components.d.ts.map +1 -0
  25. package/dist/output/ui-components.js +158 -0
  26. package/dist/output/ui-components.js.map +1 -0
  27. package/dist/output/ui-renderer.d.ts +18 -0
  28. package/dist/output/ui-renderer.d.ts.map +1 -0
  29. package/dist/output/ui-renderer.js +75 -0
  30. package/dist/output/ui-renderer.js.map +1 -0
  31. package/dist/output/ui-state.d.ts +71 -0
  32. package/dist/output/ui-state.d.ts.map +1 -0
  33. package/dist/output/ui-state.js +131 -0
  34. package/dist/output/ui-state.js.map +1 -0
  35. package/dist/rill/context.d.ts +2 -0
  36. package/dist/rill/context.d.ts.map +1 -1
  37. package/dist/rill/context.js +84 -13
  38. package/dist/rill/context.js.map +1 -1
  39. package/dist/rill/runner.d.ts.map +1 -1
  40. package/dist/rill/runner.js +56 -1
  41. package/dist/rill/runner.js.map +1 -1
  42. package/dist/types/runner.d.ts +12 -3
  43. package/dist/types/runner.d.ts.map +1 -1
  44. package/dist/types/runner.js.map +1 -1
  45. package/dist/utils/constants.d.ts +4 -0
  46. package/dist/utils/constants.d.ts.map +1 -1
  47. package/dist/utils/constants.js +5 -0
  48. package/dist/utils/constants.js.map +1 -1
  49. package/package.json +4 -3
@@ -0,0 +1,71 @@
1
+ /**
2
+ * UI state management for parallel agent display
3
+ */
4
+ import type { ActiveTask } from '../types/runner.js';
5
+ /**
6
+ * Entry in the main execution log
7
+ */
8
+ export interface LogEntry {
9
+ timestamp: Date;
10
+ agentLabel: string;
11
+ agentName: string;
12
+ type: 'invocation' | 'tool' | 'completion';
13
+ content: string;
14
+ duration?: number;
15
+ messageCount?: number;
16
+ }
17
+ /**
18
+ * Individual tool call record
19
+ */
20
+ export interface ToolCallEntry {
21
+ toolName: string;
22
+ args: string;
23
+ timestamp: Date;
24
+ }
25
+ /**
26
+ * State for a single agent/task
27
+ */
28
+ export interface AgentState {
29
+ id: string;
30
+ name: string;
31
+ description: string;
32
+ label: string;
33
+ toolCalls: ToolCallEntry[];
34
+ messageCount: number;
35
+ startTime: number;
36
+ status: 'running' | 'complete';
37
+ }
38
+ /**
39
+ * Overall UI state for parallel agent display
40
+ */
41
+ export interface UIState {
42
+ agents: Map<string, AgentState>;
43
+ mainLog: LogEntry[];
44
+ renderStartTime: number;
45
+ spinnerFrame: number;
46
+ /** Callback invoked when first agent is registered */
47
+ onFirstAgent?: () => void;
48
+ }
49
+ /**
50
+ * Create initial UI state with empty agents and log
51
+ */
52
+ export declare function createUIState(): UIState;
53
+ /**
54
+ * Register a new agent in the UI state
55
+ * @throws {Error} if agent count exceeds UI_MAX_AGENTS
56
+ * @throws {Error} if agent ID already registered
57
+ */
58
+ export declare function registerAgent(state: UIState, task: ActiveTask, description: string): void;
59
+ /**
60
+ * Record a tool call for an agent
61
+ * @throws {Error} if agent ID not found
62
+ * @throws {Error} if tool name empty
63
+ */
64
+ export declare function recordToolCall(state: UIState, agentId: string, toolName: string, args: string): void;
65
+ /**
66
+ * Mark agent complete and add completion entry to main log
67
+ * @throws {Error} if agent ID not found
68
+ * @throws {Error} if agent already complete
69
+ */
70
+ export declare function completeAgent(state: UIState, agentId: string): void;
71
+ //# sourceMappingURL=ui-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-state.d.ts","sourceRoot":"","sources":["../../src/output/ui-state.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOrD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,YAAY,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAChC,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAOvC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,MAAM,GAClB,IAAI,CAkDN;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,IAAI,CAqCN;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CA8BnE"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * UI state management for parallel agent display
3
+ */
4
+ import { UI_MAX_AGENTS, UI_MAX_DESCRIPTION_LENGTH, UI_MAX_VISIBLE_TOOLS, } from '../utils/constants.js';
5
+ /**
6
+ * Create initial UI state with empty agents and log
7
+ */
8
+ export function createUIState() {
9
+ return {
10
+ agents: new Map(),
11
+ mainLog: [],
12
+ renderStartTime: Date.now(),
13
+ spinnerFrame: 0,
14
+ };
15
+ }
16
+ /**
17
+ * Register a new agent in the UI state
18
+ * @throws {Error} if agent count exceeds UI_MAX_AGENTS
19
+ * @throws {Error} if agent ID already registered
20
+ */
21
+ export function registerAgent(state, task, description) {
22
+ // EC-1: Check agent count limit
23
+ if (state.agents.size >= UI_MAX_AGENTS) {
24
+ throw new Error('Maximum 10 concurrent agents exceeded');
25
+ }
26
+ // EC-2: Check for duplicate agent ID
27
+ if (state.agents.has(task.id)) {
28
+ throw new Error(`Agent ${task.id} already registered`);
29
+ }
30
+ // Truncate description to 40 characters
31
+ const truncatedDescription = description.length > UI_MAX_DESCRIPTION_LENGTH
32
+ ? description.slice(0, UI_MAX_DESCRIPTION_LENGTH)
33
+ : description;
34
+ // Create agent state
35
+ const agentState = {
36
+ id: task.id,
37
+ name: task.name,
38
+ description: truncatedDescription,
39
+ label: task.label,
40
+ toolCalls: [],
41
+ messageCount: 0,
42
+ startTime: Date.now(),
43
+ status: 'running',
44
+ };
45
+ // Check if this is the first agent (trigger callback before adding)
46
+ const isFirstAgent = state.agents.size === 0;
47
+ // Add to agents map
48
+ state.agents.set(task.id, agentState);
49
+ // Trigger callback for first agent
50
+ if (isFirstAgent && state.onFirstAgent) {
51
+ state.onFirstAgent();
52
+ }
53
+ // Add invocation entry to main log
54
+ const logEntry = {
55
+ timestamp: new Date(),
56
+ agentLabel: task.label,
57
+ agentName: task.name,
58
+ type: 'invocation',
59
+ content: truncatedDescription,
60
+ };
61
+ state.mainLog.push(logEntry);
62
+ }
63
+ /**
64
+ * Record a tool call for an agent
65
+ * @throws {Error} if agent ID not found
66
+ * @throws {Error} if tool name empty
67
+ */
68
+ export function recordToolCall(state, agentId, toolName, args) {
69
+ // EC-3: Check agent ID exists
70
+ const agent = state.agents.get(agentId);
71
+ if (!agent) {
72
+ throw new Error(`Unknown agent: ${agentId}`);
73
+ }
74
+ // EC-4: Check tool name not empty
75
+ if (!toolName || toolName.trim().length === 0) {
76
+ throw new Error('Tool name required');
77
+ }
78
+ // Create tool call entry
79
+ const toolCall = {
80
+ toolName,
81
+ args,
82
+ timestamp: new Date(),
83
+ };
84
+ // Add to agent's tool calls (FIFO management for max 5 visible)
85
+ agent.toolCalls.push(toolCall);
86
+ // AC-8: Remove oldest if exceeds max visible tools
87
+ if (agent.toolCalls.length > UI_MAX_VISIBLE_TOOLS) {
88
+ agent.toolCalls.shift();
89
+ }
90
+ // Add tool call entry to main log
91
+ const logEntry = {
92
+ timestamp: new Date(),
93
+ agentLabel: agent.label,
94
+ agentName: agent.name,
95
+ type: 'tool',
96
+ content: `${toolName}(${args})`,
97
+ };
98
+ state.mainLog.push(logEntry);
99
+ }
100
+ /**
101
+ * Mark agent complete and add completion entry to main log
102
+ * @throws {Error} if agent ID not found
103
+ * @throws {Error} if agent already complete
104
+ */
105
+ export function completeAgent(state, agentId) {
106
+ // EC-5: Check agent ID exists
107
+ const agent = state.agents.get(agentId);
108
+ if (!agent) {
109
+ throw new Error(`Unknown agent: ${agentId}`);
110
+ }
111
+ // EC-6: Check agent not already complete
112
+ if (agent.status === 'complete') {
113
+ throw new Error(`Agent ${agentId} already completed`);
114
+ }
115
+ // Calculate duration from agent start time to current time
116
+ const duration = Date.now() - agent.startTime;
117
+ // Set agent status to 'complete' for renderer to remove box
118
+ agent.status = 'complete';
119
+ // Add completion entry to main log with duration and message count
120
+ const logEntry = {
121
+ timestamp: new Date(),
122
+ agentLabel: agent.label,
123
+ agentName: agent.name,
124
+ type: 'completion',
125
+ content: 'Complete',
126
+ duration,
127
+ messageCount: agent.messageCount,
128
+ };
129
+ state.mainLog.push(logEntry);
130
+ }
131
+ //# sourceMappingURL=ui-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-state.js","sourceRoot":"","sources":["../../src/output/ui-state.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,8 @@ export interface RunnerContextOptions {
36
36
  signal?: AbortSignal | undefined;
37
37
  /** Regex patterns that halt execution when output matches */
38
38
  autoExceptions?: string[] | undefined;
39
+ /** Callback for state changes from ccr::state host function */
40
+ onStateChange?: ((text: string | null) => void) | undefined;
39
41
  }
40
42
  /**
41
43
  * Create a Rill runtime context for Claude Code Runner workflows
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/rill/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAkBrB,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qCAAqC;AACrC,MAAM,MAAM,cAAc,GAAG,CAC3B,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,KACX,OAAO,CAAC,eAAe,CAAC,CAAC;AAE9B,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC,yBAAyB;IACzB,aAAa,EAAE,cAAc,CAAC;IAC9B,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC;IAClD,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACzC,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;IAClD,uDAAuD;IACvD,aAAa,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACnD,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,2CAA2C;IAC3C,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACvC;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,oBAAoB,GAC5B,cAAc,CA+NhB"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/rill/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAkBrB,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qCAAqC;AACrC,MAAM,MAAM,cAAc,GAAG,CAC3B,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,KACX,OAAO,CAAC,eAAe,CAAC,CAAC;AAE9B,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC,yBAAyB;IACzB,aAAa,EAAE,cAAc,CAAC;IAC9B,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,CAAC;IAClD,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACzC,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;IAClD,uDAAuD;IACvD,aAAa,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACnD,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,2CAA2C;IAC3C,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC,+DAA+D;IAC/D,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC7D;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,oBAAoB,GAC5B,cAAc,CA6ShB"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { createRuntimeContext, } from '@rcrsr/rill';
6
6
  import * as fs from 'fs';
7
- import { printRunner } from '../output/colors.js';
7
+ import { printRunner, stripAnsi } from '../output/colors.js';
8
8
  import { loadCommandTemplate as loadCommandTemplateFile, parseGenericFrontmatter, } from '../templates/command.js';
9
9
  import { CCR_RESULT_SELF_CLOSING_PATTERN, CCR_RESULT_WITH_CONTENT_PATTERN, } from '../utils/constants.js';
10
10
  import { formatRillValue } from '../utils/formatting.js';
@@ -15,7 +15,7 @@ import { formatRillValue } from '../utils/formatting.js';
15
15
  * Create a Rill runtime context for Claude Code Runner workflows
16
16
  */
17
17
  export function createRunnerContext(options) {
18
- const { executeClause, namedArgs = {}, rawArgs = [], env = process.env, commandsDir = '.claude/commands', defaultModel, callbacks = {}, observability, timeout, signal, autoExceptions, } = options;
18
+ const { executeClause, namedArgs = {}, rawArgs = [], env = process.env, commandsDir = '.claude/commands', defaultModel, callbacks = {}, observability, timeout, signal, autoExceptions, onStateChange: _onStateChange, } = options;
19
19
  // Create ccr:: namespaced functions
20
20
  const functions = {
21
21
  /**
@@ -23,9 +23,19 @@ export function createRunnerContext(options) {
23
23
  * Usage: ccr::prompt("analyze this code", "haiku")
24
24
  */
25
25
  'ccr::prompt': {
26
+ description: 'Execute a prompt with Claude and return output',
26
27
  params: [
27
- { name: 'text', type: 'string' },
28
- { name: 'model', type: 'string', defaultValue: '' },
28
+ {
29
+ name: 'text',
30
+ type: 'string',
31
+ description: 'Prompt text to send to Claude',
32
+ },
33
+ {
34
+ name: 'model',
35
+ type: 'string',
36
+ defaultValue: '',
37
+ description: 'Model override (sonnet, opus, haiku)',
38
+ },
29
39
  ],
30
40
  fn: async (args) => {
31
41
  const text = args[0];
@@ -39,9 +49,15 @@ export function createRunnerContext(options) {
39
49
  * Usage: ccr::command("create-spec", ["arg1", "arg2"])
40
50
  */
41
51
  'ccr::command': {
52
+ description: 'Execute a command template by name',
42
53
  params: [
43
- { name: 'name', type: 'string' },
44
- { name: 'args', type: 'list', defaultValue: [] },
54
+ { name: 'name', type: 'string', description: 'Command template name' },
55
+ {
56
+ name: 'args',
57
+ type: 'list',
58
+ defaultValue: [],
59
+ description: 'Arguments to pass to template',
60
+ },
45
61
  ],
46
62
  fn: async (args, ctx) => {
47
63
  const name = args[0];
@@ -58,9 +74,19 @@ export function createRunnerContext(options) {
58
74
  * Usage: ccr::skill("commit", ["--amend"])
59
75
  */
60
76
  'ccr::skill': {
77
+ description: 'Execute a Claude Code skill (slash command)',
61
78
  params: [
62
- { name: 'name', type: 'string' },
63
- { name: 'args', type: 'list', defaultValue: [] },
79
+ {
80
+ name: 'name',
81
+ type: 'string',
82
+ description: 'Skill name (without leading /)',
83
+ },
84
+ {
85
+ name: 'args',
86
+ type: 'list',
87
+ defaultValue: [],
88
+ description: 'Arguments to pass to skill',
89
+ },
64
90
  ],
65
91
  fn: async (args, ctx) => {
66
92
  const name = args[0];
@@ -76,9 +102,34 @@ export function createRunnerContext(options) {
76
102
  * Usage: ccr::file_exists("path/to/file") -> boolean
77
103
  */
78
104
  'ccr::file_exists': {
79
- params: [{ name: 'path', type: 'string' }],
105
+ description: 'Check if a file exists at the given path',
106
+ params: [
107
+ { name: 'path', type: 'string', description: 'File path to check' },
108
+ ],
80
109
  fn: (args) => fs.existsSync(args[0]),
81
110
  },
111
+ /**
112
+ * Set script status line text
113
+ * Usage: ccr::state("Processing file 3/10")
114
+ */
115
+ 'ccr::state': {
116
+ description: 'Set script status line text',
117
+ params: [{ name: 'text', type: 'string' }],
118
+ fn: (args) => {
119
+ let text = args[0];
120
+ // Strip ANSI escape sequences
121
+ text = stripAnsi(text);
122
+ // Strip newlines to single line
123
+ text = text.replace(/[\r\n]+/g, ' ');
124
+ // Check if empty or whitespace-only
125
+ const trimmed = text.trim();
126
+ // Invoke callback if provided
127
+ if (_onStateChange) {
128
+ _onStateChange(trimmed || null);
129
+ }
130
+ return null;
131
+ },
132
+ },
82
133
  /**
83
134
  * Extract result from text
84
135
  * Usage: ccr::get_result($text) -> { type: "...", ...attrs } or {}
@@ -86,7 +137,14 @@ export function createRunnerContext(options) {
86
137
  * Returns empty dict if no result found (Rill doesn't support null)
87
138
  */
88
139
  'ccr::get_result': {
89
- params: [{ name: 'text', type: 'string' }],
140
+ description: 'Extract ccr:result XML tag from text',
141
+ params: [
142
+ {
143
+ name: 'text',
144
+ type: 'string',
145
+ description: 'Text containing ccr:result tag',
146
+ },
147
+ ],
90
148
  fn: (args) => {
91
149
  const text = args[0];
92
150
  let attrs;
@@ -127,7 +185,14 @@ export function createRunnerContext(options) {
127
185
  * Usage: ccr::has_result(text) -> boolean
128
186
  */
129
187
  'ccr::has_result': {
130
- params: [{ name: 'text', type: 'string' }],
188
+ description: 'Check if text contains a ccr:result tag',
189
+ params: [
190
+ {
191
+ name: 'text',
192
+ type: 'string',
193
+ description: 'Text to search for ccr:result tag',
194
+ },
195
+ ],
131
196
  fn: (args) => {
132
197
  const text = args[0];
133
198
  return (CCR_RESULT_SELF_CLOSING_PATTERN.test(text) ||
@@ -139,7 +204,10 @@ export function createRunnerContext(options) {
139
204
  * Usage: ccr::has_frontmatter(path) -> boolean
140
205
  */
141
206
  'ccr::has_frontmatter': {
142
- params: [{ name: 'path', type: 'string' }],
207
+ description: 'Check if a file has YAML frontmatter',
208
+ params: [
209
+ { name: 'path', type: 'string', description: 'File path to check' },
210
+ ],
143
211
  fn: (args) => {
144
212
  const filePath = args[0];
145
213
  if (!fs.existsSync(filePath)) {
@@ -155,7 +223,10 @@ export function createRunnerContext(options) {
155
223
  * Usage: ccr::get_frontmatter("path/to/file.md")
156
224
  */
157
225
  'ccr::get_frontmatter': {
158
- params: [{ name: 'path', type: 'string' }],
226
+ description: 'Parse and return YAML frontmatter from a file',
227
+ params: [
228
+ { name: 'path', type: 'string', description: 'File path to parse' },
229
+ ],
159
230
  fn: (args) => {
160
231
  const filePath = args[0];
161
232
  if (!fs.existsSync(filePath)) {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/rill/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/rill/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/rill/runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQvD,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,2BAA2B;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACtD;AAED,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,iCAAiC;IACjC,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;CACjC;AAwDD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,cAAc,CAAC;CACtB,CAyBA;AAMD;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,CAuLxB;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEtD"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/rill/runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqBH,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQvD,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,2BAA2B;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACtD;AAED,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,iCAAiC;IACjC,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;CACjC;AAwDD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,cAAc,CAAC;CACtB,CAyBA;AAMD;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,CAqPxB;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEtD"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { AbortError, execute, parse, ParseError, RuntimeError, TimeoutError, } from '@rcrsr/rill';
8
8
  import * as fs from 'fs';
9
- import { colors, printRunner } from '../output/colors.js';
9
+ import { bindFormatterState, clearStatusLine, colors, printRunner, renderStatusLine, unbindFormatterState, } from '../output/colors.js';
10
10
  import { finalizeStepStats } from '../output/formatter.js';
11
11
  import { spawnClaude } from '../process/pty.js';
12
12
  import { parseFrontmatter } from '../templates/command.js';
@@ -179,6 +179,32 @@ export async function runRillScript(options) {
179
179
  logger.log(`[LOG] ${text}`);
180
180
  },
181
181
  };
182
+ // State change callback for ccr::state host function
183
+ const onStateChange = (text) => {
184
+ // Update formatter state
185
+ formatterState.currentStatusText = text;
186
+ // Skip rendering in quiet mode
187
+ if (config.verbosity === 'quiet') {
188
+ return;
189
+ }
190
+ // Render or clear status line
191
+ if (text !== null) {
192
+ renderStatusLine(text, process.stderr);
193
+ }
194
+ else {
195
+ clearStatusLine(process.stderr);
196
+ }
197
+ };
198
+ // Terminal resize handler - re-renders status line with updated columns
199
+ const handleResize = () => {
200
+ if (formatterState.currentStatusText !== null) {
201
+ renderStatusLine(formatterState.currentStatusText, process.stderr);
202
+ }
203
+ };
204
+ // Attach resize listener if not in quiet mode
205
+ if (config.verbosity !== 'quiet') {
206
+ process.stderr.on('resize', handleResize);
207
+ }
182
208
  // Create Rill runtime context
183
209
  const ctx = createRunnerContext({
184
210
  executeClause,
@@ -188,7 +214,10 @@ export async function runRillScript(options) {
188
214
  commandsDir: '.claude/commands',
189
215
  defaultModel: effectiveModel ?? undefined,
190
216
  callbacks,
217
+ onStateChange,
191
218
  });
219
+ // Bind formatter state so terminalLog re-renders the status line
220
+ bindFormatterState(formatterState);
192
221
  // Parse and execute the script
193
222
  try {
194
223
  logger.logEvent({ event: 'rill_script_start', runId, file: scriptFile });
@@ -204,14 +233,28 @@ export async function runRillScript(options) {
204
233
  runId,
205
234
  success: true,
206
235
  });
236
+ // Remove resize listener and unbind state before exit
237
+ unbindFormatterState();
238
+ if (config.verbosity !== 'quiet') {
239
+ process.stderr.off('resize', handleResize);
240
+ clearStatusLine(process.stderr);
241
+ }
207
242
  return {
208
243
  success: true,
209
244
  lastOutput: state.lastOutput,
210
245
  };
211
246
  }
212
247
  catch (error) {
248
+ // Remove resize listener and unbind state before error handling
249
+ unbindFormatterState();
250
+ if (config.verbosity !== 'quiet') {
251
+ process.stderr.off('resize', handleResize);
252
+ }
213
253
  // Handle specific Rill error types
214
254
  if (error instanceof AbortError) {
255
+ if (config.verbosity !== 'quiet') {
256
+ clearStatusLine(process.stderr);
257
+ }
215
258
  printRunner(`${colors.yellow}Script cancelled${colors.reset}`);
216
259
  logger.logEvent({ event: 'rill_script_cancelled', runId });
217
260
  return {
@@ -220,12 +263,18 @@ export async function runRillScript(options) {
220
263
  };
221
264
  }
222
265
  if (error instanceof TimeoutError) {
266
+ if (config.verbosity !== 'quiet') {
267
+ clearStatusLine(process.stderr);
268
+ }
223
269
  const msg = `Timeout: ${error.message}`;
224
270
  printRunner(`${colors.red}${msg}${colors.reset}`);
225
271
  logger.logEvent({ event: 'rill_script_timeout', runId, error: msg });
226
272
  return { success: false, lastOutput: state.lastOutput };
227
273
  }
228
274
  if (error instanceof ParseError) {
275
+ if (config.verbosity !== 'quiet') {
276
+ clearStatusLine(process.stderr);
277
+ }
229
278
  const location = error.location
230
279
  ? ` at ${scriptFile}:${error.location.line}:${error.location.column}`
231
280
  : '';
@@ -235,6 +284,9 @@ export async function runRillScript(options) {
235
284
  return { success: false, lastOutput: state.lastOutput };
236
285
  }
237
286
  if (error instanceof RuntimeError) {
287
+ if (config.verbosity !== 'quiet') {
288
+ clearStatusLine(process.stderr);
289
+ }
238
290
  const location = error.location
239
291
  ? ` at ${scriptFile}:${error.location.line}:${error.location.column}`
240
292
  : '';
@@ -248,6 +300,9 @@ export async function runRillScript(options) {
248
300
  return { success: false, lastOutput: state.lastOutput };
249
301
  }
250
302
  // Generic error fallback
303
+ if (config.verbosity !== 'quiet') {
304
+ clearStatusLine(process.stderr);
305
+ }
251
306
  const msg = error instanceof Error ? error.message : String(error);
252
307
  printRunner(`${colors.red}Script error:${colors.reset} ${msg}`);
253
308
  logger.logEvent({ event: 'rill_script_error', runId, error: msg });
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/rill/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/rill/runner.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Runner configuration and state types
3
3
  */
4
4
  export type Verbosity = 'quiet' | 'normal' | 'verbose';
5
- export type Subcommand = 'prompt' | 'command' | 'script' | 'skill';
5
+ export type Subcommand = 'prompt' | 'command' | 'script' | 'skill' | 'docs';
6
6
  /**
7
7
  * Result of running a single Claude invocation
8
8
  */
@@ -26,6 +26,13 @@ export interface RunnerConfig {
26
26
  * Default runner configuration
27
27
  */
28
28
  export declare const DEFAULT_CONFIG: RunnerConfig;
29
+ /**
30
+ * Docs subcommand options
31
+ */
32
+ export interface DocsOptions {
33
+ functionsOnly: boolean;
34
+ languageOnly: boolean;
35
+ }
29
36
  /**
30
37
  * Parsed CLI arguments
31
38
  */
@@ -38,6 +45,8 @@ export interface ParsedArgs {
38
45
  scriptFile: string | null;
39
46
  /** Script arguments */
40
47
  scriptArgs: string[];
48
+ /** Docs options (for docs subcommand) */
49
+ docsOptions?: DocsOptions | undefined;
41
50
  }
42
51
  /**
43
52
  * Tool call tracking
@@ -54,8 +63,8 @@ export interface ActiveTask {
54
63
  name: string;
55
64
  description: string;
56
65
  id: string;
57
- /** Label for parallel task identification (A, B, C...) */
58
- label: string;
66
+ /** Index for agent marker color (0-7, cycles) */
67
+ colorIndex: number;
59
68
  }
60
69
  /**
61
70
  * Noise patterns to filter from output