@visulima/vis 1.0.0-alpha.5 → 1.0.0-alpha.6

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 (128) hide show
  1. package/CHANGELOG.md +147 -81
  2. package/README.md +144 -14
  3. package/dist/ai-analysis.d.ts +3 -17
  4. package/dist/ai-cache.d.ts +1 -1
  5. package/dist/ai-types.d.ts +16 -0
  6. package/dist/bin.js +352 -221
  7. package/dist/cache-directory.d.ts +73 -0
  8. package/dist/codeowners.d.ts +30 -0
  9. package/dist/commands/action-graph.d.ts +8 -0
  10. package/dist/commands/audit.d.ts +3 -3
  11. package/dist/commands/cache.d.ts +86 -0
  12. package/dist/commands/ci.d.ts +19 -0
  13. package/dist/commands/docker.d.ts +22 -0
  14. package/dist/commands/generate.d.ts +10 -0
  15. package/dist/commands/ignore-helpers.d.ts +157 -0
  16. package/dist/commands/ignore.d.ts +17 -0
  17. package/dist/commands/info.d.ts +3 -0
  18. package/dist/commands/list.d.ts +3 -0
  19. package/dist/commands/migrate/backup.d.ts +8 -0
  20. package/dist/commands/migrate/constants.d.ts +6 -2
  21. package/dist/commands/migrate/gitleaks.d.ts +29 -0
  22. package/dist/commands/migrate/json.d.ts +4 -2
  23. package/dist/commands/migrate/kingfisher.d.ts +14 -0
  24. package/dist/commands/migrate/moon.d.ts +5 -0
  25. package/dist/commands/migrate/nano-staged.d.ts +30 -0
  26. package/dist/commands/migrate/nx.d.ts +12 -0
  27. package/dist/commands/migrate/prompt.d.ts +2 -0
  28. package/dist/commands/migrate/secretlint.d.ts +14 -0
  29. package/dist/commands/migrate/shared.d.ts +29 -0
  30. package/dist/commands/migrate/turborepo.d.ts +11 -0
  31. package/dist/commands/migrate/types.d.ts +8 -1
  32. package/dist/commands/migrate/verify.d.ts +12 -0
  33. package/dist/commands/run.d.ts +13 -0
  34. package/dist/commands/sbom.d.ts +10 -0
  35. package/dist/commands/secrets.d.ts +3 -0
  36. package/dist/commands/staged.d.ts +7 -0
  37. package/dist/commands/status.d.ts +3 -0
  38. package/dist/commands/sync.d.ts +16 -0
  39. package/dist/commands/task-why.d.ts +3 -0
  40. package/dist/config.d.ts +17 -2
  41. package/dist/config.js +1 -1
  42. package/dist/docker.d.ts +73 -0
  43. package/dist/flakiness.d.ts +40 -0
  44. package/dist/generate/discover.d.ts +29 -0
  45. package/dist/generate/index.d.ts +32 -0
  46. package/dist/generate/index.js +1 -0
  47. package/dist/generate/loader.d.ts +15 -0
  48. package/dist/generate/moon-adapter/filename-interp.d.ts +42 -0
  49. package/dist/generate/moon-adapter/filters.d.ts +22 -0
  50. package/dist/generate/moon-adapter/frontmatter.d.ts +39 -0
  51. package/dist/generate/moon-adapter/index.d.ts +19 -0
  52. package/dist/generate/moon-adapter/tera-subset.d.ts +85 -0
  53. package/dist/generate/moon-adapter/util.d.ts +14 -0
  54. package/dist/generate/prompts.d.ts +25 -0
  55. package/dist/generate/remote.d.ts +43 -0
  56. package/dist/generate/runner.d.ts +37 -0
  57. package/dist/generate/types.d.ts +152 -0
  58. package/dist/hooks.d.ts +118 -0
  59. package/dist/native-binding.d.ts +8 -1
  60. package/dist/packem_chunks/index.js +7 -0
  61. package/dist/packem_chunks/loader.js +1 -0
  62. package/dist/packem_shared/otelPlugin-CJLkguJ8.js +1 -0
  63. package/dist/plugins/otel.d.ts +63 -0
  64. package/dist/pm-runner.d.ts +24 -3
  65. package/dist/run-report.d.ts +40 -0
  66. package/dist/runtime-check.d.ts +27 -0
  67. package/dist/sbom/cyclonedx.d.ts +39 -0
  68. package/dist/sbom/installed-package.d.ts +49 -0
  69. package/dist/sbom/license.d.ts +31 -0
  70. package/dist/sbom/lockfile.d.ts +34 -0
  71. package/dist/sbom/purl.d.ts +25 -0
  72. package/dist/sbom/resolve-specifier.d.ts +24 -0
  73. package/dist/sbom/types.d.ts +196 -0
  74. package/dist/secrets/baseline.d.ts +20 -0
  75. package/dist/secrets/format.d.ts +14 -0
  76. package/dist/secrets/git.d.ts +6 -0
  77. package/dist/secrets/spinner.d.ts +9 -0
  78. package/dist/selectors.d.ts +81 -0
  79. package/dist/shell-history.d.ts +16 -0
  80. package/dist/staged/cli-parse.d.ts +18 -0
  81. package/dist/staged/config.d.ts +14 -0
  82. package/dist/staged/errors/apply-empty-commit-error.d.ts +4 -0
  83. package/dist/staged/errors/config-error.d.ts +4 -0
  84. package/dist/staged/errors/get-backup-stash-error.d.ts +4 -0
  85. package/dist/staged/errors/git-error.d.ts +6 -0
  86. package/dist/staged/errors/index.d.ts +12 -0
  87. package/dist/staged/errors/restore-original-state-error.d.ts +4 -0
  88. package/dist/staged/errors/staged-error.d.ts +8 -0
  89. package/dist/staged/errors/task-error.d.ts +6 -0
  90. package/dist/staged/git/diff.d.ts +76 -0
  91. package/dist/staged/git/exec.d.ts +43 -0
  92. package/dist/staged/git/index.d.ts +77 -0
  93. package/dist/staged/git/stash.d.ts +37 -0
  94. package/dist/staged/index.d.ts +13 -0
  95. package/dist/staged/match.d.ts +12 -0
  96. package/dist/staged/renderer/index.d.ts +9 -0
  97. package/dist/staged/renderer/ink/index.d.ts +4 -0
  98. package/dist/staged/renderer/plain.d.ts +12 -0
  99. package/dist/staged/tasks/build.d.ts +13 -0
  100. package/dist/staged/tasks/exec.d.ts +56 -0
  101. package/dist/staged/tasks/run.d.ts +26 -0
  102. package/dist/staged/types.d.ts +173 -0
  103. package/dist/target-discovery.d.ts +59 -0
  104. package/dist/target-options.d.ts +261 -0
  105. package/dist/tui/components/OutputPanel.d.ts +2 -1
  106. package/dist/tui/components/TaskListPanel.d.ts +1 -1
  107. package/dist/tui/components/TaskStore.d.ts +1 -1
  108. package/dist/tui/components/devcontainer/DevcontainerStore.d.ts +1 -1
  109. package/dist/tui/components/devcontainer/catalogs/mount-suggestions.d.ts +1 -1
  110. package/dist/tui/components/devcontainer/sections/GeneralSection.d.ts +1 -1
  111. package/dist/tui/components/devcontainer/sections/PreviewPanel.d.ts +1 -1
  112. package/dist/tui/components/devcontainer/types.d.ts +4 -4
  113. package/dist/tui/components/graph/GraphStore.d.ts +1 -1
  114. package/dist/tui/components/graph/ProjectDetailPanel.d.ts +1 -1
  115. package/dist/tui/components/optimize/OptimizeDetailPanel.d.ts +1 -1
  116. package/dist/tui/components/optimize/OptimizeStore.d.ts +1 -1
  117. package/dist/tui/components/update/PackageDetailPanel.d.ts +1 -1
  118. package/dist/tui/components/update/PackageListPanel.d.ts +2 -2
  119. package/dist/tui/components/update/UpdateStore.d.ts +1 -1
  120. package/dist/tui/components/update/VisUpdateApp.d.ts +3 -3
  121. package/dist/tui/dynamic-life-cycle.d.ts +2 -1
  122. package/dist/tui/static-life-cycle.d.ts +7 -1
  123. package/dist/watch.d.ts +65 -0
  124. package/dist/workspace.d.ts +326 -6
  125. package/index.js +727 -554
  126. package/package.json +37 -32
  127. package/schemas/project.schema.json +344 -0
  128. package/schemas/vis-config.schema.json +331 -0
