@jskit-ai/agent-docs 0.1.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 (73) hide show
  1. package/DISTR_AGENT.md +25 -0
  2. package/guide/agent/app-extras/assistant.md +636 -0
  3. package/guide/agent/app-extras/realtime.md +223 -0
  4. package/guide/agent/app-setup/a-more-interesting-shell.md +643 -0
  5. package/guide/agent/app-setup/authentication.md +948 -0
  6. package/guide/agent/app-setup/console.md +316 -0
  7. package/guide/agent/app-setup/database-layer.md +775 -0
  8. package/guide/agent/app-setup/initial-scaffolding.md +714 -0
  9. package/guide/agent/app-setup/multi-homing.md +655 -0
  10. package/guide/agent/app-setup/users.md +355 -0
  11. package/guide/agent/app-setup/working-with-the-jskit-cli.md +983 -0
  12. package/guide/agent/generators/advanced-cruds.md +923 -0
  13. package/guide/agent/generators/crud-generators.md +556 -0
  14. package/guide/agent/generators/intro.md +63 -0
  15. package/guide/agent/generators/ui-generators.md +648 -0
  16. package/guide/agent/index.md +39 -0
  17. package/guide/human/app-extras/assistant.md +695 -0
  18. package/guide/human/app-extras/realtime.md +270 -0
  19. package/guide/human/app-setup/a-more-interesting-shell.md +734 -0
  20. package/guide/human/app-setup/authentication.md +963 -0
  21. package/guide/human/app-setup/console.md +352 -0
  22. package/guide/human/app-setup/database-layer.md +822 -0
  23. package/guide/human/app-setup/initial-scaffolding.md +738 -0
  24. package/guide/human/app-setup/multi-homing.md +795 -0
  25. package/guide/human/app-setup/users.md +404 -0
  26. package/guide/human/app-setup/working-with-the-jskit-cli.md +997 -0
  27. package/guide/human/generators/advanced-cruds.md +923 -0
  28. package/guide/human/generators/crud-generators.md +556 -0
  29. package/guide/human/generators/intro.md +109 -0
  30. package/guide/human/generators/ui-generators.md +665 -0
  31. package/guide/human/index.md +39 -0
  32. package/package.json +28 -0
  33. package/reference/autogen/KERNEL_MAP.md +536 -0
  34. package/reference/autogen/README.md +44 -0
  35. package/reference/autogen/packages/agent-docs.md +13 -0
  36. package/reference/autogen/packages/assistant-core.md +310 -0
  37. package/reference/autogen/packages/assistant-runtime.md +219 -0
  38. package/reference/autogen/packages/assistant.md +73 -0
  39. package/reference/autogen/packages/auth-core.md +352 -0
  40. package/reference/autogen/packages/auth-provider-supabase-core.md +223 -0
  41. package/reference/autogen/packages/auth-web.md +267 -0
  42. package/reference/autogen/packages/console-core.md +116 -0
  43. package/reference/autogen/packages/console-web.md +37 -0
  44. package/reference/autogen/packages/crud-core.md +283 -0
  45. package/reference/autogen/packages/crud-server-generator.md +220 -0
  46. package/reference/autogen/packages/crud-ui-generator.md +154 -0
  47. package/reference/autogen/packages/database-runtime-mysql.md +61 -0
  48. package/reference/autogen/packages/database-runtime-postgres.md +39 -0
  49. package/reference/autogen/packages/database-runtime.md +216 -0
  50. package/reference/autogen/packages/http-runtime.md +213 -0
  51. package/reference/autogen/packages/kernel.md +1350 -0
  52. package/reference/autogen/packages/realtime.md +95 -0
  53. package/reference/autogen/packages/shell-web.md +349 -0
  54. package/reference/autogen/packages/storage-runtime.md +39 -0
  55. package/reference/autogen/packages/ui-generator.md +101 -0
  56. package/reference/autogen/packages/uploads-image-web.md +76 -0
  57. package/reference/autogen/packages/uploads-runtime.md +85 -0
  58. package/reference/autogen/packages/users-core.md +307 -0
  59. package/reference/autogen/packages/users-web.md +473 -0
  60. package/reference/autogen/packages/workspaces-core.md +415 -0
  61. package/reference/autogen/packages/workspaces-web.md +372 -0
  62. package/reference/autogen/tooling/config-eslint.md +52 -0
  63. package/reference/autogen/tooling/create-app.md +194 -0
  64. package/reference/autogen/tooling/jskit-catalog.md +27 -0
  65. package/reference/autogen/tooling/jskit-cli.md +624 -0
  66. package/reference/autogen/tooling/test-support.md +27 -0
  67. package/reference/autogen/tooling/testUtils.md +31 -0
  68. package/templates/APP_BLUEPRINT.md +57 -0
  69. package/workflow/app-state.md +33 -0
  70. package/workflow/bootstrap.md +24 -0
  71. package/workflow/feature-delivery.md +21 -0
  72. package/workflow/review.md +22 -0
  73. package/workflow/scoping.md +26 -0
