conductor-bridge 1.0.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 (134) hide show
  1. package/README.md +69 -0
  2. package/dist/bridge/index.d.ts +8 -0
  3. package/dist/bridge/index.d.ts.map +1 -0
  4. package/dist/bridge/index.js +8 -0
  5. package/dist/bridge/index.js.map +1 -0
  6. package/dist/bridge/json-interchange.d.ts +94 -0
  7. package/dist/bridge/json-interchange.d.ts.map +1 -0
  8. package/dist/bridge/json-interchange.js +301 -0
  9. package/dist/bridge/json-interchange.js.map +1 -0
  10. package/dist/cli/commands/amend.d.ts +12 -0
  11. package/dist/cli/commands/amend.d.ts.map +1 -0
  12. package/dist/cli/commands/amend.js +205 -0
  13. package/dist/cli/commands/amend.js.map +1 -0
  14. package/dist/cli/commands/daemon.d.ts +12 -0
  15. package/dist/cli/commands/daemon.d.ts.map +1 -0
  16. package/dist/cli/commands/daemon.js +60 -0
  17. package/dist/cli/commands/daemon.js.map +1 -0
  18. package/dist/cli/commands/dispatch.d.ts +12 -0
  19. package/dist/cli/commands/dispatch.d.ts.map +1 -0
  20. package/dist/cli/commands/dispatch.js +207 -0
  21. package/dist/cli/commands/dispatch.js.map +1 -0
  22. package/dist/cli/commands/handoff.d.ts +31 -0
  23. package/dist/cli/commands/handoff.d.ts.map +1 -0
  24. package/dist/cli/commands/handoff.js +273 -0
  25. package/dist/cli/commands/handoff.js.map +1 -0
  26. package/dist/cli/commands/init.d.ts +12 -0
  27. package/dist/cli/commands/init.d.ts.map +1 -0
  28. package/dist/cli/commands/init.js +301 -0
  29. package/dist/cli/commands/init.js.map +1 -0
  30. package/dist/cli/commands/status.d.ts +12 -0
  31. package/dist/cli/commands/status.d.ts.map +1 -0
  32. package/dist/cli/commands/status.js +206 -0
  33. package/dist/cli/commands/status.js.map +1 -0
  34. package/dist/cli/index.d.ts +17 -0
  35. package/dist/cli/index.d.ts.map +1 -0
  36. package/dist/cli/index.js +148 -0
  37. package/dist/cli/index.js.map +1 -0
  38. package/dist/handoff/encryption.d.ts +85 -0
  39. package/dist/handoff/encryption.d.ts.map +1 -0
  40. package/dist/handoff/encryption.js +308 -0
  41. package/dist/handoff/encryption.js.map +1 -0
  42. package/dist/handoff/index.d.ts +8 -0
  43. package/dist/handoff/index.d.ts.map +1 -0
  44. package/dist/handoff/index.js +10 -0
  45. package/dist/handoff/index.js.map +1 -0
  46. package/dist/handoff/mycelium-arc.d.ts +116 -0
  47. package/dist/handoff/mycelium-arc.d.ts.map +1 -0
  48. package/dist/handoff/mycelium-arc.js +410 -0
  49. package/dist/handoff/mycelium-arc.js.map +1 -0
  50. package/dist/index.d.ts +38 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +71 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/parsers/index.d.ts +10 -0
  55. package/dist/parsers/index.d.ts.map +1 -0
  56. package/dist/parsers/index.js +12 -0
  57. package/dist/parsers/index.js.map +1 -0
  58. package/dist/parsers/plan-parser.d.ts +29 -0
  59. package/dist/parsers/plan-parser.d.ts.map +1 -0
  60. package/dist/parsers/plan-parser.js +503 -0
  61. package/dist/parsers/plan-parser.js.map +1 -0
  62. package/dist/parsers/spec-parser.d.ts +10 -0
  63. package/dist/parsers/spec-parser.d.ts.map +1 -0
  64. package/dist/parsers/spec-parser.js +382 -0
  65. package/dist/parsers/spec-parser.js.map +1 -0
  66. package/dist/parsers/state-parser.d.ts +21 -0
  67. package/dist/parsers/state-parser.d.ts.map +1 -0
  68. package/dist/parsers/state-parser.js +378 -0
  69. package/dist/parsers/state-parser.js.map +1 -0
  70. package/dist/parsers/types.d.ts +190 -0
  71. package/dist/parsers/types.d.ts.map +1 -0
  72. package/dist/parsers/types.js +7 -0
  73. package/dist/parsers/types.js.map +1 -0
  74. package/dist/schemas/cognitive-state.d.ts +1523 -0
  75. package/dist/schemas/cognitive-state.d.ts.map +1 -0
  76. package/dist/schemas/cognitive-state.js +328 -0
  77. package/dist/schemas/cognitive-state.js.map +1 -0
  78. package/dist/schemas/enums.d.ts +124 -0
  79. package/dist/schemas/enums.d.ts.map +1 -0
  80. package/dist/schemas/enums.js +108 -0
  81. package/dist/schemas/enums.js.map +1 -0
  82. package/dist/schemas/index.d.ts +9 -0
  83. package/dist/schemas/index.d.ts.map +1 -0
  84. package/dist/schemas/index.js +9 -0
  85. package/dist/schemas/index.js.map +1 -0
  86. package/dist/sync/adhd-continuity.d.ts +91 -0
  87. package/dist/sync/adhd-continuity.d.ts.map +1 -0
  88. package/dist/sync/adhd-continuity.js +302 -0
  89. package/dist/sync/adhd-continuity.js.map +1 -0
  90. package/dist/sync/convergence-tracker.d.ts +111 -0
  91. package/dist/sync/convergence-tracker.d.ts.map +1 -0
  92. package/dist/sync/convergence-tracker.js +299 -0
  93. package/dist/sync/convergence-tracker.js.map +1 -0
  94. package/dist/sync/index.d.ts +11 -0
  95. package/dist/sync/index.d.ts.map +1 -0
  96. package/dist/sync/index.js +15 -0
  97. package/dist/sync/index.js.map +1 -0
  98. package/dist/sync/state-sync.d.ts +105 -0
  99. package/dist/sync/state-sync.d.ts.map +1 -0
  100. package/dist/sync/state-sync.js +403 -0
  101. package/dist/sync/state-sync.js.map +1 -0
  102. package/dist/sync/watcher.d.ts +90 -0
  103. package/dist/sync/watcher.d.ts.map +1 -0
  104. package/dist/sync/watcher.js +281 -0
  105. package/dist/sync/watcher.js.map +1 -0
  106. package/dist/utils/atomic-write.d.ts +31 -0
  107. package/dist/utils/atomic-write.d.ts.map +1 -0
  108. package/dist/utils/atomic-write.js +69 -0
  109. package/dist/utils/atomic-write.js.map +1 -0
  110. package/dist/utils/error-handling.d.ts +70 -0
  111. package/dist/utils/error-handling.d.ts.map +1 -0
  112. package/dist/utils/error-handling.js +109 -0
  113. package/dist/utils/error-handling.js.map +1 -0
  114. package/dist/utils/file-lock.d.ts +46 -0
  115. package/dist/utils/file-lock.d.ts.map +1 -0
  116. package/dist/utils/file-lock.js +117 -0
  117. package/dist/utils/file-lock.js.map +1 -0
  118. package/dist/utils/index.d.ts +10 -0
  119. package/dist/utils/index.d.ts.map +1 -0
  120. package/dist/utils/index.js +12 -0
  121. package/dist/utils/index.js.map +1 -0
  122. package/dist/utils/rlm-navigator.d.ts +160 -0
  123. package/dist/utils/rlm-navigator.d.ts.map +1 -0
  124. package/dist/utils/rlm-navigator.js +368 -0
  125. package/dist/utils/rlm-navigator.js.map +1 -0
  126. package/dist/utils/safe-path.d.ts +44 -0
  127. package/dist/utils/safe-path.d.ts.map +1 -0
  128. package/dist/utils/safe-path.js +96 -0
  129. package/dist/utils/safe-path.js.map +1 -0
  130. package/dist/utils/timed-io.d.ts +51 -0
  131. package/dist/utils/timed-io.d.ts.map +1 -0
  132. package/dist/utils/timed-io.js +128 -0
  133. package/dist/utils/timed-io.js.map +1 -0
  134. package/package.json +88 -0
