@jskit-ai/agent-docs 0.1.19 → 0.1.21

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.
@@ -0,0 +1,74 @@
1
+ # packages/feature-server-generator
2
+
3
+ Generated by `npm run agent-docs:build`.
4
+ Do not edit manually.
5
+
6
+ Generated inventory for `packages/feature-server-generator`.
7
+ Use this on demand; do not load the full index at startup.
8
+
9
+ ## Scope
10
+ - Source: `packages/feature-server-generator/**/*{.js,.mjs,.cjs,.vue}`
11
+ - Excludes: `test/`, `tests/`, `__tests__/`, `*.test.*`, `*.spec.*`, `*.vitest.*`, `node_modules/`, `dist/`, `coverage/`, `docs/`, `LEGACY/`, `.vitepress/cache/`, `.vitepress/dist/`
12
+
13
+ ## Sections
14
+
15
+ ### src
16
+
17
+ ### `src/server/buildTemplateContext.js`
18
+ Exports
19
+ - `buildTemplateContext({ options = {} } = {})`
20
+ Local functions
21
+ - `splitTextIntoWords(value)`
22
+ - `wordsToPascal(words = [])`
23
+ - `wordsToKebab(words = [])`
24
+ - `wordsToCamel(words = [])`
25
+ - `normalizeFeatureName(value)`
26
+ - `normalizeSurfaceId(value)`
27
+ - `normalizeRoutePrefix(value)`
28
+ - `quoteArray(values = [])`
29
+ - `buildProviderContext({ featureName, mode, routePrefix, surface })`
30
+ - `buildActionsContext({ surface })`
31
+ - `buildServiceContext({ featureName, mode })`
32
+ - `buildRouteContext({ surface })`
33
+ - `buildDescriptorContext({ featureName, mode })`
34
+
35
+ ### templates
36
+
37
+ ### `templates/src/local-package/package.descriptor.mjs`
38
+ Exports
39
+ - None
40
+
41
+ ### `templates/src/local-package/server/actions.js`
42
+ Exports
43
+ - `featureActions`
44
+
45
+ ### `templates/src/local-package/server/FeatureProvider.js`
46
+ Exports
47
+ - `${option:feature-name|pascal`
48
+
49
+ ### `templates/src/local-package/server/inputSchemas.js`
50
+ Exports
51
+ - `statusQueryInputValidator`
52
+ - `executeCommandInputValidator`
53
+
54
+ ### `templates/src/local-package/server/registerRoutes.js`
55
+ Exports
56
+ - `registerRoutes(app, { routeSurface = "", routeRelativePath = "" } = {})`
57
+
58
+ ### `templates/src/local-package/server/repositoryCustomKnex.js`
59
+ Exports
60
+ - `createRepository({ knex } = {})`
61
+
62
+ ### `templates/src/local-package/server/repositoryJsonRest.js`
63
+ Exports
64
+ - `createRepository({ api } = {})`
65
+
66
+ ### `templates/src/local-package/server/service.js`
67
+ Exports
68
+ - `createService({ featureRepository } = {})`
69
+
70
+ ### root
71
+
72
+ ### `package.descriptor.mjs`
73
+ Exports
74
+ - None
@@ -28,11 +28,11 @@ Exports
28
28
  - `createJsonApiRelationship(resourceType = "", id = null)`
29
29
  - `createJsonRestResourceScopeOptions(resource = {}, { writeSerializers = {}, normalizeId = null } = {})`
30
30
  - `createJsonRestContext(context = null)`
31
+ - `extractJsonRestCollectionRows(payload = null)`
31
32
  - `isJsonRestResourceMissingError(error = null)`
32
33
  - `returnNullWhenJsonRestResourceMissing(run)`
33
34
  - `resolveWorkspaceScopeValue(context = null)`
34
35
  - `resolveUserScopeValue(context = null)`
35
- - `simplifyJsonApiDocument(payload = {})`
36
36
  - `createJsonRestApiHost({ knex })`
37
37
  - `registerJsonRestApiHost(app)`
38
38
  Local functions
@@ -43,10 +43,6 @@ Local functions
43
43
  - `normalizeJsonRestObject(value)`
44
44
  - `normalizeJsonRestList(value)`
45
45
  - `extractJsonApiInputRelationships(attributes = {}, resource = null, relationships = null)`
46
- - `normalizeJsonApiResourceObject(resource = {})`
47
- - `buildJsonApiIncludedIndex(payload = {})`
48
- - `simplifyJsonApiRelationshipData(data, { includedIndex = null, seen = null } = {})`
49
- - `simplifyJsonApiResourceObject(resource = {}, { includedIndex = null, seen = null } = {})`
50
46
 
51
47
  ### root
52
48
 