@@ -0,0 +1,624 @@
1
+ # tooling/jskit-cli
2
+
3
+ Generated by `npm run agent-docs:build`.
4
+ Do not edit manually.
5
+
6
+ Generated inventory for `tooling/jskit-cli`.
7
+ Use this on demand; do not load the full index at startup.
8
+
9
+ ## Scope
10
+ - Source: `tooling/jskit-cli/**/*{.js,.mjs,.cjs,.vue}`
11
+ - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `LEGACY/`
12
+
13
+ ## Sections
14
+
15
+ ### src
16
+
17
+ ### `src/client/index.js`
18
+ Exports
19
+ - None
20
+
21
+ ### `src/index.js`
22
+ Exports
23
+ - None
24
+
25
+ ### `src/server/cliEntrypoint.js`
26
+ Exports
27
+ - `runCliEntrypoint(runCli, argv = process.argv.slice(2))`
28
+
29
+ ### `src/server/cliRuntime/appState.js`
30
+ Exports
31
+ - `resolveAppRootFromCwd(cwd)`
32
+ - `loadAppPackageJson(appRoot)`
33
+ - `createDefaultLock()`
34
+ - `loadLockFile(appRoot)`
35
+ - `createManagedPackageJsonChange(hadPrevious, previousValue, value)`
36
+ - `ensurePackageJsonSection(packageJson, sectionName)`
37
+ - `applyPackageJsonField(packageJson, sectionName, key, value)`
38
+ - `removePackageJsonField(packageJson, sectionName, key)`
39
+ - `restorePackageJsonField(packageJson, sectionName, key, managedChange)`
40
+ - `parseEnvLineValue(line, key)`
41
+ - `upsertEnvValue(content, key, value)`
42
+ - `removeEnvValue(content, key, expectedValue, previous)`
43
+ - `writeJsonFile`
44
+
45
+ ### `src/server/cliRuntime/capabilitySupport.js`
46
+ Exports
47
+ - `listDeclaredCapabilities(capabilitiesSection, fieldName)`
48
+ - `buildCapabilityDetailsForPackage({ packageRegistry, packageId, dependsOn = [], provides = [], requires = [] })`
49
+ - `validatePlannedCapabilityClosure(plannedPackageIds, packageRegistry, actionLabel)`
50
+ Local functions
51
+ - `buildCapabilityGraph(packageRegistry)`
52
+ - `createCapabilityPackageDetail(packageId, packageRegistry)`
53
+ - `collectPlannedCapabilityIssues(plannedPackageIds, packageRegistry)`
54
+
55
+ ### `src/server/cliRuntime/completion.js`
56
+ Exports
57
+ - `discoverPlacementTargets(appRoot)`
58
+ - `discoverResourceDisplayFields(appRoot, resourceFile = "")`
59
+ - `discoverResourceFiles(appRoot)`
60
+ - `discoverSurfaces(appRoot)`
61
+ - `getCompletions({ appRoot = process.cwd(), words = [], cword = 0 } = {})`
62
+ - `normalizeCompletionInvocation(words = [], cword = 0)`
63
+ - `renderBashCompletionScript()`
64
+ Local functions
65
+ - `normalizeText(value = "")`
66
+ - `toPosix(value = "")`
67
+ - `uniqueSorted(values = [])`
68
+ - `filterByPrefix(values = [], prefix = "")`
69
+ - `resolveAllowedValues(schema = {})`
70
+ - `ensureTrailingSlash(value = "")`
71
+ - `pathExists(targetPath)`
72
+ - `readJsonFile(filePath)`
73
+ - `safeReaddir(directoryPath)`
74
+ - `walkDirectory(rootPath, { includeDirectories = false, includeFiles = true, fileFilter = null } = {})`
75
+ - `importDefaultModule(modulePath)`
76
+ - `loadCommandCatalog()`
77
+ - `isDirectoryLike(entry)`
78
+ - `discoverDescriptorPackages(appRoot)`
79
+ - `discoverBundleIds(appRoot)`
80
+ - `toShortPackageId(packageId = "")`
81
+ - `discoverGenerators(appRoot)`
82
+ - `discoverRuntimePackages(appRoot)`
83
+ - `extractMatches(source = "", patterns = [])`
84
+ - `discoverComponentTokens(appRoot)`
85
+ - `isRouteLikeRelativePath(relativePath = "")`
86
+ - `discoverPagesRelativeDirectories(appRoot)`
87
+ - `discoverPagesRelativeFiles(appRoot)`
88
+ - `discoverAppVueFiles(appRoot)`
89
+ - `buildOptionSuggestions(optionNames = [], { current = "", seenOptionNames = new Set() } = {})`
90
+ - `parseOptionToken(token = "")`
91
+ - `parseContextTokens(tokens = [], optionMeta = {})`
92
+ - `resolveCurrentOptionValueRequest({ currentToken = "", previousToken = "", optionMeta = {} } = {})`
93
+ - `completeCommaSeparatedValues({ currentValue = "", allowedValues = [] } = {})`
94
+ - `extractBracketParams(value = "")`
95
+ - `completeOptionValue({ appRoot, optionName = "", valuePrefix = "", includeOptionPrefix = false, parseState, currentGenerator = "", optionMeta = {} } = {})`
96
+ - `completeRelativeDirectoryRoot(appRoot, current = "")`
97
+ - `completeRelativePageTargetFile(appRoot, current = "")`
98
+ - `completeAppVueFile(appRoot, current = "")`
99
+ - `buildTopLevelCommandMetadata(catalogModule)`
100
+ - `buildCommandOptionMeta(command = "", catalogModule)`
101
+ - `buildGeneratorLookup(generators = [])`
102
+ - `buildGeneratorOptionMeta(generator = null, subcommandName = "")`
103
+ - `resolveImplicitGeneratorSubcommand(generator = null, tokensAfterGenerator = [], currentToken = "")`
104
+ - `completeGenericContext({ appRoot, currentToken = "", previousToken = "", optionMeta = {}, positionalArgs = [], tokensBeforeCurrent = [], optionNames = [], positionalCompleter = null, generatorName = "", subcommandName = "" } = {})`
105
+ - `completeTopLevel({ currentToken = "", catalogModule })`
106
+ - `completeGenerateCommand({ appRoot, words, cword, catalogModule })`
107
+ - `completeCommand({ appRoot, words, cword, catalogModule })`
108
+
109
+ ### `src/server/cliRuntime/descriptorValidation.js`
110
+ Exports
111
+ - `validatePackageDescriptorShape(descriptor, descriptorPath)`
112
+ - `validateAppLocalPackageDescriptorShape(descriptor, descriptorPath, { expectedPackageId = "", fallbackVersion = "" } = {})`
113
+ - `createPackageEntry({ packageId, version, descriptor, rootDir = "", relativeDir = "", descriptorRelativePath = "", packageJson = {}, sourceType = "", source = {} })`
114
+ - `isGeneratorPackageEntry(packageEntry)`
115
+ Local functions
116
+ - `normalizePackageKind(rawValue, descriptorPath)`
117
+ - `validateFileMutationShape(descriptor, descriptorPath)`
118
+
119
+ ### `src/server/cliRuntime/ioAndMigrations.js`
120
+ Exports
121
+ - `buildFileWriteGroups(fileMutations, { packageId = "" } = {})`
122
+ - `normalizeRelativePath(fromRoot, absolutePath)`
123
+ - `hashBuffer(buffer)`
124
+ - `normalizeMigrationExtension(value = "", fallback = ".cjs")`
125
+ - `normalizeMigrationId(value, packageId)`
126
+ - `resolveAppRelativePathWithinRoot(appRoot, relativePath, contextLabel = "path")`
127
+ - `normalizeMigrationDirectory(value, packageId)`
128
+ - `formatMigrationTimestamp(date = new Date())`
129
+ - `buildManagedMigrationFileName({ packageId = "", migrationId = "", extension = ".cjs", timestamp = "" } = {})`
130
+ - `buildManagedMigrationRelativePath({ toDir = "migrations", packageId = "", migrationId = "", extension = ".cjs", timestamp = "" } = {})`
131
+ - `buildManagedMigrationRelativePathLabel({ toDir = "migrations", migrationId = "", extension = ".cjs" } = {})`
132
+ - `findExistingManagedMigrationPathById({ appRoot, toDir = "migrations", packageId = "", migrationId = "", extension = ".cjs" } = {})`
133
+ - `upsertManagedMigrationRecord(managedMigrations, record)`
134
+ - `fileExists(absolutePath)`
135
+ - `readJsonFile(absolutePath)`
136
+ - `writeJsonFile(absolutePath, value)`
137
+ - `readFileBufferIfExists(absolutePath)`
138
+ - `loadAppConfigModuleConfig(appRoot, relativePath)`
139
+ - `loadMutationWhenConfigContext(appRoot)`
140
+ Local functions
141
+ - `normalizeRelativePosixPath(pathValue)`
142
+
143
+ ### `src/server/cliRuntime/localPackageSupport.js`
144
+ Exports
145
+ - `resolvePackageDependencySpecifier(packageEntry, { existingValue = "" } = {})`
146
+ - `normalizeJskitDependencySpecifier(packageId, dependencySpecifier)`
147
+ - `normalizePackageNameSegment(rawValue, { label = "package name" } = {})`
148
+ - `normalizeScopeName(rawScope)`
149
+ - `resolveDefaultLocalScopeFromAppName(appPackageName)`
150
+ - `normalizeRelativePosixPath(pathValue)`
151
+ - `toFileDependencySpecifier(relativePath)`
152
+ - `resolveLocalPackageId({ rawName, appPackageName, inlineOptions })`
153
+ - `createLocalPackageScaffoldFiles({ packageId, packageDescription })`
154
+ - `resolveLocalDependencyOrder(initialPackageIds, packageRegistry)`
155
+ Local functions
156
+ - `createLocalPackageDescriptorTemplate({ packageId, description })`
157
+
158
+ ### `src/server/cliRuntime/mutationApplication.js`
159
+ Exports
160
+ - `applyFileMutations`
161
+ - `prepareFileMutations`
162
+ - `applyTextMutations`
163
+ - `partitionPreFileConfigTextMutations`
164
+ - `resolvePositioningMutations`
165
+
166
+ ### `src/server/cliRuntime/mutations/fileMutations.js`
167
+ Exports
168
+ - `applyFileMutations(packageEntry, appRoot, preparedMutations, managedFiles, managedMigrations, touchedFiles, warnings = [], existingManagedFiles = [])`
169
+ - `prepareFileMutations(packageEntry, options, appRoot, fileMutations, existingManagedFiles = [])`
170
+
171
+ ### `src/server/cliRuntime/mutations/installMigrationMutation.js`
172
+ Exports
173
+ - `applyInstallMigrationMutation({ packageEntry, preparedMutation, appRoot, managedMigrations, managedMigrationById, touchedFiles, warnings } = {})`
174
+
175
+ ### `src/server/cliRuntime/mutations/mutationPathUtils.js`
176
+ Exports
177
+ - `normalizeMutationRelativeFilePath(value = "")`
178
+
179
+ ### `src/server/cliRuntime/mutations/surfaceTargets.js`
180
+ Exports
181
+ - `resolveSurfaceTargetPathsForMutation({ appRoot, packageId, mutation, configContext } = {})`
182
+ Local functions
183
+ - `normalizeSurfacePagesRootForMutation(value = "")`
184
+ - `normalizeSurfacePathForMutation(value = "", { context = "toSurfacePath" } = {})`
185
+ - `resolveSurfaceDefinitionFromConfigForMutation({ configContext = {}, surfaceId = "", packageId = "" } = {})`
186
+
187
+ ### `src/server/cliRuntime/mutations/templateContext.js`
188
+ Exports
189
+ - `applyTemplateContextReplacements(sourceContent, replacements)`
190
+ - `interpolateFileMutationRecord(mutation, options, packageId)`
191
+ - `renderTemplateFile(sourcePath, options, packageId, interpolationKey, templateContextReplacements = null)`
192
+ - `resolveTemplateContextReplacementsForMutation({ packageEntry, mutation, options, appRoot, sourcePath, targetPaths, mutationContext = "files mutation" } = {})`
193
+
194
+ ### `src/server/cliRuntime/mutations/textMutations.js`
195
+ Exports
196
+ - `applyTextMutations(packageEntry, appRoot, textMutations, options, managedText, touchedFiles)`
197
+ - `partitionPreFileConfigTextMutations(textMutations = [])`
198
+ - `resolvePositioningMutations(descriptorMutations = {})`
199
+ Local functions
200
+ - `resolveSettingsFieldsContractTarget(relativeFile = "")`
201
+ - `validateSettingsFieldsContractMutationTarget({ appRoot, relativeFile, packageId } = {})`
202
+ - `isPositioningTextMutation(value = {})`
203
+ - `isPreFileConfigTextMutation(value = {})`
204
+
205
+ ### `src/server/cliRuntime/mutationWhen.js`
206
+ Exports
207
+ - `normalizeMutationExtension(value)`
208
+ - `normalizeTemplateContextRecord(value)`
209
+ - `normalizeFileMutationRecord(value)`
210
+ - `normalizeMutationWhen(value)`
211
+ - `readObjectPath(source, rawPath)`
212
+ - `normalizeWhenSourceValue(value)`
213
+ - `resolveWhenConfigValue(configContext = {}, configPath = "")`
214
+ - `shouldApplyMutationWhen(when, { options = {}, configContext = {}, packageId = "", mutationContext = "mutation" } = {})`
215
+ Local functions
216
+ - `normalizeWhenComparisonValue(value)`
217
+ - `splitWhenComparisonTokens(value)`
218
+ - `matchesWhenComparisonValue(optionValue, optionTokens, expectedValue)`
219
+
220
+ ### `src/server/cliRuntime/packageInstallFlow.js`
221
+ Exports
222
+ - `adoptAppLocalPackageDependencies({ appRoot, appPackageJson, lock })`
223
+ - `applyPackageInstall({ packageEntry, packageOptions, appRoot, appPackageJson, lock, packageRegistry, touchedFiles, reportTemplateFetchStatus = null })`
224
+ - `applyPackageMigrationsOnly({ packageEntry, packageOptions, appRoot, lock, touchedFiles })`
225
+ - `applyPackagePositioning({ packageEntry, packageOptions, appRoot, lock, touchedFiles })`
226
+ Local functions
227
+ - `createManagedRecordBase(packageEntry, options)`
228
+ - `cloneManagedMap(value = {})`
229
+ - `cloneManagedArray(value = [])`
230
+ - `resolveManagedSourceRecord(packageEntry, existingInstall = {})`
231
+
232
+ ### `src/server/cliRuntime/packageIntrospection.js`
233
+ Exports
234
+ - `classifyExportedSymbols`
235
+ - `deriveProviderDisplayName`
236
+ - `formatPackageSubpathImport`
237
+ - `inspectPackageOfferings({ packageEntry })`
238
+ - `normalizePlacementContributions`
239
+ - `normalizePlacementOutlets`
240
+ - `shouldShowPackageExportTarget`
241
+
242
+ ### `src/server/cliRuntime/packageIntrospection/exportedSymbols.js`
243
+ Exports
244
+ - `classifyExportedSymbols(symbols = [])`
245
+ - `collectExportFileSymbolSummaries({ packageRoot, packageExports, notes })`
246
+ Local functions
247
+ - `parseNamedExportSpecifiers(specifierSource)`
248
+ - `parseExportedSymbolsFromSource(source)`
249
+
250
+ ### `src/server/cliRuntime/packageIntrospection/exportEntries.js`
251
+ Exports
252
+ - `describePackageExports({ packageRoot, packageJson })`
253
+ - `formatPackageSubpathImport(packageId, subpath)`
254
+ - `shouldShowPackageExportTarget({ subpath, target, targetType })`
255
+ Local functions
256
+ - `collectPackageExportEntries(exportsField)`
257
+ - `deriveCanonicalExportTargetForSubpath(subpath)`
258
+
259
+ ### `src/server/cliRuntime/packageIntrospection/placementNormalization.js`
260
+ Exports
261
+ - `normalizePlacementContributions(value)`
262
+ - `normalizePlacementOutlets(value)`
263
+
264
+ ### `src/server/cliRuntime/packageIntrospection/providerBindingIntrospection.js`
265
+ Exports
266
+ - `collectContainerBindingsFromProviderSource({ source, providerLabel, entrypoint, providerExportName })`
267
+ - `deriveProviderDisplayName(bindingRecord)`
268
+ Local functions
269
+ - `escapeRegexLiteral(value)`
270
+ - `parseQuotedStringLiteral(value)`
271
+ - `resolveLineNumberAtIndex(source, index)`
272
+ - `findMatchingBraceIndex(source, openBraceIndex)`
273
+ - `extractProviderLifecycleMethodRanges(source, providerExportName)`
274
+ - `collectConstTokenAssignments(source)`
275
+ - `resolveTokenFromExpression(expression, constAssignments, visited = new Set())`
276
+
277
+ ### `src/server/cliRuntime/packageOptions.js`
278
+ Exports
279
+ - `normalizeSurfaceIdForMutation(value = "")`
280
+ - `parseSurfaceIdListForMutation(value = "")`
281
+ - `resolvePackageOptions(packageEntry, inlineOptions, io, { appRoot = "" } = {})`
282
+ - `validateInlineOptionsForPackage(packageEntry, inlineOptions)`
283
+ - `validateInlineOptionValuesForPackage(packageEntry, inlineOptions, { appRoot = "", optionNames = null } = {})`
284
+ Local functions
285
+ - `resolveSurfaceVisibilityOptionPolicy(packageEntry = {})`
286
+ - `resolveSurfaceDefinitionsForOptionPolicy(configContext = {})`
287
+ - `normalizeResolvedOptionValue(value = "")`
288
+ - `normalizeResolvedOptionSchemaValue({ packageEntry, optionName = "", schema = {}, value = "" } = {})`
289
+ - `resolveSchemaValidatedOptionNames(packageEntry = {}, validationType = "", { optionNames = null } = {})`
290
+ - `resolveAllowedValuesForSchema(schema = {})`
291
+ - `parseCsvEnumOptionValues(value = "")`
292
+ - `validateEnumOptionValues({ packageEntry, resolvedOptions = {}, optionNames = null } = {})`
293
+ - `validateCsvEnumOptionValues({ packageEntry, resolvedOptions = {}, optionNames = null } = {})`
294
+ - `validateEnabledSurfaceOptionValues({ packageEntry, resolvedOptions = {}, optionNames = null, configContext = {} } = {})`
295
+ - `validateSurfaceVisibilityOptionPolicy({ packageEntry, resolvedOptions = {}, policy, configContext = {} } = {})`
296
+ - `validateResolvedOptionPolicies({ packageEntry, resolvedOptions = {}, appRoot = "", resolveConfigContext } = {})`
297
+ - `resolvePromptChoicesForOption({ schema = {}, configContext = {} } = {})`
298
+ - `validateOptionValuesForPackage({ packageEntry, resolvedOptions = {}, appRoot = "", optionNames = null } = {})`
299
+
300
+ ### `src/server/cliRuntime/packageRegistries.js`
301
+ Exports
302
+ - `isGeneratorPackageEntry`
303
+ - `mergePackageRegistries(...registries)`
304
+ - `loadAppLocalPackageRegistry(appRoot)`
305
+ - `loadPackageRegistry()`
306
+ - `resolveInstalledNodeModulePackageEntry({ appRoot, packageId })`
307
+ - `hydratePackageRegistryFromInstalledNodeModules({ appRoot, packageRegistry, seedPackageIds = [] })`
308
+ - `loadBundleRegistry()`
309
+ Local functions
310
+ - `normalizeRelativePosixPath(pathValue)`
311
+ - `validateBundleDescriptorShape(descriptor, descriptorPath)`
312
+ - `loadCatalogPackageRegistry()`
313
+ - `loadInstalledNodeModulePackageEntry({ appRoot, packageId })`
314
+
315
+ ### `src/server/cliRuntime/packageTemplateResolution.js`
316
+ Exports
317
+ - `cleanupMaterializedPackageRoots()`
318
+ - `materializeCatalogPackageRoot({ packageEntry, appRoot, reportTemplateFetchStatus = null, installCatalogPackage = installCatalogPackageIntoCache } = {})`
319
+ - `resolvePackageTemplateRoot({ packageEntry, appRoot, reportTemplateFetchStatus = null, materializeCatalogRoot = materializeCatalogPackageRoot } = {})`
320
+ Local functions
321
+ - `isInternalCatalogPackageEntry(packageEntry = {})`
322
+ - `encodePackageCacheSegment(value = "")`
323
+ - `buildMaterializedCacheKey(packageEntry = {})`
324
+ - `buildMaterializedInstallRoot({ appRoot, packageEntry })`
325
+ - `ensureMaterializedInstallWorkspace(installRoot)`
326
+ - `installCatalogPackageIntoCache({ installRoot, packageEntry })`
327
+ - `resolvePackageRootFromNodeModules({ appRoot, packageId })`
328
+ - `loadLocalWorkspacePackageIdIndex()`
329
+ - `resolvePackageRootFromLocalWorkspace({ packageId })`
330
+
331
+ ### `src/server/cliRuntime/viteProxy.js`
332
+ Exports
333
+ - `createEmptyViteDevProxyConfig()`
334
+ - `normalizeViteDevProxyPath(value = "", { context = "vite proxy entry" } = {})`
335
+ - `normalizeViteDevProxyEntry(value = {}, { context = "vite proxy entry" } = {})`
336
+ - `normalizeViteDevProxyConfig(value = {}, { context = "vite proxy config" } = {})`
337
+ - `resolveViteDevProxyConfigAbsolutePath(appRoot)`
338
+ - `loadViteDevProxyConfig(appRoot, { context = "vite proxy config" } = {})`
339
+ - `writeViteDevProxyConfig(appRoot, config = {}, touchedFiles = null)`
340
+ - `normalizeViteProxyMutationRecord(value = {})`
341
+ - `applyViteMutations(packageEntry, appRoot, viteMutations, options, managedVite, touchedFiles)`
342
+ - `removeManagedViteProxyEntries({ appRoot, packageId, managedViteChanges = {}, touchedFiles = null } = {})`
343
+
344
+ ### `src/server/commandHandlers/completion.js`
345
+ Exports
346
+ - `createCompletionCommands(ctx = {})`
347
+ Local functions
348
+ - `resolveInstallBlock(relativeCompletionPath = "")`
349
+ - `readTextFileIfExists(filePath = "")`
350
+ - `installBashCompletion()`
351
+
352
+ ### `src/server/commandHandlers/health.js`
353
+ Exports
354
+ - `createHealthCommands(ctx = {})`
355
+
356
+ ### `src/server/commandHandlers/list.js`
357
+ Exports
358
+ - `createListCommands(ctx = {})`
359
+ Local functions
360
+ - `collectTokenMatches(source = "", pattern = COMPONENT_TOKEN_PATTERN)`
361
+ - `appendTokenSource(map, token = "", source = "")`
362
+ - `isLinkItemToken(token = "")`
363
+ - `readFileIfExists(filePath = "")`
364
+ - `resolveDescriptorFromLockEntry({ appRoot = "", packageId = "", installedPackageEntry = {} } = {})`
365
+ - `collectProviderSourceFiles(rootPath = "")`
366
+
367
+ ### `src/server/commandHandlers/package.js`
368
+ Exports
369
+ - `createPackageCommands(ctx = {})`
370
+
371
+ ### `src/server/commandHandlers/packageCommands/add.js`
372
+ Exports
373
+ - `runPackageAddCommand(ctx = {}, { positional, options, cwd, io })`
374
+ Local functions
375
+ - `collectPlacementComponentTokensFromManagedRecords(installedPackageRecords = [])`
376
+
377
+ ### `src/server/commandHandlers/packageCommands/create.js`
378
+ Exports
379
+ - `runPackageCreateCommand(ctx = {}, { positional, options, cwd, io })`
380
+
381
+ ### `src/server/commandHandlers/packageCommands/discoverabilityHelp.js`
382
+ Exports
383
+ - `isHelpToken(value = "")`
384
+ - `renderGenerateCatalogHelp({ io, packageRegistry, resolvePackageKind, json = false } = {})`
385
+ - `renderAddCatalogHelp({ io, packageRegistry, bundleRegistry, resolvePackageKind, json = false } = {})`
386
+ - `renderGeneratePackageHelp({ io, packageEntry, packageIdInput = "", json = false } = {})`
387
+ - `renderGenerateSubcommandHelp({ io, packageEntry, packageIdInput = "", subcommandName = "", json = false } = {})`
388
+ - `renderAddPackageHelp({ io, packageEntry, packageIdInput = "", json = false } = {})`
389
+ - `renderAddBundleHelp({ io, bundleId = "", bundle = {}, json = false } = {})`
390
+ Local functions
391
+ - `toShortPackageId(packageId = "")`
392
+ - `resolvePackageSummary(entry = {})`
393
+ - `resolveHelpText(rawValue = "", helpTextKey = "")`
394
+ - `buildPackageOptionRows(packageEntry = {})`
395
+ - `normalizeSubcommandPositionalArgRows(rawRows = [])`
396
+ - `normalizeSubcommandOptionNames(rawOptionNames = [])`
397
+ - `normalizeHelpExampleRows(rawRows = [])`
398
+ - `normalizeHelpNoteRows(rawRows = [])`
399
+ - `normalizeHelpParagraphRows(rawValue = "")`
400
+ - `appendHelpLongDescription(lines = [], rawLongDescription = "", { color = null } = {})`
401
+ - `appendHelpExamples(lines = [], exampleRows = [], { color = null } = {})`
402
+ - `appendHelpNotes(lines = [], rawNotes = [], { color = null } = {})`
403
+ - `appendSeparatedBlocks(lines = [], blocks = [])`
404
+ - `resolveGeneratorSubcommandMetadata(packageEntry = {})`
405
+ - `formatOptionSummary(optionRow = {}, { color = null } = {})`
406
+ - `formatPositionalArgUsageToken(arg = {})`
407
+ - `formatPositionalArgSummary(arg = {}, { color = null } = {})`
408
+ - `findGeneratorSubcommandRow(packageEntry = {}, subcommandName = "")`
409
+ - `buildSubcommandOptionRows(optionRows = [], subcommandRow = {})`
410
+
411
+ ### `src/server/commandHandlers/packageCommands/generate.js`
412
+ Exports
413
+ - `runPackageGenerateCommand(ctx = {}, { positional, options, cwd, io }, { runCommandAdd })`
414
+ Local functions
415
+ - `resolveGeneratorSubcommandDefinitionMetadata(packageEntry = {}, subcommandName = "")`
416
+ - `resolveSubcommandRequiresShellWeb(packageEntry = {}, subcommandName = "")`
417
+ - `mapDescriptorBackedSubcommandArgsToInlineOptions(packageEntry = {}, subcommandName = "", subcommandArgs = [], inlineOptions = {}, createCliError)`
418
+ - `resolveSubcommandRequiresInput(packageEntry = {}, subcommandName = "")`
419
+ - `collectUnexpectedGeneratorSubcommandOptionNames(packageEntry = {}, subcommandName = "", inlineOptions = {})`
420
+ - `resolveCreateTargetPolicy(packageEntry = {}, subcommandName = "")`
421
+ - `normalizeRelativePathWithinApp(appRoot = "", targetPath = "", createCliError)`
422
+ - `enforceDescriptorBackedCreateTargetPolicy({ packageEntry, subcommandName, inlineOptions = {}, appRoot = "", packageIdInput = "", createCliError, readdir } = {})`
423
+
424
+ ### `src/server/commandHandlers/packageCommands/migrations.js`
425
+ Exports
426
+ - `runPackageMigrationsCommand(ctx = {}, { positional, options, cwd, io })`
427
+
428
+ ### `src/server/commandHandlers/packageCommands/position.js`
429
+ Exports
430
+ - `runPackagePositionCommand(ctx = {}, { positional, options, cwd, io })`
431
+
432
+ ### `src/server/commandHandlers/packageCommands/remove.js`
433
+ Exports
434
+ - `runPackageRemoveCommand(ctx = {}, { positional, options, cwd, io })`
435
+
436
+ ### `src/server/commandHandlers/packageCommands/tabLinkItemProvisioning.js`
437
+ Exports
438
+ - `LOCAL_LINK_ITEM_COMPONENT_TOKENS`
439
+ - `TAB_LINK_COMPONENT_TOKEN`
440
+ - `collectProvisionableLocalPlacementComponentTokensFromApp({ appRoot = "" } = {})`
441
+ - `resolveProvisionableLocalPlacementComponentTokens({ appRoot = "", componentTokens = [] } = {})`
442
+ - `ensureLocalMainPlacementComponentProvisioning({ appRoot = "", createCliError, dryRun = false, touchedFiles = new Set(), componentTokens = [] } = {})`
443
+ - `ensureLocalMainTabLinkItemProvisioning({ appRoot = "", createCliError, dryRun = false, touchedFiles = new Set() } = {})`
444
+ Local functions
445
+ - `toPosixPath(value = "")`
446
+ - `ensureTrailingNewline(value = "")`
447
+ - `insertImportIfMissing(source = "", importLine = "")`
448
+ - `insertBeforeClassDeclaration(source = "", line = "", { className = "", contextFile = "" } = {})`
449
+ - `readUtf8FileIfExists(absolutePath = "")`
450
+ - `ensureProvisionedComponentFile(definition, { appRoot = "", dryRun = false, touchedFiles = new Set() } = {})`
451
+ - `hasProvisionedTokenRegistration(providerSource = "", componentToken = "")`
452
+ - `loadMainClientProviderSource({ appRoot = "", createCliError, componentToken = "" } = {})`
453
+ - `ensureProvisionedProviderRegistration(definition, { appRoot = "", createCliError, dryRun = false, touchedFiles = new Set() } = {})`
454
+
455
+ ### `src/server/commandHandlers/packageCommands/update.js`
456
+ Exports
457
+ - `runPackageUpdateCommand(ctx = {}, { positional, options, cwd, io }, { runCommandAdd })`
458
+
459
+ ### `src/server/commandHandlers/shared.js`
460
+ Exports
461
+ - `createCommandHandlerShared(ctx = {})`
462
+
463
+ ### `src/server/commandHandlers/show.js`
464
+ Exports
465
+ - `createShowCommand(ctx = {})`
466
+
467
+ ### `src/server/commandHandlers/show/payloads.js`
468
+ Exports
469
+ - `buildBundleShowPayload(bundle = {})`
470
+ - `buildPackageShowPayload({ packageRegistry, packageEntry, options, inspectPackageOfferings, buildFileWriteGroups, listDeclaredCapabilities, buildCapabilityDetailsForPackage } = {})`
471
+
472
+ ### `src/server/commandHandlers/show/renderBundleText.js`
473
+ Exports
474
+ - `renderBundlePayloadText({ payload, stdout, color, writeField } = {})`
475
+
476
+ ### `src/server/commandHandlers/show/renderHelpers.js`
477
+ Exports
478
+ - `createShowRenderHelpers({ stdout, color, options, deriveProviderDisplayName } = {})`
479
+
480
+ ### `src/server/commandHandlers/show/renderPackageCapabilities.js`
481
+ Exports
482
+ - `writeCapabilitiesSections({ payload, provides, requires, capabilityDetails, stdout, color, wrapWidth, writeWrappedItems } = {})`
483
+ Local functions
484
+ - `writeCapabilityRecord({ heading, records, includeDependsOnProviders = false, stdout, color, wrapWidth, writeWrappedItems } = {})`
485
+ - `formatPackageSummary(detail)`
486
+
487
+ ### `src/server/commandHandlers/show/renderPackageExports.js`
488
+ Exports
489
+ - `writePackageExportsSection({ payload, options, stdout, color, wrapWidth, normalizeRelativePosixPath, shouldShowPackageExportTarget, classifyExportedSymbols, writeWrappedItems } = {})`
490
+ Local functions
491
+ - `writeClassifiedSymbols({ label, entries, stdout, color, wrapWidth, writeWrappedItems } = {})`
492
+
493
+ ### `src/server/commandHandlers/show/renderPackageText.js`
494
+ Exports
495
+ - `renderPackagePayloadText({ payload, provides, requires, capabilityDetails, options, stdout, color, resolveWrapWidth, writeWrappedItems, normalizeRelativePosixPath, formatPackageSubpathImport, normalizePlacementOutlets, normalizePlacementContributions, shouldShowPackageExportTarget, classifyExportedSymbols, deriveProviderDisplayName } = {})`
496
+
497
+ ### `src/server/core/argParser.js`
498
+ Exports
499
+ - `parseArgs(argv, { createCliError } = {})`
500
+
501
+ ### `src/server/core/buildCommandDeps.js`
502
+ Exports
503
+ - `createCommandHandlerDeps(deps = {})`
504
+
505
+ ### `src/server/core/commandCatalog.js`
506
+ Exports
507
+ - `COMMAND_IDS`
508
+ - `OPTION_FLAG_LABELS`
509
+ - `resolveCommandAlias(rawCommand)`
510
+ - `resolveCommandDescriptor(rawCommand)`
511
+ - `isKnownCommandName(rawCommand)`
512
+ - `listOverviewCommandDescriptors()`
513
+ - `shouldShowCommandHelpOnBareInvocation(command = "", positional = [])`
514
+ - `validateCommandOptions({ command = "", positional = [], options = {} } = {}, { createCliError, renderUsage = null } = {})`
515
+ Local functions
516
+ - `isHelpToken(value = "")`
517
+ - `canDelegateAddInlineOptions(positional = [])`
518
+ - `canDelegateGenerateInlineOptions(positional = [])`
519
+ - `canDelegateMigrationsInlineOptions(positional = [])`
520
+ - `canDelegatePackageTargetInlineOptions(positional = [], expectedTargetType = "")`
521
+ - `sortOptionLabels(labels = [])`
522
+
523
+ ### `src/server/core/createCliRunner.js`
524
+ Exports
525
+ - `runCli`
526
+
527
+ ### `src/server/core/createCommandHandlers.js`
528
+ Exports
529
+ - `createCommandHandlers(deps = {})`
530
+
531
+ ### `src/server/core/dispatchCli.js`
532
+ Exports
533
+ - `createRunCli({ parseArgs, printUsage, shouldShowCommandHelpOnBareInvocation, validateCommandOptions, resolveCommandDescriptor, commandHandlers, cleanupMaterializedPackageRoots, createCliError } = {})`
534
+
535
+ ### `src/server/core/usageHelp.js`
536
+ Exports
537
+ - `printUsage(stream = process.stderr, { command = "" } = {})`
538
+ - `shouldShowCommandHelpOnBareInvocation`
539
+ Local functions
540
+ - `appendSeparatedBlocks(lines = [], blocks = [])`
541
+ - `writeHelpLines(stream, lines = [])`
542
+ - `printTopLevelHelp(stream = process.stderr)`
543
+ - `printCommandHelp(stream = process.stderr, command = "")`
544
+
545
+ ### `src/server/index.js`
546
+ Exports
547
+ - `runCli`
548
+
549
+ ### `src/server/shared/cliError.js`
550
+ Exports
551
+ - `createCliError(message, { showUsage = false, exitCode = 1, renderUsage = null } = {})`
552
+
553
+ ### `src/server/shared/collectionUtils.js`
554
+ Exports
555
+ - `ensureArray(value)`
556
+ - `ensureObject(value)`
557
+ - `sortStrings(values)`
558
+
559
+ ### `src/server/shared/optionInterpolation.js`
560
+ Exports
561
+ - `appendTextSnippet(content, snippet, position = "bottom")`
562
+ - `escapeRegExp(value)`
563
+ - `interpolateOptionValue(rawValue, options, ownerId, key)`
564
+ - `normalizeSkipChecks(value)`
565
+ - `promptForRequiredOption({ ownerType, ownerId, optionName, optionSchema, promptChoices = [], stdin = process.stdin, stdout = process.stdout })`
566
+ Local functions
567
+ - `normalizeSnippet(value)`
568
+ - `splitTextIntoWords(value)`
569
+ - `wordsToPascal(words)`
570
+ - `wordsToCamel(words)`
571
+ - `wordsToSnake(words)`
572
+ - `wordsToKebab(words)`
573
+ - `resolveLastWordMutationInput(value)`
574
+ - `toSingularForm(value)`
575
+ - `toPluralForm(value)`
576
+ - `normalizePathValue(value)`
577
+ - `normalizePromptChoices(rawChoices = [])`
578
+ - `findPromptChoice(promptChoices = [], answer = "")`
579
+ - `promptForChoice({ promptText = "", promptChoices = [], stdin, stdout, required = false, defaultValue = "" })`
580
+ - `parseTransformSpec(transform)`
581
+ - `applyOptionTransform(value, transform, ownerId, key, optionName)`
582
+ - `applyOptionTransformPipeline(rawValue, rawPipeline, ownerId, key, optionName)`
583
+ - `isSecretOptionInput(optionSchema)`
584
+ - `createMutedReadlineOutput(stdout)`
585
+
586
+ ### `src/server/shared/outputFormatting.js`
587
+ Exports
588
+ - `createColorFormatter(stream)`
589
+ - `renderInlineCodeSpans(text = "", color = null)`
590
+ - `resolveWrapWidth(stream, fallbackWidth = 80)`
591
+ - `writeWrappedLines({ stdout, lines, wrapWidth } = {})`
592
+ - `writeWrappedItems({ stdout, heading, items, lineIndent = " ", wrapWidth = 80 })`
593
+ Local functions
594
+ - `measureVisibleLength(text = "")`
595
+ - `resolveLeadingWhitespace(text = "")`
596
+ - `buildContinuationIndent({ prefix = "", fallbackPrefix = "" } = {})`
597
+ - `resolveWrapPrefixes(line = "")`
598
+ - `wrapOutputLine(line = "", { wrapWidth = 80 } = {})`
599
+
600
+ ### `src/server/shared/packageIdHelpers.js`
601
+ Exports
602
+ - `toScopedPackageId(input)`
603
+ - `resolvePackageIdInput(input, packageRegistry)`
604
+ - `resolveInstalledPackageIdInput(input, installedPackages)`
605
+
606
+ ### `src/server/shared/pathResolution.js`
607
+ Exports
608
+ - `CLI_PACKAGE_ROOT`
609
+ - `BUNDLES_ROOT`
610
+ - `CATALOG_PACKAGES_PATH`
611
+ Local functions
612
+ - `resolveCatalogPackagesPath()`
613
+
614
+ ### bin
615
+
616
+ ### `bin/jskit.js`
617
+ Exports
618
+ - None
619
+
620
+ ### bundles
621
+
622
+ ### `bundles/auth-base/bundle.descriptor.mjs`
623
+ Exports
624
+ - None
@@ -0,0 +1,27 @@
1
+ # tooling/test-support
2
+
3
+ Generated by `npm run agent-docs:build`.
4
+ Do not edit manually.
5
+
6
+ Generated inventory for `tooling/test-support`.
7
+ Use this on demand; do not load the full index at startup.
8
+
9
+ ## Scope
10
+ - Source: `tooling/test-support/**/*{.js,.mjs,.cjs,.vue}`
11
+ - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `LEGACY/`
12
+
13
+ ## Sections
14
+
15
+ ### root
16
+
17
+ ### `exportsContract.mjs`
18
+ Exports
19
+ - `evaluatePackageExportsContract({ repoRoot, packageDir, packageId, requiredExports = [], scanRoots = [ path.join(repoRoot, "packages"), path.join(repoRoot, "tooling", "create-app", "templates") ] })`
20
+ Local functions
21
+ - `normalizeSlash(value)`
22
+ - `shouldScanFile(filePath)`
23
+ - `walkFiles(directoryPath)`
24
+ - `toExportKey(importSubpath)`
25
+ - `collectScanFiles(scanRoots = [])`
26
+ - `isUsageFile(filePath, { repoRoot, packageRelativeRoot })`
27
+ - `collectPackageImportUsages({ repoRoot, packageId, packageRelativeRoot, scanRoots })`
@@ -0,0 +1,31 @@
1
+ # tooling/testUtils
2
+
3
+ Generated by `npm run agent-docs:build`.
4
+ Do not edit manually.
5
+
6
+ Generated inventory for `tooling/testUtils`.
7
+ Use this on demand; do not load the full index at startup.
8
+
9
+ ## Scope
10
+ - Source: `tooling/testUtils/**/*{.js,.mjs,.cjs,.vue}`
11
+ - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `LEGACY/`
12
+
13
+ ## Sections
14
+
15
+ ### root
16
+
17
+ ### `fakeFastify.mjs`
18
+ Exports
19
+ - `createFakeFastifyPolicyRuntime({ csrfHandler, autoRunPlugin = null } = {})`
20
+
21
+ ### `runCli.js`
22
+ Exports
23
+ - `createCliRunner(cliPath)`
24
+
25
+ ### `runJskit.mjs`
26
+ Exports
27
+ - `runJskit({ cwd, args = [], input = undefined } = {})`
28
+
29
+ ### `tempDir.mjs`
30
+ Exports
31
+ - `withTempDir(run, { prefix = "jskit-test-" } = {})`