@@ -0,0 +1,331 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://visulima.dev/schemas/vis-config.schema.json",
4
+ "title": "vis.config.ts",
5
+ "description": "Workspace configuration for @visulima/vis. Used by defineConfig() in vis.config.ts. This schema is for non-TypeScript editors; TypeScript users get autocomplete from defineConfig() types.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "ai": {
10
+ "type": "object",
11
+ "description": "AI analysis configuration.",
12
+ "additionalProperties": false,
13
+ "properties": {
14
+ "cacheTtl": { "type": "number", "description": "Cache TTL in milliseconds." },
15
+ "priority": {
16
+ "type": "object",
17
+ "description": "Override default provider priority. Higher number = preferred.",
18
+ "additionalProperties": { "type": "number" }
19
+ },
20
+ "provider": { "type": "string", "description": "Use a specific provider (e.g. \"claude\", \"gemini\")." }
21
+ }
22
+ },
23
+ "codeowners": {
24
+ "type": "object",
25
+ "description": "Controls vis sync codeowners output.",
26
+ "additionalProperties": false,
27
+ "properties": {
28
+ "orderBy": {
29
+ "type": "string",
30
+ "enum": ["file-source", "project-id"],
31
+ "default": "file-source"
32
+ },
33
+ "provider": {
34
+ "type": "string",
35
+ "enum": ["github", "gitlab", "bitbucket", "other"],
36
+ "default": "github"
37
+ },
38
+ "globalPaths": {
39
+ "type": "object",
40
+ "description": "Workspace-level paths and their owners (e.g. \"/.github/**\": [\"@org/platform\"]).",
41
+ "additionalProperties": {
42
+ "type": "array",
43
+ "items": { "type": "string" }
44
+ }
45
+ }
46
+ }
47
+ },
48
+ "constraints": {
49
+ "type": "object",
50
+ "description": "Project dependency constraints enforced before running tasks.",
51
+ "additionalProperties": false,
52
+ "properties": {
53
+ "enforceLayerRelationships": {
54
+ "type": "boolean",
55
+ "description": "Projects can only depend on the same or lower layer: configuration < library < scaffolding < tool < automation < application.",
56
+ "default": false
57
+ },
58
+ "tagRelationships": {
59
+ "type": "object",
60
+ "description": "Tag-based rules. Key = source tag, value = allowed dependency tags.",
61
+ "additionalProperties": {
62
+ "type": "array",
63
+ "items": { "type": "string" }
64
+ }
65
+ },
66
+ "typeBoundaries": {
67
+ "type": "object",
68
+ "additionalProperties": false,
69
+ "properties": {
70
+ "enforceApplicationBoundary": {
71
+ "type": "boolean",
72
+ "description": "No project may depend on an application.",
73
+ "default": true
74
+ },
75
+ "allowedDependencyTypes": {
76
+ "type": "object",
77
+ "description": "Maps project types to allowed dependency types.",
78
+ "additionalProperties": {
79
+ "type": "array",
80
+ "items": { "type": "string" }
81
+ }
82
+ }
83
+ }
84
+ },
85
+ "dependencyKindRules": {
86
+ "type": "object",
87
+ "additionalProperties": false,
88
+ "properties": {
89
+ "noDevDependencyOnProductionDep": { "type": "boolean", "default": false },
90
+ "noProductionDependencyOnApplication": { "type": "boolean", "default": false }
91
+ }
92
+ }
93
+ }
94
+ },
95
+ "create": {
96
+ "type": "object",
97
+ "description": "Configuration for vis create scaffolding command.",
98
+ "additionalProperties": false,
99
+ "properties": {
100
+ "auth": { "type": "string", "description": "Authorization token for private templates." },
101
+ "defaultEditor": { "type": "string", "enum": ["vscode"] },
102
+ "defaultPm": { "type": "string", "enum": ["pnpm", "npm", "yarn", "bun"] },
103
+ "defaultProvider": { "type": "string", "enum": ["github", "gitlab", "bitbucket", "sourcehut"], "default": "github" },
104
+ "gitInit": { "type": "boolean", "default": false },
105
+ "install": { "type": "boolean", "default": true },
106
+ "preferOffline": { "type": "boolean", "default": false },
107
+ "registry": {
108
+ "oneOf": [{ "type": "string" }, { "type": "boolean", "const": false }]
109
+ },
110
+ "templates": {
111
+ "type": "object",
112
+ "description": "Named template aliases mapping short names to giget source strings.",
113
+ "additionalProperties": { "type": "string" }
114
+ }
115
+ }
116
+ },
117
+ "overrides": {
118
+ "type": "object",
119
+ "description": "Package override mappings applied during migration.",
120
+ "additionalProperties": { "type": "string" }
121
+ },
122
+ "security": {
123
+ "type": "object",
124
+ "description": "Supply-chain security settings.",
125
+ "additionalProperties": false,
126
+ "properties": {
127
+ "allowBuilds": {
128
+ "type": "object",
129
+ "description": "Allow (true) or deny (false) build scripts per package.",
130
+ "additionalProperties": { "type": "boolean" }
131
+ },
132
+ "blockExoticSubdeps": { "type": "boolean", "default": false },
133
+ "minimumReleaseAge": { "type": "number", "description": "Minutes since publish before allowing install.", "default": 0 },
134
+ "minimumReleaseAgeExclude": { "type": "array", "items": { "type": "string" } },
135
+ "socket": {
136
+ "type": "object",
137
+ "additionalProperties": false,
138
+ "properties": {
139
+ "acceptedRisks": {
140
+ "type": "object",
141
+ "additionalProperties": {
142
+ "type": "object",
143
+ "required": ["reason", "acceptedAt", "acceptedScore"],
144
+ "properties": {
145
+ "reason": { "type": "string" },
146
+ "acceptedAt": { "type": "string", "format": "date-time" },
147
+ "acceptedScore": { "type": "number" }
148
+ }
149
+ }
150
+ },
151
+ "apiToken": { "type": "string" },
152
+ "cacheTtlMs": { "type": "number", "default": 3600000 },
153
+ "enabled": { "type": "boolean", "default": false },
154
+ "minimumScore": { "type": "number", "default": 0.4 },
155
+ "timeoutMs": { "type": "number", "default": 15000 }
156
+ }
157
+ },
158
+ "strictDepBuilds": { "type": "boolean", "default": false },
159
+ "trustPolicy": { "type": "string", "enum": ["off", "no-downgrade"], "default": "off" },
160
+ "trustPolicyExclude": { "type": "array", "items": { "type": "string" } },
161
+ "trustPolicyIgnoreAfter": { "type": "number" },
162
+ "typosquatAllowlist": { "type": "array", "items": { "type": "string" } }
163
+ }
164
+ },
165
+ "sortPackageJson": {
166
+ "type": "object",
167
+ "additionalProperties": false,
168
+ "properties": {
169
+ "sortScripts": { "type": "boolean", "default": false }
170
+ }
171
+ },
172
+ "staged": {
173
+ "description": "Staged file patterns and commands (replaces lint-staged). Accepts string, string[], {title, task}, or mixed arrays. Function-form tasks are supported at runtime but are not JSON-schema-representable.",
174
+ "type": "object",
175
+ "additionalProperties": {
176
+ "oneOf": [
177
+ { "type": "string" },
178
+ { "type": "array", "items": { "oneOf": [{ "type": "string" }, { "type": "object" }] } },
179
+ {
180
+ "type": "object",
181
+ "required": ["title"],
182
+ "properties": {
183
+ "title": { "type": "string" }
184
+ }
185
+ }
186
+ ]
187
+ }
188
+ },
189
+ "targetDefaults": {
190
+ "type": "object",
191
+ "description": "Default target configurations applied to all projects with a matching target.",
192
+ "additionalProperties": { "$ref": "project.schema.json#/$defs/targetConfiguration" }
193
+ },
194
+ "fileGroups": {
195
+ "type": "object",
196
+ "description": "Named file-group patterns, reusable via @filegroup:<name> in target inputs.",
197
+ "additionalProperties": {
198
+ "type": "array",
199
+ "items": { "type": "string" }
200
+ }
201
+ },
202
+ "namedInputs": {
203
+ "type": "object",
204
+ "description": "Named input patterns inherited by every project target.",
205
+ "additionalProperties": {
206
+ "type": "array",
207
+ "items": {
208
+ "oneOf": [
209
+ { "type": "string" },
210
+ { "$ref": "project.schema.json#/$defs/fileSetInput" },
211
+ { "$ref": "project.schema.json#/$defs/environmentInput" },
212
+ { "$ref": "project.schema.json#/$defs/runtimeInput" },
213
+ { "$ref": "project.schema.json#/$defs/externalDependencyInput" }
214
+ ]
215
+ }
216
+ }
217
+ },
218
+ "taskDefaults": {
219
+ "type": "array",
220
+ "description": "Cascading task-default blocks scoped by project metadata.",
221
+ "items": {
222
+ "type": "object",
223
+ "required": ["targets"],
224
+ "additionalProperties": false,
225
+ "properties": {
226
+ "scope": {
227
+ "type": "object",
228
+ "description": "Scope predicate — all fields must match for the block to apply.",
229
+ "additionalProperties": false,
230
+ "properties": {
231
+ "tags": { "type": "array", "items": { "type": "string" } },
232
+ "projectType": { "type": "string", "enum": ["library", "application"] },
233
+ "layer": {
234
+ "oneOf": [
235
+ { "type": "string", "enum": ["configuration", "library", "scaffolding", "tool", "automation", "application"] },
236
+ {
237
+ "type": "array",
238
+ "items": { "type": "string", "enum": ["configuration", "library", "scaffolding", "tool", "automation", "application"] }
239
+ }
240
+ ]
241
+ },
242
+ "stack": {
243
+ "oneOf": [
244
+ { "type": "string", "enum": ["backend", "frontend", "data", "infrastructure", "systems"] },
245
+ { "type": "array", "items": { "type": "string", "enum": ["backend", "frontend", "data", "infrastructure", "systems"] } }
246
+ ]
247
+ },
248
+ "language": {
249
+ "oneOf": [{ "type": "string" }, { "type": "array", "items": { "type": "string" } }]
250
+ }
251
+ }
252
+ },
253
+ "targets": {
254
+ "type": "object",
255
+ "additionalProperties": { "$ref": "project.schema.json#/$defs/targetConfiguration" }
256
+ }
257
+ }
258
+ }
259
+ },
260
+ "taskRunnerOptions": {
261
+ "type": "object",
262
+ "description": "Task runner engine options.",
263
+ "additionalProperties": false,
264
+ "properties": {
265
+ "parallel": { "oneOf": [{ "type": "number" }, { "type": "boolean" }], "default": 3 },
266
+ "smartLockfileHashing": { "type": "boolean", "default": false },
267
+ "frameworkInference": { "type": "boolean", "default": false },
268
+ "autoFingerprint": { "type": "boolean", "default": false },
269
+ "cacheDiagnostics": { "type": "boolean", "default": false },
270
+ "cacheDirectory": { "type": "string" },
271
+ "dryRun": { "type": "boolean", "default": false },
272
+ "summarize": { "type": "boolean", "default": false },
273
+ "skipNxCache": { "type": "boolean" },
274
+ "globalInputs": { "type": "array", "items": { "type": "string" } },
275
+ "globalEnv": { "type": "array", "items": { "type": "string" } },
276
+ "maxCacheAge": { "type": "number" },
277
+ "maxCacheSize": { "type": "string" },
278
+ "remoteCache": {
279
+ "type": "object",
280
+ "required": ["url"],
281
+ "additionalProperties": false,
282
+ "properties": {
283
+ "url": { "type": "string" },
284
+ "token": { "type": "string" },
285
+ "teamId": { "type": "string" },
286
+ "read": { "type": "boolean", "default": true },
287
+ "write": { "type": "boolean", "default": true }
288
+ }
289
+ }
290
+ }
291
+ },
292
+ "tui": {
293
+ "type": "object",
294
+ "additionalProperties": false,
295
+ "properties": {
296
+ "autoExit": {
297
+ "oneOf": [{ "type": "boolean" }, { "type": "number" }],
298
+ "description": "Auto-exit TUI after completion. false=stay open, true=3s countdown, number=custom seconds.",
299
+ "default": false
300
+ }
301
+ }
302
+ },
303
+ "update": {
304
+ "type": "object",
305
+ "description": "Defaults for vis check and vis update commands.",
306
+ "additionalProperties": false,
307
+ "properties": {
308
+ "depFields": { "type": "array", "items": { "type": "string" } },
309
+ "exclude": { "type": "array", "items": { "type": "string" } },
310
+ "format": { "type": "string", "enum": ["table", "json", "minimal"] },
311
+ "ignore": { "type": "array", "items": { "type": "string" } },
312
+ "include": { "type": "array", "items": { "type": "string" } },
313
+ "includeLocked": { "type": "boolean", "default": false },
314
+ "install": { "type": "boolean" },
315
+ "minimumReleaseAge": { "type": "number" },
316
+ "minimumReleaseAgeExclude": { "type": "array", "items": { "type": "string" } },
317
+ "packageMode": {
318
+ "type": "object",
319
+ "additionalProperties": { "type": "string", "enum": ["latest", "minor", "patch"] }
320
+ },
321
+ "prerelease": { "type": "boolean" },
322
+ "security": { "type": "boolean" },
323
+ "target": { "type": "string", "enum": ["latest", "minor", "patch"] }
324
+ }
325
+ },
326
+ "versionConstraint": {
327
+ "type": "string",
328
+ "description": "Minimum vis CLI version required. Accepts semver ranges (e.g. \">=1.0.0\", \"^1.2.0\")."
329
+ }
330
+ }
331
+ }