@link-assistant/hive-mind 2.0.16 → 2.0.17

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @link-assistant/hive-mind
2
2
 
3
+ ## 2.0.17
4
+
5
+ ### Patch Changes
6
+
7
+ - 1cec7b4: Allow bare indented LINO option/value links in .lenv configuration, matching parenthesized links.
8
+
3
9
  ## 2.0.16
4
10
 
5
11
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@link-assistant/hive-mind",
3
- "version": "2.0.16",
3
+ "version": "2.0.17",
4
4
  "description": "AI-powered issue solver and hive mind for collaborative problem solving",
5
5
  "main": "src/hive.mjs",
6
6
  "type": "module",
@@ -39,10 +39,6 @@ const LinoParser = linoModule.Parser || linoModule.default?.Parser;
39
39
 
40
40
  const fs = await import('fs');
41
41
 
42
- function isCliOptionToken(value) {
43
- return /^--[a-zA-Z0-9][a-zA-Z0-9=_.-]*$/.test(value) || /^-[a-zA-Z]$/.test(value);
44
- }
45
-
46
42
  function collectStringValues(value, result = []) {
47
43
  if (value && typeof value === 'object' && Array.isArray(value.values)) {
48
44
  if (value.id !== null && value.id !== undefined) {
@@ -57,25 +53,6 @@ function collectStringValues(value, result = []) {
57
53
  return result;
58
54
  }
59
55
 
60
- function validateNoBareSameLineOptions(content) {
61
- let currentVar = 'configuration';
62
-
63
- for (const line of content.split(/\r?\n/)) {
64
- const trimmed = line.trim();
65
- if (!trimmed || trimmed === '(' || trimmed === ')') continue;
66
-
67
- const topLevelMatch = !/^\s/.test(line) ? trimmed.match(/^([A-Za-z_][A-Za-z0-9_]*):(?:\s*(.*))?$/) : null;
68
- const valueText = topLevelMatch ? (topLevelMatch[2] || '').trim() : trimmed;
69
- if (topLevelMatch) currentVar = topLevelMatch[1];
70
- if (!valueText || valueText === '(' || valueText === ')' || valueText.startsWith('(')) continue;
71
-
72
- const parts = valueText.split(/\s+/).filter(Boolean);
73
- if (parts.length > 1 && isCliOptionToken(parts[0])) {
74
- throw new Error(`Invalid LINO format in "${currentVar}": Multiple values on the same line are not supported.\n` + `Found: "${parts.join(' ')}"\n` + `Each value must be on its own line with proper indentation, or grouped explicitly as a parenthesized link.`);
75
- }
76
- }
77
- }
78
-
79
56
  /**
80
57
  * LenvReader - Reads and parses .lenv files using LINO notation
81
58
  */
@@ -97,8 +74,6 @@ export class LenvReader {
97
74
  const result = {};
98
75
 
99
76
  try {
100
- validateNoBareSameLineOptions(content);
101
-
102
77
  // Parse the entire content as LINO
103
78
  const parsed = this.parser.parse(content);
104
79