@@ -84,6 +84,7 @@ Exports
84
84
  ### `src/client/composables/crud/crudJsonApiTransportSupport.js`
85
85
  Exports
86
86
  - `inferCrudJsonApiTransport(resource = null, { mode = "", operationName = "" } = {})`
87
+ - `inferCrudLookupJsonApiTransport({ namespace = "", apiPath = "" } = {})`
87
88
  - `resolveCrudJsonApiTransport(transport = null, resource = null, options = {})`
88
89
  - `resolveLookupFieldMap(resource = null)`
89
90
  Local functions
@@ -95,29 +95,17 @@ Exports
95
95
  - `MainClientProvider`
96
96
  - `registerMainClientComponent(token, resolveComponent)`
97
97
 
98
- ### `templates/base-shell/packages/main/src/server/controllers/index.js`
99
- Exports
100
- - None
101
-
102
98
  ### `templates/base-shell/packages/main/src/server/index.js`
103
99
  Exports
104
100
  - `MainServiceProvider`
105
101
 
106
- ### `templates/base-shell/packages/main/src/server/providers/MainServiceProvider.js`
102
+ ### `templates/base-shell/packages/main/src/server/loadAppConfig.js`
107
103
  Exports
108
- - `MainServiceProvider`
109
-
110
- ### `templates/base-shell/packages/main/src/server/routes/index.js`
111
- Exports
112
- - None
113
-
114
- ### `templates/base-shell/packages/main/src/server/services/index.js`
115
- Exports
116
- - None
104
+ - `loadAppConfig({ moduleUrl = import.meta.url } = {})`
117
105
 
118
- ### `templates/base-shell/packages/main/src/server/support/loadAppConfig.js`
106
+ ### `templates/base-shell/packages/main/src/server/MainServiceProvider.js`
119
107
  Exports
120
- - `loadAppConfig({ moduleUrl = import.meta.url } = {})`
108
+ - `MainServiceProvider`
121
109
 
122
110
  ### `templates/base-shell/packages/main/src/shared/index.js`
123
111
  Exports
@@ -371,6 +371,7 @@ Exports
371
371
  Local functions
372
372
  - `collectDeclaredPackageNames(packageJson = {})`
373
373
  - `verifySymlinkTarget(targetPath = "", sourceDir = "", { packageName = "" } = {})`
374
+ - `replaceWithSymlink(targetPath = "", sourceDir = "", { packageName = "" } = {})`
374
375
  - `maybeLinkCompanionPackages({ appRoot = "", repoRoot = "", stdout, createCliError })`
375
376
 
376
377
  ### `src/server/commandHandlers/appCommands/release.js`
@@ -429,6 +430,10 @@ Exports
429
430
  Local functions
430
431
  - `collectTokenMatches(source = "", pattern = COMPONENT_TOKEN_PATTERN)`
431
432
  - `appendTokenSource(map, token = "", source = "")`
433
+ - `toShortPackageId(packageId = "")`
434
+ - `resolveGeneratorPrimarySubcommand(packageEntry = {})`
435
+ - `resolveGeneratorDescription(packageEntry = {})`
436
+ - `resolveGeneratorQuickStartRows(packageEntry = {}, { limit = 3 } = {})`
432
437
  - `isLinkItemToken(token = "")`
433
438
  - `readFileIfExists(filePath = "")`
434
439
  - `resolveDescriptorFromLockEntry({ appRoot = "", packageId = "", installedPackageEntry = {} } = {})`
@@ -469,6 +474,7 @@ Local functions
469
474
  - `normalizeHelpParagraphRows(rawValue = "")`
470
475
  - `appendHelpLongDescription(lines = [], rawLongDescription = "", { color = null } = {})`
471
476
  - `appendHelpExamples(lines = [], exampleRows = [], { color = null } = {})`
477
+ - `appendHelpExamplesWithHeading(lines = [], exampleRows = [], heading = "", { color = null } = {})`
472
478
  - `appendHelpNotes(lines = [], rawNotes = [], { color = null } = {})`
473
479
  - `appendSeparatedBlocks(lines = [], blocks = [])`
474
480
  - `resolveGeneratorSubcommandMetadata(packageEntry = {})`
@@ -477,6 +483,7 @@ Local functions
477
483
  - `formatPositionalArgSummary(arg = {}, { color = null } = {})`
478
484
  - `findGeneratorSubcommandRow(packageEntry = {}, subcommandName = "")`
479
485
  - `buildSubcommandOptionRows(optionRows = [], subcommandRow = {})`
486
+ - `resolvePrimaryGeneratorQuickStartRows(packageEntry = {}, { limit = 3 } = {})`
480
487
 
481
488
  ### `src/server/commandHandlers/packageCommands/generate.js`
482
489
  Exports
