@nitra/cursor 4.1.2 → 5.0.1

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 (72) hide show
  1. package/CHANGELOG.md +22 -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/npm-module/npm-module.mdc +1 -1
  8. package/rules/npm-module/policy/npm_publish_yml/template/npm-publish.yml.snippet.yml +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/docs/flow.MD +0 -1364
  19. package/scripts/dispatcher/docs/graph.md +0 -346
  20. package/scripts/dispatcher/docs/index.md +0 -236
  21. package/scripts/dispatcher/docs/trace.md +0 -296
  22. package/scripts/dispatcher/graph/lib/cmd-init.mjs +0 -112
  23. package/scripts/dispatcher/graph/lib/cmd-invalidate.mjs +0 -96
  24. package/scripts/dispatcher/graph/lib/cmd-kill.mjs +0 -141
  25. package/scripts/dispatcher/graph/lib/cmd-plan.mjs +0 -142
  26. package/scripts/dispatcher/graph/lib/cmd-run.mjs +0 -328
  27. package/scripts/dispatcher/graph/lib/cmd-scan.mjs +0 -115
  28. package/scripts/dispatcher/graph/lib/cmd-setup.mjs +0 -111
  29. package/scripts/dispatcher/graph/lib/cmd-signals.mjs +0 -328
  30. package/scripts/dispatcher/graph/lib/cmd-status.mjs +0 -131
  31. package/scripts/dispatcher/graph/lib/cmd-verify.mjs +0 -100
  32. package/scripts/dispatcher/graph/lib/cmd-watch.mjs +0 -128
  33. package/scripts/dispatcher/graph/lib/config.mjs +0 -103
  34. package/scripts/dispatcher/graph/lib/frontmatter.mjs +0 -224
  35. package/scripts/dispatcher/graph/lib/nnn.mjs +0 -127
  36. package/scripts/dispatcher/graph/lib/node-state.mjs +0 -157
  37. package/scripts/dispatcher/graph/lib/scanner.mjs +0 -235
  38. package/scripts/dispatcher/graph/lib/worktree-ops.mjs +0 -193
  39. package/scripts/dispatcher/graph-tasks.mjs +0 -92
  40. package/scripts/dispatcher/graph.mjs +0 -212
  41. package/scripts/dispatcher/index.mjs +0 -45
  42. package/scripts/dispatcher/lib/docs/active.md +0 -348
  43. package/scripts/dispatcher/lib/docs/artifact.md +0 -232
  44. package/scripts/dispatcher/lib/docs/budget.md +0 -167
  45. package/scripts/dispatcher/lib/docs/capability.md +0 -196
  46. package/scripts/dispatcher/lib/docs/commands.md +0 -210
  47. package/scripts/dispatcher/lib/docs/events.md +0 -183
  48. package/scripts/dispatcher/lib/docs/executor.md +0 -190
  49. package/scripts/dispatcher/lib/docs/gate.md +0 -231
  50. package/scripts/dispatcher/lib/docs/level.md +0 -335
  51. package/scripts/dispatcher/lib/docs/plan-panel.md +0 -181
  52. package/scripts/dispatcher/lib/docs/plan.md +0 -200
  53. package/scripts/dispatcher/lib/docs/planner.md +0 -269
  54. package/scripts/dispatcher/lib/docs/review.md +0 -255
  55. package/scripts/dispatcher/lib/docs/reviewer.md +0 -240
  56. package/scripts/dispatcher/lib/docs/snapshot.md +0 -247
  57. package/scripts/dispatcher/lib/docs/spec.md +0 -203
  58. package/scripts/dispatcher/lib/docs/state-store.md +0 -303
  59. package/scripts/dispatcher/lib/docs/subagent-runner.md +0 -173
  60. package/scripts/dispatcher/lib/events.mjs +0 -67
  61. package/scripts/dispatcher/lib/executor.mjs +0 -107
  62. package/scripts/dispatcher/lib/plan-panel.mjs +0 -76
  63. package/scripts/dispatcher/lib/state-store.mjs +0 -173
  64. package/scripts/dispatcher/lib/subagent-runner.mjs +0 -53
  65. package/scripts/graph/index.mjs +0 -115
  66. package/scripts/graph/lib/config.mjs +0 -62
  67. package/scripts/graph/lib/dag.mjs +0 -161
  68. package/scripts/graph/lib/frontmatter.mjs +0 -70
  69. package/scripts/graph/lib/nnn.mjs +0 -77
  70. package/scripts/graph/lib/state.mjs +0 -110
  71. package/scripts/graph/scan.mjs +0 -64
  72. 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
- }