@nitra/cursor 4.1.2 → 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 (70) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/bin/docs/n-cursor.md +1 -9
  3. package/bin/n-cursor.js +3 -25
  4. package/package.json +1 -1
  5. package/rules/docker/lib/docs/docker-mirror.md +1 -1
  6. package/rules/docker/lib/docs/docker-native-addon.md +1 -1
  7. package/rules/test/coverage/coverage.mjs +9 -19
  8. package/rules/test/test.mdc +1 -1
  9. package/scripts/dispatcher/trace.mjs +4 -16
  10. package/scripts/docs/build-agents-commands.md +1 -1
  11. package/scripts/docs/worktree-cli.md +1 -1
  12. package/scripts/lib/changed-files.mjs +19 -3
  13. package/scripts/lib/sync-gitignore-worktree.mjs +4 -5
  14. package/scripts/worktree-cli.mjs +1 -2
  15. package/skills/docgen/js/docgen-gen.mjs +7 -7
  16. package/docs/flow.MD +0 -1364
  17. package/scripts/dispatcher/docs/graph.md +0 -346
  18. package/scripts/dispatcher/docs/index.md +0 -236
  19. package/scripts/dispatcher/docs/trace.md +0 -296
  20. package/scripts/dispatcher/graph/lib/cmd-init.mjs +0 -112
  21. package/scripts/dispatcher/graph/lib/cmd-invalidate.mjs +0 -96
  22. package/scripts/dispatcher/graph/lib/cmd-kill.mjs +0 -141
  23. package/scripts/dispatcher/graph/lib/cmd-plan.mjs +0 -142
  24. package/scripts/dispatcher/graph/lib/cmd-run.mjs +0 -328
  25. package/scripts/dispatcher/graph/lib/cmd-scan.mjs +0 -115
  26. package/scripts/dispatcher/graph/lib/cmd-setup.mjs +0 -111
  27. package/scripts/dispatcher/graph/lib/cmd-signals.mjs +0 -328
  28. package/scripts/dispatcher/graph/lib/cmd-status.mjs +0 -131
  29. package/scripts/dispatcher/graph/lib/cmd-verify.mjs +0 -100
  30. package/scripts/dispatcher/graph/lib/cmd-watch.mjs +0 -128
  31. package/scripts/dispatcher/graph/lib/config.mjs +0 -103
  32. package/scripts/dispatcher/graph/lib/frontmatter.mjs +0 -224
  33. package/scripts/dispatcher/graph/lib/nnn.mjs +0 -127
  34. package/scripts/dispatcher/graph/lib/node-state.mjs +0 -157
  35. package/scripts/dispatcher/graph/lib/scanner.mjs +0 -235
  36. package/scripts/dispatcher/graph/lib/worktree-ops.mjs +0 -193
  37. package/scripts/dispatcher/graph-tasks.mjs +0 -92
  38. package/scripts/dispatcher/graph.mjs +0 -212
  39. package/scripts/dispatcher/index.mjs +0 -45
  40. package/scripts/dispatcher/lib/docs/active.md +0 -348
  41. package/scripts/dispatcher/lib/docs/artifact.md +0 -232
  42. package/scripts/dispatcher/lib/docs/budget.md +0 -167
  43. package/scripts/dispatcher/lib/docs/capability.md +0 -196
  44. package/scripts/dispatcher/lib/docs/commands.md +0 -210
  45. package/scripts/dispatcher/lib/docs/events.md +0 -183
  46. package/scripts/dispatcher/lib/docs/executor.md +0 -190
  47. package/scripts/dispatcher/lib/docs/gate.md +0 -231
  48. package/scripts/dispatcher/lib/docs/level.md +0 -335
  49. package/scripts/dispatcher/lib/docs/plan-panel.md +0 -181
  50. package/scripts/dispatcher/lib/docs/plan.md +0 -200
  51. package/scripts/dispatcher/lib/docs/planner.md +0 -269
  52. package/scripts/dispatcher/lib/docs/review.md +0 -255
  53. package/scripts/dispatcher/lib/docs/reviewer.md +0 -240
  54. package/scripts/dispatcher/lib/docs/snapshot.md +0 -247
  55. package/scripts/dispatcher/lib/docs/spec.md +0 -203
  56. package/scripts/dispatcher/lib/docs/state-store.md +0 -303
  57. package/scripts/dispatcher/lib/docs/subagent-runner.md +0 -173
  58. package/scripts/dispatcher/lib/events.mjs +0 -67
  59. package/scripts/dispatcher/lib/executor.mjs +0 -107
  60. package/scripts/dispatcher/lib/plan-panel.mjs +0 -76
  61. package/scripts/dispatcher/lib/state-store.mjs +0 -173
  62. package/scripts/dispatcher/lib/subagent-runner.mjs +0 -53
  63. package/scripts/graph/index.mjs +0 -115
  64. package/scripts/graph/lib/config.mjs +0 -62
  65. package/scripts/graph/lib/dag.mjs +0 -161
  66. package/scripts/graph/lib/frontmatter.mjs +0 -70
  67. package/scripts/graph/lib/nnn.mjs +0 -77
  68. package/scripts/graph/lib/state.mjs +0 -110
  69. package/scripts/graph/scan.mjs +0 -64
  70. 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
- }