@nitra/cursor 4.1.1 → 5.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 (71) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/bin/docs/n-cursor.md +1 -9
  3. package/bin/n-cursor.js +3 -25
  4. package/docs/stryker.config.md +37 -0
  5. package/docs/vitest.config.md +23 -0
  6. package/package.json +2 -1
  7. package/rules/docker/lib/docs/docker-mirror.md +1 -1
  8. package/rules/docker/lib/docs/docker-native-addon.md +1 -1
  9. package/rules/test/coverage/coverage.mjs +9 -19
  10. package/rules/test/test.mdc +1 -1
  11. package/scripts/dispatcher/trace.mjs +4 -16
  12. package/scripts/docs/build-agents-commands.md +1 -1
  13. package/scripts/docs/worktree-cli.md +1 -1
  14. package/scripts/lib/changed-files.mjs +19 -3
  15. package/scripts/lib/sync-gitignore-worktree.mjs +4 -5
  16. package/scripts/worktree-cli.mjs +1 -2
  17. package/skills/docgen/js/docgen-gen.mjs +7 -7
  18. package/scripts/dispatcher/docs/graph.md +0 -346
  19. package/scripts/dispatcher/docs/index.md +0 -236
  20. package/scripts/dispatcher/docs/trace.md +0 -296
  21. package/scripts/dispatcher/graph/lib/cmd-init.mjs +0 -112
  22. package/scripts/dispatcher/graph/lib/cmd-invalidate.mjs +0 -96
  23. package/scripts/dispatcher/graph/lib/cmd-kill.mjs +0 -141
  24. package/scripts/dispatcher/graph/lib/cmd-plan.mjs +0 -142
  25. package/scripts/dispatcher/graph/lib/cmd-run.mjs +0 -328
  26. package/scripts/dispatcher/graph/lib/cmd-scan.mjs +0 -115
  27. package/scripts/dispatcher/graph/lib/cmd-setup.mjs +0 -111
  28. package/scripts/dispatcher/graph/lib/cmd-signals.mjs +0 -328
  29. package/scripts/dispatcher/graph/lib/cmd-status.mjs +0 -131
  30. package/scripts/dispatcher/graph/lib/cmd-verify.mjs +0 -100
  31. package/scripts/dispatcher/graph/lib/cmd-watch.mjs +0 -128
  32. package/scripts/dispatcher/graph/lib/config.mjs +0 -103
  33. package/scripts/dispatcher/graph/lib/frontmatter.mjs +0 -224
  34. package/scripts/dispatcher/graph/lib/nnn.mjs +0 -127
  35. package/scripts/dispatcher/graph/lib/node-state.mjs +0 -157
  36. package/scripts/dispatcher/graph/lib/scanner.mjs +0 -235
  37. package/scripts/dispatcher/graph/lib/worktree-ops.mjs +0 -193
  38. package/scripts/dispatcher/graph-tasks.mjs +0 -92
  39. package/scripts/dispatcher/graph.mjs +0 -212
  40. package/scripts/dispatcher/index.mjs +0 -45
  41. package/scripts/dispatcher/lib/docs/active.md +0 -348
  42. package/scripts/dispatcher/lib/docs/artifact.md +0 -232
  43. package/scripts/dispatcher/lib/docs/budget.md +0 -167
  44. package/scripts/dispatcher/lib/docs/capability.md +0 -196
  45. package/scripts/dispatcher/lib/docs/commands.md +0 -210
  46. package/scripts/dispatcher/lib/docs/events.md +0 -183
  47. package/scripts/dispatcher/lib/docs/executor.md +0 -190
  48. package/scripts/dispatcher/lib/docs/gate.md +0 -231
  49. package/scripts/dispatcher/lib/docs/level.md +0 -335
  50. package/scripts/dispatcher/lib/docs/plan-panel.md +0 -181
  51. package/scripts/dispatcher/lib/docs/plan.md +0 -200
  52. package/scripts/dispatcher/lib/docs/planner.md +0 -269
  53. package/scripts/dispatcher/lib/docs/review.md +0 -255
  54. package/scripts/dispatcher/lib/docs/reviewer.md +0 -240
  55. package/scripts/dispatcher/lib/docs/snapshot.md +0 -247
  56. package/scripts/dispatcher/lib/docs/spec.md +0 -203
  57. package/scripts/dispatcher/lib/docs/state-store.md +0 -303
  58. package/scripts/dispatcher/lib/docs/subagent-runner.md +0 -173
  59. package/scripts/dispatcher/lib/events.mjs +0 -67
  60. package/scripts/dispatcher/lib/executor.mjs +0 -107
  61. package/scripts/dispatcher/lib/plan-panel.mjs +0 -76
  62. package/scripts/dispatcher/lib/state-store.mjs +0 -173
  63. package/scripts/dispatcher/lib/subagent-runner.mjs +0 -53
  64. package/scripts/graph/index.mjs +0 -115
  65. package/scripts/graph/lib/config.mjs +0 -62
  66. package/scripts/graph/lib/dag.mjs +0 -161
  67. package/scripts/graph/lib/frontmatter.mjs +0 -70
  68. package/scripts/graph/lib/nnn.mjs +0 -77
  69. package/scripts/graph/lib/state.mjs +0 -110
  70. package/scripts/graph/scan.mjs +0 -64
  71. package/scripts/graph/status.mjs +0 -86