@@ -0,0 +1,382 @@
1
+ /**
2
+ * Spec Parser
3
+ *
4
+ * Parses Conductor spec.md files into structured data.
5
+ * Extracts frontmatter, success criteria, constraints, ADRs, and interfaces.
6
+ */
7
+ import matter from 'gray-matter';
8
+ // ============================================================================
9
+ // Checkbox Regex Patterns
10
+ // ============================================================================
11
+ const CHECKBOX_PATTERN = /^(\s*)-\s+\[([ x~!])\]\s+(.+)$/;
12
+ const ADR_HEADER_PATTERN = /^###\s+ADR-(\d+):\s+(.+)$/;
13
+ const SECTION_HEADER_PATTERN = /^##\s+(.+)$/;
14
+ const CODE_BLOCK_PATTERN = /^```(\w+)?\s*$/;
15
+ function extractSections(content) {
16
+ const lines = content.split('\n');
17
+ const sections = [];
18
+ let currentSection = null;
19
+ for (let i = 0; i < lines.length; i++) {
20
+ const line = lines[i];
21
+ const match = line?.match(SECTION_HEADER_PATTERN);
22
+ if (match?.[1]) {
23
+ // Save previous section
24
+ if (currentSection) {
25
+ currentSection.endLine = i - 1;
26
+ currentSection.content = lines
27
+ .slice(currentSection.startLine + 1, i)
28
+ .join('\n')
29
+ .trim();
30
+ sections.push(currentSection);
31
+ }
32
+ // Start new section
33
+ currentSection = {
34
+ name: match[1].trim(),
35
+ content: '',
36
+ startLine: i,
37
+ endLine: lines.length - 1,
38
+ };
39
+ }
40
+ }
41
+ // Save final section
42
+ if (currentSection) {
43
+ currentSection.content = lines
44
+ .slice(currentSection.startLine + 1)
45
+ .join('\n')
46
+ .trim();
47
+ sections.push(currentSection);
48
+ }
49
+ return sections;
50
+ }
51
+ function findSection(sections, name) {
52
+ return sections.find((s) => s.name.toLowerCase() === name.toLowerCase());
53
+ }
54
+ // ============================================================================
55
+ // Success Criteria Parser
56
+ // ============================================================================
57
+ function parseSuccessCriteria(content, startLine) {
58
+ const lines = content.split('\n');
59
+ const criteria = [];
60
+ let criterionIndex = 0;
61
+ for (let i = 0; i < lines.length; i++) {
62
+ const line = lines[i];
63
+ const match = line?.match(CHECKBOX_PATTERN);
64
+ if (match) {
65
+ criterionIndex++;
66
+ criteria.push({
67
+ id: `SC-${criterionIndex.toString().padStart(3, '0')}`,
68
+ content: match[3]?.trim() ?? '',
69
+ completed: match[2] === 'x',
70
+ line: startLine + i + 1,
71
+ });
72
+ }
73
+ }
74
+ return criteria;
75
+ }
76
+ // ============================================================================
77
+ // Constraints Parser
78
+ // ============================================================================
79
+ function parseConstraints(content) {
80
+ const lines = content.split('\n');
81
+ const constraints = [];
82
+ for (const line of lines) {
83
+ const trimmed = line?.trim();
84
+ if (trimmed?.startsWith('-') || trimmed?.startsWith('*')) {
85
+ constraints.push(trimmed.slice(1).trim());
86
+ }
87
+ }
88
+ return constraints;
89
+ }
90
+ // ============================================================================
91
+ // ADR Parser
92
+ // ============================================================================
93
+ function parseADRs(content, startLine) {
94
+ const lines = content.split('\n');
95
+ const adrs = [];
96
+ let currentADR = null;
97
+ let currentField = null;
98
+ let currentFieldContent = [];
99
+ const saveCurrentField = () => {
100
+ if (currentADR && currentField && currentFieldContent.length > 0) {
101
+ const value = currentFieldContent.join('\n').trim();
102
+ switch (currentField.toLowerCase()) {
103
+ case 'status':
104
+ currentADR.status = value;
105
+ break;
106
+ case 'context':
107
+ currentADR.context = value;
108
+ break;
109
+ case 'decision':
110
+ currentADR.decision = value;
111
+ break;
112
+ case 'consequences':
113
+ // Parse as bullet list or single value
114
+ if (value.includes('\n')) {
115
+ currentADR.consequences = value
116
+ .split('\n')
117
+ .map((l) => l.replace(/^[-*]\s*/, '').trim())
118
+ .filter((l) => l.length > 0);
119
+ }
120
+ else {
121
+ currentADR.consequences = [value];
122
+ }
123
+ break;
124
+ }
125
+ }
126
+ currentField = null;
127
+ currentFieldContent = [];
128
+ };
129
+ for (let i = 0; i < lines.length; i++) {
130
+ const line = lines[i] ?? '';
131
+ const adrMatch = line.match(ADR_HEADER_PATTERN);
132
+ if (adrMatch) {
133
+ // Save previous ADR
134
+ saveCurrentField();
135
+ if (currentADR && currentADR.id) {
136
+ adrs.push(currentADR);
137
+ }
138
+ // Start new ADR
139
+ currentADR = {
140
+ id: `ADR-${adrMatch[1]?.padStart(3, '0')}`,
141
+ title: adrMatch[2]?.trim() ?? '',
142
+ status: 'proposed',
143
+ context: '',
144
+ decision: '',
145
+ consequences: [],
146
+ line: startLine + i + 1,
147
+ };
148
+ continue;
149
+ }
150
+ if (!currentADR)
151
+ continue;
152
+ // Check for field markers: - **Status**: value
153
+ const fieldMatch = line.match(/^-\s+\*\*(\w+)\*\*:\s*(.*)$/);
154
+ if (fieldMatch) {
155
+ saveCurrentField();
156
+ currentField = fieldMatch[1] ?? null;
157
+ const initialValue = fieldMatch[2]?.trim() ?? '';
158
+ if (initialValue) {
159
+ currentFieldContent.push(initialValue);
160
+ }
161
+ continue;
162
+ }
163
+ // Check for nested bullet (part of consequences)
164
+ if (currentField === 'Consequences' && line.match(/^\s+-\s+/)) {
165
+ currentFieldContent.push(line.trim());
166
+ continue;
167
+ }
168
+ // Continuation of current field (indented content)
169
+ if (currentField && line.match(/^\s{2,}/) && line.trim()) {
170
+ currentFieldContent.push(line.trim());
171
+ }
172
+ }
173
+ // Save final ADR
174
+ saveCurrentField();
175
+ if (currentADR && currentADR.id) {
176
+ adrs.push(currentADR);
177
+ }
178
+ return adrs;
179
+ }
180
+ // ============================================================================
181
+ // Interface Parser
182
+ // ============================================================================
183
+ function parseInterfaces(content) {
184
+ const interfaces = [];
185
+ const lines = content.split('\n');
186
+ let inCodeBlock = false;
187
+ let codeBlockLanguage = '';
188
+ let codeBlockContent = [];
189
+ let currentInterfaceName = '';
190
+ for (let i = 0; i < lines.length; i++) {
191
+ const line = lines[i] ?? '';
192
+ // Check for interface header (### Name)
193
+ const headerMatch = line.match(/^###\s+(.+)$/);
194
+ if (headerMatch && !inCodeBlock) {
195
+ currentInterfaceName = headerMatch[1]?.trim() ?? '';
196
+ continue;
197
+ }
198
+ // Check for code block start/end
199
+ const codeMatch = line.match(CODE_BLOCK_PATTERN);
200
+ if (codeMatch) {
201
+ if (inCodeBlock) {
202
+ // End of code block
203
+ interfaces.push({
204
+ name: currentInterfaceName || `Interface ${interfaces.length + 1}`,
205
+ code: codeBlockContent.join('\n'),
206
+ language: codeBlockLanguage,
207
+ });
208
+ inCodeBlock = false;
209
+ codeBlockContent = [];
210
+ codeBlockLanguage = '';
211
+ }
212
+ else {
213
+ // Start of code block
214
+ inCodeBlock = true;
215
+ codeBlockLanguage = codeMatch[1] || 'text';
216
+ }
217
+ continue;
218
+ }
219
+ if (inCodeBlock) {
220
+ codeBlockContent.push(line);
221
+ }
222
+ }
223
+ return interfaces;
224
+ }
225
+ // ============================================================================
226
+ // Bullet List Parser
227
+ // ============================================================================
228
+ function parseBulletList(content) {
229
+ const lines = content.split('\n');
230
+ const items = [];
231
+ for (const line of lines) {
232
+ const trimmed = line?.trim();
233
+ if (trimmed?.startsWith('-') || trimmed?.startsWith('*')) {
234
+ items.push(trimmed.slice(1).trim());
235
+ }
236
+ }
237
+ return items;
238
+ }
239
+ // ============================================================================
240
+ // Main Parser
241
+ // ============================================================================
242
+ export function parseSpec(content) {
243
+ const errors = [];
244
+ const warnings = [];
245
+ try {
246
+ // Parse frontmatter
247
+ const { data: frontmatter, content: body } = matter(content);
248
+ // Validate required frontmatter fields
249
+ if (!frontmatter.conductor) {
250
+ errors.push({
251
+ message: 'Missing required frontmatter field: conductor',
252
+ severity: 'error',
253
+ });
254
+ }
255
+ if (!frontmatter.id) {
256
+ errors.push({
257
+ message: 'Missing required frontmatter field: id',
258
+ severity: 'error',
259
+ });
260
+ }
261
+ if (!frontmatter.version) {
262
+ errors.push({
263
+ message: 'Missing required frontmatter field: version',
264
+ severity: 'error',
265
+ });
266
+ }
267
+ // Extract title (first # heading)
268
+ const titleMatch = body.match(/^#\s+(.+)$/m);
269
+ const title = titleMatch?.[1]?.trim() ?? '';
270
+ // Extract sections
271
+ const sections = extractSections(body);
272
+ // Parse Problem Statement
273
+ const problemSection = findSection(sections, 'Problem Statement');
274
+ const problemStatement = problemSection?.content ?? '';
275
+ // Parse Success Criteria
276
+ const criteriaSection = findSection(sections, 'Success Criteria');
277
+ const successCriteria = criteriaSection
278
+ ? parseSuccessCriteria(criteriaSection.content, criteriaSection.startLine)
279
+ : [];
280
+ // Parse Constraints
281
+ const constraintsSection = findSection(sections, 'Constraints');
282
+ const constraints = constraintsSection
283
+ ? parseConstraints(constraintsSection.content)
284
+ : [];
285
+ // Parse Non-Goals
286
+ const nonGoalsSection = findSection(sections, 'Non-Goals');
287
+ const nonGoals = nonGoalsSection
288
+ ? parseBulletList(nonGoalsSection.content)
289
+ : [];
290
+ // Parse ADRs
291
+ const adrSection = findSection(sections, 'Architecture Decisions');
292
+ const adrs = adrSection ? parseADRs(adrSection.content, adrSection.startLine) : [];
293
+ // Parse Interfaces
294
+ const interfacesSection = findSection(sections, 'Interfaces');
295
+ const interfaces = interfacesSection
296
+ ? parseInterfaces(interfacesSection.content)
297
+ : [];
298
+ // Parse Dependencies
299
+ const dependenciesSection = findSection(sections, 'Dependencies');
300
+ const dependencies = dependenciesSection
301
+ ? parseBulletList(dependenciesSection.content)
302
+ : [];
303
+ // Parse References
304
+ const referencesSection = findSection(sections, 'References');
305
+ const references = referencesSection
306
+ ? parseBulletList(referencesSection.content)
307
+ : [];
308
+ // Warnings for empty sections
309
+ if (successCriteria.length === 0) {
310
+ warnings.push({
311
+ message: 'No success criteria found',
312
+ severity: 'warning',
313
+ });
314
+ }
315
+ if (errors.length > 0) {
316
+ return { success: false, errors, warnings };
317
+ }
318
+ return {
319
+ success: true,
320
+ data: {
321
+ frontmatter: {
322
+ conductor: frontmatter.conductor ?? '1.0',
323
+ id: frontmatter.id ?? '',
324
+ version: frontmatter.version ?? '1.0.0',
325
+ status: frontmatter.status ?? 'draft',
326
+ author: frontmatter.author ?? '',
327
+ created: frontmatter.created ?? '',
328
+ updated: frontmatter.updated ?? '',
329
+ tags: frontmatter.tags ?? [],
330
+ },
331
+ title,
332
+ problemStatement,
333
+ successCriteria,
334
+ constraints,
335
+ nonGoals,
336
+ adrs,
337
+ interfaces,
338
+ dependencies,
339
+ references,
340
+ raw: content,
341
+ },
342
+ errors: [],
343
+ warnings,
344
+ };
345
+ }
346
+ catch (error) {
347
+ return {
348
+ success: false,
349
+ errors: [
350
+ {
351
+ message: `Failed to parse spec: ${error instanceof Error ? error.message : String(error)}`,
352
+ severity: 'error',
353
+ },
354
+ ],
355
+ warnings: [],
356
+ };
357
+ }
358
+ }
359
+ // ============================================================================
360
+ // Validation
361
+ // ============================================================================
362
+ export function validateSpec(spec) {
363
+ const errors = [];
364
+ // Check for unmet success criteria
365
+ const unmetCriteria = spec.successCriteria.filter((c) => !c.completed);
366
+ if (unmetCriteria.length > 0 && spec.frontmatter.status === 'active') {
367
+ errors.push({
368
+ message: `${unmetCriteria.length} success criteria not yet met`,
369
+ severity: 'warning',
370
+ });
371
+ }
372
+ // Check ADR statuses
373
+ const proposedADRs = spec.adrs.filter((a) => a.status === 'proposed');
374
+ if (proposedADRs.length > 0) {
375
+ errors.push({
376
+ message: `${proposedADRs.length} ADRs still in proposed status`,
377
+ severity: 'warning',
378
+ });
379
+ }
380
+ return errors;
381
+ }
382
+ //# sourceMappingURL=spec-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-parser.js","sourceRoot":"","sources":["../../src/parsers/spec-parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AAWjC,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;AAC1D,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;AACvD,MAAM,sBAAsB,GAAG,aAAa,CAAC;AAC7C,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAa5C,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,cAAc,GAAmB,IAAI,CAAC;IAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAElD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,wBAAwB;YACxB,IAAI,cAAc,EAAE,CAAC;gBACnB,cAAc,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC/B,cAAc,CAAC,OAAO,GAAG,KAAK;qBAC3B,KAAK,CAAC,cAAc,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC;qBACtC,IAAI,CAAC,IAAI,CAAC;qBACV,IAAI,EAAE,CAAC;gBACV,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAChC,CAAC;YAED,oBAAoB;YACpB,cAAc,GAAG;gBACf,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;gBACrB,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;aAC1B,CAAC;QACJ,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,cAAc,EAAE,CAAC;QACnB,cAAc,CAAC,OAAO,GAAG,KAAK;aAC3B,KAAK,CAAC,cAAc,CAAC,SAAS,GAAG,CAAC,CAAC;aACnC,IAAI,CAAC,IAAI,CAAC;aACV,IAAI,EAAE,CAAC;QACV,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,QAAmB,EAAE,IAAY;IACpD,OAAO,QAAQ,CAAC,IAAI,CAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CACnD,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,SAAS,oBAAoB,CAAC,OAAe,EAAE,SAAiB;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE5C,IAAI,KAAK,EAAE,CAAC;YACV,cAAc,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,MAAM,cAAc,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACtD,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC/B,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;gBAC3B,IAAI,EAAE,SAAS,GAAG,CAAC,GAAG,CAAC;aACxB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;QAC7B,IAAI,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,SAAS,SAAS,CAAC,OAAe,EAAE,SAAiB;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,IAAI,GAAU,EAAE,CAAC;IACvB,IAAI,UAAU,GAAwB,IAAI,CAAC;IAC3C,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,mBAAmB,GAAa,EAAE,CAAC;IAEvC,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,IAAI,UAAU,IAAI,YAAY,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACpD,QAAQ,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;gBACnC,KAAK,QAAQ;oBACX,UAAU,CAAC,MAAM,GAAG,KAAkB,CAAC;oBACvC,MAAM;gBACR,KAAK,SAAS;oBACZ,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC3B,MAAM;gBACR,KAAK,UAAU;oBACb,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;oBAC5B,MAAM;gBACR,KAAK,cAAc;oBACjB,uCAAuC;oBACvC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBACzB,UAAU,CAAC,YAAY,GAAG,KAAK;6BAC5B,KAAK,CAAC,IAAI,CAAC;6BACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;6BAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACjC,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC;oBACpC,CAAC;oBACD,MAAM;YACV,CAAC;QACH,CAAC;QACD,YAAY,GAAG,IAAI,CAAC;QACpB,mBAAmB,GAAG,EAAE,CAAC;IAC3B,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEhD,IAAI,QAAQ,EAAE,CAAC;YACb,oBAAoB;YACpB,gBAAgB,EAAE,CAAC;YACnB,IAAI,UAAU,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,UAAiB,CAAC,CAAC;YAC/B,CAAC;YAED,gBAAgB;YAChB,UAAU,GAAG;gBACX,EAAE,EAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBAC1C,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;gBAChC,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,EAAE;gBAChB,IAAI,EAAE,SAAS,GAAG,CAAC,GAAG,CAAC;aACxB,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,CAAC,UAAU;YAAE,SAAS;QAE1B,+CAA+C;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7D,IAAI,UAAU,EAAE,CAAC;YACf,gBAAgB,EAAE,CAAC;YACnB,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YACrC,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACjD,IAAI,YAAY,EAAE,CAAC;gBACjB,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzC,CAAC;YACD,SAAS;QACX,CAAC;QAED,iDAAiD;QACjD,IAAI,YAAY,KAAK,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,SAAS;QACX,CAAC;QAED,mDAAmD;QACnD,IAAI,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACzD,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,gBAAgB,EAAE,CAAC;IACnB,IAAI,UAAU,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,UAAiB,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,SAAS,eAAe,CACtB,OAAe;IAEf,MAAM,UAAU,GAAuD,EAAE,CAAC;IAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,iBAAiB,GAAG,EAAE,CAAC;IAC3B,IAAI,gBAAgB,GAAa,EAAE,CAAC;IACpC,IAAI,oBAAoB,GAAG,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5B,wCAAwC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC/C,IAAI,WAAW,IAAI,CAAC,WAAW,EAAE,CAAC;YAChC,oBAAoB,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACpD,SAAS;QACX,CAAC;QAED,iCAAiC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACjD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,WAAW,EAAE,CAAC;gBAChB,oBAAoB;gBACpB,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,oBAAoB,IAAI,aAAa,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClE,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;oBACjC,QAAQ,EAAE,iBAAiB;iBAC5B,CAAC,CAAC;gBACH,WAAW,GAAG,KAAK,CAAC;gBACpB,gBAAgB,GAAG,EAAE,CAAC;gBACtB,iBAAiB,GAAG,EAAE,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,sBAAsB;gBACtB,WAAW,GAAG,IAAI,CAAC;gBACnB,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;YAC7C,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;QAC7B,IAAI,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAiB,EAAE,CAAC;IAElC,IAAI,CAAC;QACH,oBAAoB;QACpB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAE7D,uCAAuC;QACvC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,+CAA+C;gBACxD,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,wCAAwC;gBACjD,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,6CAA6C;gBACtD,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;QACL,CAAC;QAED,kCAAkC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAE5C,mBAAmB;QACnB,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QAEvC,0BAA0B;QAC1B,MAAM,cAAc,GAAG,WAAW,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAClE,MAAM,gBAAgB,GAAG,cAAc,EAAE,OAAO,IAAI,EAAE,CAAC;QAEvD,yBAAyB;QACzB,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAClE,MAAM,eAAe,GAAG,eAAe;YACrC,CAAC,CAAC,oBAAoB,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC;YAC1E,CAAC,CAAC,EAAE,CAAC;QAEP,oBAAoB;QACpB,MAAM,kBAAkB,GAAG,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,kBAAkB;YACpC,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,OAAO,CAAC;YAC9C,CAAC,CAAC,EAAE,CAAC;QAEP,kBAAkB;QAClB,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,eAAe;YAC9B,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC;YAC1C,CAAC,CAAC,EAAE,CAAC;QAEP,aAAa;QACb,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnF,mBAAmB;QACnB,MAAM,iBAAiB,GAAG,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,iBAAiB;YAClC,CAAC,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC5C,CAAC,CAAC,EAAE,CAAC;QAEP,qBAAqB;QACrB,MAAM,mBAAmB,GAAG,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,mBAAmB;YACtC,CAAC,CAAC,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC;YAC9C,CAAC,CAAC,EAAE,CAAC;QAEP,mBAAmB;QACnB,MAAM,iBAAiB,GAAG,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,iBAAiB;YAClC,CAAC,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC5C,CAAC,CAAC,EAAE,CAAC;QAEP,8BAA8B;QAC9B,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,2BAA2B;gBACpC,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,WAAW,EAAE;oBACX,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,KAAK;oBACzC,EAAE,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE;oBACxB,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,OAAO;oBACvC,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,OAAO;oBACrC,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,EAAE;oBAChC,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,EAAE;oBAClC,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,EAAE;oBAClC,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE;iBACV;gBACpB,KAAK;gBACL,gBAAgB;gBAChB,eAAe;gBACf,WAAW;gBACX,QAAQ;gBACR,IAAI;gBACJ,UAAU;gBACV,YAAY;gBACZ,UAAU;gBACV,GAAG,EAAE,OAAO;aACb;YACD,MAAM,EAAE,EAAE;YACV,QAAQ;SACT,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE;gBACN;oBACE,OAAO,EAAE,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBAC1F,QAAQ,EAAE,OAAO;iBAClB;aACF;YACD,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,MAAM,UAAU,YAAY,CAAC,IAAgB;IAC3C,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,mCAAmC;IACnC,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrE,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,GAAG,aAAa,CAAC,MAAM,+BAA+B;YAC/D,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;IACtE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,GAAG,YAAY,CAAC,MAAM,gCAAgC;YAC/D,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * State Parser
3
+ *
4
+ * Parses Conductor state.md files into structured data.
5
+ * Tracks current assignment, context files, and session activity.
6
+ */
7
+ import type { ParsedState, ParseResult } from './types.js';
8
+ export declare function parseState(content: string): ParseResult<ParsedState>;
9
+ /**
10
+ * Check if session is stale (no activity for specified duration)
11
+ */
12
+ export declare function isSessionStale(state: ParsedState, maxIdleMinutes?: number): boolean;
13
+ /**
14
+ * Get session duration in minutes
15
+ */
16
+ export declare function getSessionDuration(state: ParsedState): number;
17
+ /**
18
+ * Generate a quick status summary
19
+ */
20
+ export declare function getStatusSummary(state: ParsedState): string;
21
+ //# sourceMappingURL=state-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/state-parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,WAAW,EAKX,WAAW,EAEZ,MAAM,YAAY,CAAC;AAuQpB,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CA4GpE;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,WAAW,EAClB,cAAc,GAAE,MAAY,GAC3B,OAAO,CAkBT;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAoB7D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CA0B3D"}