@nuvin/nuvin-core 1.9.0 → 1.9.2

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/dist/VERSION CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
- "version": "1.9.0",
3
- "commit": "66edafd"
2
+ "version": "1.9.2",
3
+ "commit": "28ede6b"
4
4
  }
package/dist/index.d.ts CHANGED
@@ -352,43 +352,66 @@ type FileReadMetadata = FileMetadata & {
352
352
  bomStripped?: boolean;
353
353
  };
354
354
  type FileEditMetadata = FileMetadata & {
355
- changesMade?: {
356
- linesAdded: number;
357
- linesRemoved: number;
358
- bytesChanged: number;
359
- };
360
- backup?: {
361
- path: string;
362
- created: string;
355
+ eol: 'lf' | 'crlf';
356
+ oldTextLength: number;
357
+ newTextLength: number;
358
+ bytesWritten: number;
359
+ beforeSha: string;
360
+ afterSha: string;
361
+ dryRun: boolean;
362
+ lineNumbers: {
363
+ oldStartLine: number;
364
+ oldEndLine: number;
365
+ newStartLine: number;
366
+ newEndLine: number;
367
+ oldLineCount: number;
368
+ newLineCount: number;
363
369
  };
370
+ noChange?: boolean;
364
371
  };
365
- type FileNewMetadata = FileMetadata & {
372
+ type FileNewMetadata = {
373
+ file_path: string;
374
+ bytes: number;
375
+ lines: number;
376
+ created: string;
366
377
  overwritten?: boolean;
367
378
  };
368
379
  type DirLsMetadata = {
369
- path: string;
370
- totalEntries?: number;
371
- entriesReturned?: number;
372
- truncated?: boolean;
380
+ limit: number;
381
+ includeHidden: boolean;
373
382
  };
374
383
  type WebSearchMetadata = {
375
- query: string;
376
- totalResults?: number;
377
- resultsReturned: number;
378
- searchTime?: number;
379
- provider?: string;
384
+ offset: number;
385
+ totalRequested: number;
386
+ hydrated: boolean;
380
387
  };
381
388
  type WebFetchMetadata = {
382
389
  url: string;
383
- statusCode?: number;
384
- contentType?: string;
385
- contentLength?: number;
386
- fetchTime?: number;
387
- markdown?: boolean;
390
+ contentType: string;
391
+ statusCode: number;
392
+ format: 'markdown' | 'json' | 'text';
393
+ size: number;
394
+ fetchedAt: string;
388
395
  };
389
396
  type TodoWriteMetadata = {
390
397
  todosWritten: number;
391
- conversationId?: string;
398
+ conversationId: string;
399
+ recentChanges: boolean;
400
+ progress: string;
401
+ allCompleted: boolean;
402
+ items: Array<{
403
+ id: string;
404
+ content: string;
405
+ status: 'pending' | 'in_progress' | 'completed';
406
+ priority: 'high' | 'medium' | 'low';
407
+ createdAt: string;
408
+ }>;
409
+ stats: {
410
+ total: number;
411
+ pending: number;
412
+ inProgress: number;
413
+ completed: number;
414
+ };
392
415
  };
393
416
  type AssignTaskMetadata = DelegationMetadata;
394
417
  type ToolErrorMetadata = {
@@ -1546,14 +1569,10 @@ type BashSuccessResult$1 = {
1546
1569
  status: 'success';
1547
1570
  type: 'text';
1548
1571
  result: string;
1549
- metadata?: CommandMetadata & {
1550
- stdout?: string;
1551
- stderr?: string;
1552
- stripped?: boolean;
1553
- };
1572
+ metadata?: BashToolMetadata;
1554
1573
  };
1555
1574
  type BashErrorResult = ExecResultError & {
1556
- metadata?: CommandMetadata & {
1575
+ metadata?: BashToolMetadata & {
1557
1576
  errorReason?: ErrorReason;
1558
1577
  };
1559
1578
  };
@@ -1657,11 +1676,7 @@ type FileReadSuccessResult$1 = {
1657
1676
  status: 'success';
1658
1677
  type: 'text';
1659
1678
  result: string;
1660
- metadata?: FileMetadata & {
1661
- lineRange?: LineRangeMetadata;
1662
- encoding?: string;
1663
- bomStripped?: boolean;
1664
- };
1679
+ metadata?: FileReadMetadata;
1665
1680
  };
1666
1681
  type FileReadErrorResult = ExecResultError & {
1667
1682
  metadata?: {
@@ -1675,24 +1690,7 @@ type FileEditSuccessResult$1 = {
1675
1690
  status: 'success';
1676
1691
  type: 'text';
1677
1692
  result: string;
1678
- metadata: FileMetadata & {
1679
- eol: 'lf' | 'crlf';
1680
- oldTextLength: number;
1681
- newTextLength: number;
1682
- bytesWritten: number;
1683
- beforeSha: string;
1684
- afterSha: string;
1685
- dryRun: boolean;
1686
- lineNumbers: {
1687
- oldStartLine: number;
1688
- oldEndLine: number;
1689
- newStartLine: number;
1690
- newEndLine: number;
1691
- oldLineCount: number;
1692
- newLineCount: number;
1693
- };
1694
- noChange?: boolean;
1695
- };
1693
+ metadata: FileEditMetadata;
1696
1694
  };
1697
1695
  type FileEditResult = FileEditSuccessResult$1 | ExecResultError;
1698
1696
 
@@ -1704,13 +1702,7 @@ type FileNewSuccessResult$1 = {
1704
1702
  status: 'success';
1705
1703
  type: 'text';
1706
1704
  result: string;
1707
- metadata: {
1708
- file_path: string;
1709
- bytes: number;
1710
- lines: number;
1711
- created: string;
1712
- overwritten?: boolean;
1713
- };
1705
+ metadata: FileNewMetadata;
1714
1706
  };
1715
1707
  type FileNewResult = FileNewSuccessResult$1 | ExecResultError;
1716
1708
 
@@ -1735,10 +1727,7 @@ type DirLsSuccessResult$1 = {
1735
1727
  truncated: boolean;
1736
1728
  total: number;
1737
1729
  };
1738
- metadata?: {
1739
- limit: number;
1740
- includeHidden: boolean;
1741
- };
1730
+ metadata?: DirLsMetadata;
1742
1731
  };
1743
1732
  type DirLsResult = DirLsSuccessResult$1 | ExecResultError;
1744
1733
 
@@ -1789,11 +1778,7 @@ type WebSearchSuccessResult$1 = {
1789
1778
  region?: string;
1790
1779
  };
1791
1780
  };
1792
- metadata?: {
1793
- offset: number;
1794
- totalRequested: number;
1795
- hydrated: boolean;
1796
- };
1781
+ metadata?: WebSearchMetadata;
1797
1782
  };
1798
1783
  type WebSearchToolResult = WebSearchSuccessResult$1 | ExecResultError;
1799
1784
 
@@ -1804,14 +1789,7 @@ type WebFetchSuccessResult$1 = {
1804
1789
  status: 'success';
1805
1790
  type: 'text';
1806
1791
  result: string;
1807
- metadata: {
1808
- url: string;
1809
- contentType: string;
1810
- statusCode: number;
1811
- format: 'markdown' | 'json' | 'text';
1812
- size: number;
1813
- fetchedAt: string;
1814
- };
1792
+ metadata: WebFetchMetadata;
1815
1793
  };
1816
1794
  type WebFetchResult = WebFetchSuccessResult$1 | ExecResultError;
1817
1795
 
@@ -1819,18 +1797,7 @@ type TodoWriteSuccessResult$1 = {
1819
1797
  status: 'success';
1820
1798
  type: 'text';
1821
1799
  result: string;
1822
- metadata: {
1823
- recentChanges: boolean;
1824
- stats: {
1825
- total: number;
1826
- pending: number;
1827
- inProgress: number;
1828
- completed: number;
1829
- };
1830
- progress: string;
1831
- allCompleted: boolean;
1832
- conversationId: string;
1833
- };
1800
+ metadata: TodoWriteMetadata;
1834
1801
  };
1835
1802
  type TodoWriteResult = TodoWriteSuccessResult$1 | ExecResultError;
1836
1803
 
@@ -1838,7 +1805,7 @@ type AssignSuccessResult$1 = {
1838
1805
  status: 'success';
1839
1806
  type: 'text';
1840
1807
  result: string;
1841
- metadata: DelegationMetadata;
1808
+ metadata: AssignTaskMetadata;
1842
1809
  };
1843
1810
  type AssignErrorResult = ExecResultError & {
1844
1811
  metadata?: {
package/dist/index.js CHANGED
@@ -99,6 +99,9 @@ var InMemoryMetricsPort = class {
99
99
  this.snapshot.currentCompletionTokens = completion;
100
100
  this.snapshot.currentCachedTokens = cached;
101
101
  this.snapshot.currentCost = actualCost;
102
+ if (this.snapshot.contextWindowLimit && prompt > 0) {
103
+ this.snapshot.contextWindowUsage = prompt / this.snapshot.contextWindowLimit;
104
+ }
102
105
  this.emit();
103
106
  }
104
107
  recordToolCall() {
@@ -2129,7 +2132,15 @@ Your todo list has changed. DO NOT mention this explicitly to the user. Latest c
2129
2132
  stats,
2130
2133
  progress: `${progress}%`,
2131
2134
  allCompleted,
2132
- conversationId
2135
+ conversationId,
2136
+ items: items.map((item) => ({
2137
+ id: item.id,
2138
+ content: item.content,
2139
+ status: item.status,
2140
+ priority: item.priority,
2141
+ createdAt: item.createdAt || nowIso
2142
+ })),
2143
+ todosWritten: items.length
2133
2144
  });
2134
2145
  }
2135
2146
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuvin/nuvin-core",
3
- "version": "1.9.0",
3
+ "version": "1.9.2",
4
4
  "description": "",
5
5
  "private": false,
6
6
  "main": "dist/index.js",