@@ -1,86 +0,0 @@
1
- /**
2
- * `graph status [path]` — стан одного вузла або всього графу.
3
- */
4
- import { resolve } from 'node:path'
5
- import { cwd } from 'node:process'
6
-
7
- import { loadConfig } from './lib/config.mjs'
8
- import { buildDag } from './lib/dag.mjs'
9
-
10
- /**
11
- * @param {string | undefined} path відносний шлях до вузла або undefined для всього графу
12
- * @param {{ json?: boolean }} opts
13
- */
14
- export async function runStatus(path, opts = {}) {
15
- const root = cwd()
16
- const config = loadConfig(root)
17
- const tasksDir = resolve(root, config.tasks_dir)
18
- const worktreesDir = resolve(root, config.worktrees_dir)
19
-
20
- const nodes = buildDag(tasksDir, worktreesDir)
21
-
22
- if (path) {
23
- // Normalize: tasks/foo → foo, tasks/foo/ → foo
24
- const id = path.replace(/^tasks\//u, '').replace(/\/$/u, '')
25
- const node = nodes.get(id)
26
- if (!node) {
27
- console.error(`Node not found: ${id}`)
28
- return 1
29
- }
30
- if (opts.json) {
31
- process.stdout.write(JSON.stringify({ id, ...node }, null, 2) + '\n')
32
- } else {
33
- printNode(id, node, nodes)
34
- }
35
- return 0
36
- }
37
-
38
- // Full graph
39
- if (opts.json) {
40
- const out = {}
41
- for (const [id, node] of nodes) {
42
- out[id] = { state: node.state, deps: node.deps, mode: node.mode, executor: node.executor }
43
- }
44
- process.stdout.write(JSON.stringify(out, null, 2) + '\n')
45
- } else {
46
- // Print as tree
47
- const roots = [...nodes.values()].filter(n => !n.parentId)
48
- const counts = {}
49
- for (const { state } of nodes.values()) counts[state] = (counts[state] ?? 0) + 1
50
- const summary = Object.entries(counts).map(([s, n]) => `${s}:${n}`).join(' ')
51
- console.log(`graph — ${summary}\n`)
52
- for (const root of roots) printTree(root.id, nodes, 0)
53
- }
54
- return 0
55
- }
56
-
57
- const ICON = {
58
- 'needs-plan': '⏳', waiting: '○', blocked: '○', running: '◉',
59
- stalled: '⚠', 'pending-audit': '🔍', resolved: '✓', failed: '✗', invalidated: '⊘',
60
- }
61
-
62
- /** @param {string} id @param {Map<string, import('./lib/dag.mjs').GraphNode>} nodes @param {number} depth */
63
- function printTree(id, nodes, depth) {
64
- const node = nodes.get(id)
65
- if (!node) return
66
- const icon = ICON[node.state] ?? '?'
67
- const indent = ' '.repeat(depth)
68
- let detail = ''
69
- if (node.state === 'needs-plan') detail = ` run: graph plan tasks/${id}/`
70
- else if (node.state === 'blocked') detail = ` blocked: ${node.deps.join(', ')}`
71
- console.log(`${indent}${icon} ${id} [${node.state}]${detail}`)
72
- for (const child of node.children) printTree(child, nodes, depth + 1)
73
- }
74
-
75
- /**
76
- * @param {string} id
77
- * @param {import('./lib/dag.mjs').GraphNode} node
78
- * @param {Map<string, import('./lib/dag.mjs').GraphNode>} nodes
79
- */
80
- function printNode(id, node, nodes) {
81
- const icon = ICON[node.state] ?? '?'
82
- console.log(`${icon} ${id} [${node.state}]`)
83
- if (node.deps.length) console.log(` deps: ${node.deps.join(', ')}`)
84
- if (node.children.length) console.log(` children: ${node.children.join(', ')}`)
85
- console.log(` mode: ${node.mode} executor: ${node.executor.type}/${node.executor.model_tier}`)
86
- }