@@ -563,6 +570,9 @@ Local functions
563
570
  ### `src/server/commandHandlers/show/renderPackageText.js`
564
571
  Exports
565
572
  - `renderPackagePayloadText({ payload, provides, requires, capabilityDetails, options, stdout, color, resolveWrapWidth, writeWrappedItems, normalizeRelativePosixPath, formatPackageSubpathImport, normalizePlacementOutlets, normalizePlacementContributions, shouldShowPackageExportTarget, classifyExportedSymbols, deriveProviderDisplayName } = {})`
573
+ Local functions
574
+ - `resolveGeneratorSubcommandRows(payload = {})`
575
+ - `resolveOwnershipGuidance(payload = {})`
566
576
 
567
577
  ### `src/server/core/argParser.js`
568
578
  Exports
@@ -691,7 +701,8 @@ Exports
691
701
  - `isUiVerificationPath(relativePath = "")`
692
702
  - `isValidUiVerificationReceipt(receipt)`
693
703
  - `normalizeUiVerificationReceipt(rawReceipt = {})`
694
- - `resolveChangedUiFilesFromGit(appRoot = "")`
704
+ - `resolveChangedPathsFromGit(appRoot = "", { against = "", pathspecs = ["src", "packages"] } = {})`
705
+ - `resolveChangedUiFilesFromGit(appRoot = "", { against = "" } = {})`
695
706
  - `sortUniqueStrings(values = [])`
696
707
  Local functions
697
708
  - `normalizeText(value = "")`
@@ -73,7 +73,7 @@ Core rules:
73
73
  - For CRUD chunks, ask the developer which operations are allowed, which fields belong in the list view if one exists, and the intended look of the view and edit/new forms before generating code.
74
74
  - Every user-facing screen must pass a Material Design and Vuetify quality review before the chunk is considered done.
75
75
  - Any chunk that adds or changes user-facing UI must include a Playwright check that exercises the changed behavior before the chunk is considered done.
76
- - Record that Playwright run with `jskit app verify-ui --command "<playwright command>" --feature "<label>" --auth-mode <mode>` so `jskit doctor` can verify the receipt.
76
+ - Record that Playwright run with `jskit app verify-ui --command "<playwright command>" --feature "<label>" --auth-mode <mode>` so `jskit doctor` can verify the receipt. For local pre-merge review, normally follow it with `jskit doctor --against <base-ref>`. Advanced CI setups may also use `--against <base-ref>`, but that is app-specific.
77
77
  - If the UI flow requires login, use the app's development-only auth bypass or session bootstrap path instead of a live external auth login flow.
78
78
  - In JSKIT apps using the standard auth stack, that means enabling the dev auth bypass in development and using `POST /api/dev-auth/login-as` during Playwright setup.
79
79
  - If authenticated UI work has no usable local auth bootstrap path yet, treat that as a testability gap and call it out before the chunk can be considered complete.
@@ -62,6 +62,8 @@ Playwright note:
62
62
 
63
63
  - When login is required, use a test-only auth bypass or session bootstrap path instead of dependence on a live external auth provider.
64
64
  - Record the run through `jskit app verify-ui --command "<playwright command>" --feature "<label>" --auth-mode <mode>` so `jskit doctor` can verify the receipt against the current changed UI files.
65
+ - In local pre-merge review, use `jskit doctor --against <base-ref>` after the recorded Playwright run so JSKIT compares against the branch delta, not only the current dirty worktree.
66
+ - Advanced CI setups may also use `--against <base-ref>`, but JSKIT does not scaffold hosted browser/auth/database verification by default.
65
67
  - In the standard JSKIT auth stack, the default development path is `POST /api/dev-auth/login-as`, guarded by `AUTH_DEV_BYPASS_ENABLED=true` and `AUTH_DEV_BYPASS_SECRET=...`.
66
68
  - That route is development-only and must not be enabled in production.
67
69
  - Because it is still an unsafe POST, fetch `csrfToken` from `/api/session`, send it as the `csrf-token` header, and make the request in the same browser context that will run the Playwright assertions so the session cookies land in the page session.
@@ -33,6 +33,7 @@ Before calling a chunk or a whole changeset done, review it in four passes:
33
33
  - run the widest relevant verification commands for a whole changeset
34
34
  - any added or changed user-facing UI must be exercised with Playwright
35
35
  - that Playwright run should normally be recorded through `jskit app verify-ui`
36
+ - for local pre-merge review, prefer following that receipt with `jskit doctor --against <base-ref>`
36
37
  - if login is required, use the chosen local test-auth path instead of live external auth
37
38
  - in the standard JSKIT auth stack, prefer the development-only `POST /api/dev-auth/login-as` path
38
39
  - if there is no usable local auth bootstrap path, explicitly record that as a blocking testability gap