@jskit-ai/agent-docs 0.1.26 → 0.1.28

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 (46) hide show
  1. package/DISTR_AGENT.md +1 -0
  2. package/guide/agent/app-extras/assistant.md +9 -20
  3. package/guide/agent/app-extras/mobile-capacitor.md +381 -0
  4. package/guide/agent/app-extras/realtime.md +13 -12
  5. package/guide/agent/app-setup/a-more-interesting-shell.md +102 -87
  6. package/guide/agent/app-setup/authentication.md +50 -31
  7. package/guide/agent/app-setup/console.md +8 -8
  8. package/guide/agent/app-setup/database-layer.md +15 -15
  9. package/guide/agent/app-setup/initial-scaffolding.md +37 -5
  10. package/guide/agent/app-setup/multi-homing.md +50 -47
  11. package/guide/agent/app-setup/quickstart.md +11 -14
  12. package/guide/agent/app-setup/users.md +24 -24
  13. package/guide/agent/app-setup/working-with-the-jskit-cli.md +18 -10
  14. package/guide/agent/generators/advanced-cruds.md +111 -68
  15. package/guide/agent/generators/crud-generators.md +5 -5
  16. package/guide/agent/generators/ui-generators.md +44 -36
  17. package/guide/agent/index.md +3 -2
  18. package/package.json +1 -1
  19. package/patterns/INDEX.md +4 -1
  20. package/patterns/client-requests.md +23 -6
  21. package/patterns/crud-repository-mapping.md +1 -1
  22. package/patterns/crud-scaffolding.md +10 -1
  23. package/patterns/filters.md +28 -10
  24. package/patterns/generated-ui-contract-tracking.md +62 -0
  25. package/patterns/page-scaffolding.md +20 -2
  26. package/patterns/placements.md +67 -1
  27. package/patterns/surfaces.md +5 -1
  28. package/patterns/ui-testing.md +3 -0
  29. package/reference/autogen/KERNEL_MAP.md +46 -1
  30. package/reference/autogen/README.md +3 -0
  31. package/reference/autogen/packages/assistant.md +2 -1
  32. package/reference/autogen/packages/auth-web.md +20 -1
  33. package/reference/autogen/packages/crud-ui-generator.md +20 -8
  34. package/reference/autogen/packages/google-rewarded-core.md +222 -0
  35. package/reference/autogen/packages/google-rewarded-web.md +71 -0
  36. package/reference/autogen/packages/kernel.md +94 -10
  37. package/reference/autogen/packages/mobile-capacitor.md +76 -0
  38. package/reference/autogen/packages/realtime.md +1 -0
  39. package/reference/autogen/packages/shell-web.md +48 -3
  40. package/reference/autogen/packages/ui-generator.md +34 -2
  41. package/reference/autogen/packages/users-core.md +2 -0
  42. package/reference/autogen/packages/users-web.md +92 -4
  43. package/reference/autogen/packages/workspaces-web.md +3 -2
  44. package/reference/autogen/tooling/jskit-cli.md +114 -9
  45. package/templates/app/AGENTS.md +1 -0
  46. package/workflow/bootstrap.md +1 -0
@@ -0,0 +1,222 @@
1
+ # packages/google-rewarded-core
2
+
3
+ Generated by `npm run agent-docs:build`.
4
+ Do not edit manually.
5
+
6
+ Generated inventory for `packages/google-rewarded-core`.
7
+ Use this on demand; do not load the full index at startup.
8
+
9
+ ## Scope
10
+ - Source: `packages/google-rewarded-core/**/*{.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/actions.js`
18
+ Exports
19
+ - `ACTION_CURRENT`
20
+ - `ACTION_START`
21
+ - `ACTION_GRANT`
22
+ - `ACTION_CLOSE`
23
+ - `googleRewardedActions`
24
+
25
+ ### `src/server/GoogleRewardedCoreProvider.js`
26
+ Exports
27
+ - `GoogleRewardedCoreProvider`
28
+
29
+ ### `src/server/inputSchemas.js`
30
+ Exports
31
+ - `currentQueryInputValidator`
32
+ - `startCommandInputValidator`
33
+ - `grantCommandInputValidator`
34
+ - `closeCommandInputValidator`
35
+ - `currentStateOutputValidator`
36
+ - `startGateOutputValidator`
37
+ - `grantRewardOutputValidator`
38
+ - `closeSessionOutputValidator`
39
+ Local functions
40
+ - `createGateStateOutputValidator({ includeSession = false } = {})`
41
+
42
+ ### `src/server/providerConfigs/actions.js`
43
+ Exports
44
+ - `createActions({ surface } = {})`
45
+
46
+ ### `src/server/providerConfigs/GoogleRewardedProviderConfigsProvider.js`
47
+ Exports
48
+ - `GoogleRewardedProviderConfigsProvider`
49
+ Local functions
50
+ - `resolveCrudPolicyFromApp(app)`
51
+
52
+ ### `src/server/providerConfigs/registerRoutes.js`
53
+ Exports
54
+ - `registerRoutes(app, { routeOwnershipFilter = "public", routeSurface = "", routeRelativePath = "" } = {})`
55
+
56
+ ### `src/server/providerConfigs/repository.js`
57
+ Exports
58
+ - `createRepository({ api, knex } = {})`
59
+
60
+ ### `src/server/providerConfigs/service.js`
61
+ Exports
62
+ - `createService({ googleRewardedProviderConfigsRepository } = {})`
63
+ Local functions
64
+ - `return404IfNotFound(document = null)`
65
+
66
+ ### `src/server/registerRoutes.js`
67
+ Exports
68
+ - `registerRoutes(app, { routeOwnershipFilter = "workspace_user", routeSurface = "app", routeRelativePath = "google-rewarded" } = {})`
69
+ Local functions
70
+ - `createWorkflowResponses(outputValidator)`
71
+
72
+ ### `src/server/rules/actions.js`
73
+ Exports
74
+ - `createActions({ surface } = {})`
75
+
76
+ ### `src/server/rules/GoogleRewardedRulesProvider.js`
77
+ Exports
78
+ - `GoogleRewardedRulesProvider`
79
+ Local functions
80
+ - `resolveCrudPolicyFromApp(app)`
81
+
82
+ ### `src/server/rules/registerRoutes.js`
83
+ Exports
84
+ - `registerRoutes(app, { routeOwnershipFilter = "public", routeSurface = "", routeRelativePath = "" } = {})`
85
+
86
+ ### `src/server/rules/repository.js`
87
+ Exports
88
+ - `createRepository({ api, knex } = {})`
89
+
90
+ ### `src/server/rules/service.js`
91
+ Exports
92
+ - `createService({ googleRewardedRulesRepository } = {})`
93
+ Local functions
94
+ - `return404IfNotFound(document = null)`
95
+
96
+ ### `src/server/service.js`
97
+ Exports
98
+ - `createService({ googleRewardedRulesRepository, googleRewardedProviderConfigsRepository, googleRewardedWatchSessionsRepository, googleRewardedUnlockReceiptsRepository } = {})`
99
+ Local functions
100
+ - `resolveActionUser(context, input)`
101
+ - `normalizeRecordList(document = null)`
102
+ - `normalizeRecord(document = null)`
103
+ - `normalizeGateKey(value = "")`
104
+ - `normalizeSurface(value = "", { fallback = GOOGLE_REWARDED_SURFACE } = {})`
105
+ - `toIsoOrNull(value = null)`
106
+ - `parseDate(value = null)`
107
+ - `addMinutes(date, minutes)`
108
+ - `startOfUtcDay(date)`
109
+ - `requireActor(context, input)`
110
+ - `requireWorkspaceSlug(input = {})`
111
+ - `requireGateKey(input = {})`
112
+ - `formatRule(rule = null)`
113
+ - `formatProviderConfig(record = null)`
114
+ - `formatWatchSession(record = null)`
115
+ - `formatUnlockReceipt(record = null)`
116
+ - `isFutureDate(value = null, now = new Date())`
117
+
118
+ ### `src/server/support/requireGoogleRewardedUnlock.js`
119
+ Exports
120
+ - `requireGoogleRewardedUnlock(googleRewardedService, input = {}, { context = null, requireConfigured = false, errorCode = "", errorMessage = "" } = {})`
121
+ Local functions
122
+ - `normalizeReason(value = "")`
123
+ - `isUnlockSatisfied(gateState = null)`
124
+ - `hasBooleanGateFlag(gateState, key)`
125
+ - `assertWellFormedGateState(gateState = null)`
126
+ - `isConfigurationBypassAllowed(gateState = null, requireConfigured = false)`
127
+ - `createRewardedGateError(gateState = null, { errorCode = "", errorMessage = "" } = {})`
128
+
129
+ ### `src/server/unlockReceipts/actions.js`
130
+ Exports
131
+ - `createActions({ surface } = {})`
132
+
133
+ ### `src/server/unlockReceipts/GoogleRewardedUnlockReceiptsProvider.js`
134
+ Exports
135
+ - `GoogleRewardedUnlockReceiptsProvider`
136
+ Local functions
137
+ - `resolveCrudPolicyFromApp(app)`
138
+
139
+ ### `src/server/unlockReceipts/registerRoutes.js`
140
+ Exports
141
+ - `registerRoutes(app, { routeOwnershipFilter = "public", routeSurface = "", routeRelativePath = "" } = {})`
142
+
143
+ ### `src/server/unlockReceipts/repository.js`
144
+ Exports
145
+ - `createRepository({ api, knex } = {})`
146
+
147
+ ### `src/server/unlockReceipts/service.js`
148
+ Exports
149
+ - `createService({ googleRewardedUnlockReceiptsRepository } = {})`
150
+ Local functions
151
+ - `return404IfNotFound(document = null)`
152
+
153
+ ### `src/server/watchSessions/actions.js`
154
+ Exports
155
+ - `createActions({ surface } = {})`
156
+
157
+ ### `src/server/watchSessions/GoogleRewardedWatchSessionsProvider.js`
158
+ Exports
159
+ - `GoogleRewardedWatchSessionsProvider`
160
+ Local functions
161
+ - `resolveCrudPolicyFromApp(app)`
162
+
163
+ ### `src/server/watchSessions/registerRoutes.js`
164
+ Exports
165
+ - `registerRoutes(app, { routeOwnershipFilter = "public", routeSurface = "", routeRelativePath = "" } = {})`
166
+
167
+ ### `src/server/watchSessions/repository.js`
168
+ Exports
169
+ - `createRepository({ api, knex } = {})`
170
+
171
+ ### `src/server/watchSessions/service.js`
172
+ Exports
173
+ - `createService({ googleRewardedWatchSessionsRepository } = {})`
174
+ Local functions
175
+ - `return404IfNotFound(document = null)`
176
+
177
+ ### `src/shared/googleRewardedProviderConfigResource.js`
178
+ Exports
179
+ - `resource`
180
+
181
+ ### `src/shared/googleRewardedRuleResource.js`
182
+ Exports
183
+ - `resource`
184
+
185
+ ### `src/shared/googleRewardedUnlockReceiptResource.js`
186
+ Exports
187
+ - `resource`
188
+
189
+ ### `src/shared/googleRewardedWatchSessionResource.js`
190
+ Exports
191
+ - `resource`
192
+
193
+ ### `src/shared/index.js`
194
+ Exports
195
+ - `googleRewardedRuleResource`
196
+ - `googleRewardedProviderConfigResource`
197
+ - `googleRewardedWatchSessionResource`
198
+ - `googleRewardedUnlockReceiptResource`
199
+
200
+ ### templates
201
+
202
+ ### `templates/migrations/google_rewarded_provider_configs_initial.cjs`
203
+ Exports
204
+ - None
205
+
206
+ ### `templates/migrations/google_rewarded_rules_initial.cjs`
207
+ Exports
208
+ - None
209
+
210
+ ### `templates/migrations/google_rewarded_unlock_receipts_initial.cjs`
211
+ Exports
212
+ - None
213
+
214
+ ### `templates/migrations/google_rewarded_watch_sessions_initial.cjs`
215
+ Exports
216
+ - None
217
+
218
+ ### root
219
+
220
+ ### `package.descriptor.mjs`
221
+ Exports
222
+ - None
@@ -0,0 +1,71 @@
1
+ # packages/google-rewarded-web
2
+
3
+ Generated by `npm run agent-docs:build`.
4
+ Do not edit manually.
5
+
6
+ Generated inventory for `packages/google-rewarded-web`.
7
+ Use this on demand; do not load the full index at startup.
8
+
9
+ ## Scope
10
+ - Source: `packages/google-rewarded-web/**/*{.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/client/components/GoogleRewardedGateHost.vue`
18
+ Exports
19
+ - None
20
+ Local functions
21
+ - `handleWatchClick()`
22
+ - `handleCancelClick()`
23
+ - `handleDismissError()`
24
+
25
+ ### `src/client/composables/useGoogleRewardedRuntime.js`
26
+ Exports
27
+ - `useGoogleRewardedRuntime()`
28
+
29
+ ### `src/client/index.js`
30
+ Exports
31
+ - `GoogleRewardedClientProvider`
32
+ - `GoogleRewardedGateHost`
33
+ - `GOOGLE_REWARDED_RUNTIME_INJECTION_KEY`
34
+ - `createGoogleRewardedRuntime`
35
+ - `useGoogleRewardedRuntime`
36
+
37
+ ### `src/client/providers/GoogleRewardedClientProvider.js`
38
+ Exports
39
+ - `GoogleRewardedClientProvider`
40
+
41
+ ### `src/client/runtime/googleRewardedRuntime.js`
42
+ Exports
43
+ - `GOOGLE_REWARDED_RUNTIME_INJECTION_KEY`
44
+ - `createGoogleRewardedRuntime()`
45
+ Local functions
46
+ - `createInitialState()`
47
+ - `applyState(target, source)`
48
+ - `normalizeWorkspaceSlug(value = "")`
49
+ - `isWellFormedGateState(gateState = null)`
50
+ - `buildApiPath(workspaceSlug = "", action = "", query = null)`
51
+ - `ensureGooglePublisherTagLoaded()`
52
+ - `launchRewardedSlot({ adUnitPath = "", onReady = null, onGranted = null, onClosed = null, onUnavailable = null } = {})`
53
+ - `requestCurrent(input = {})`
54
+
55
+ ### `src/index.js`
56
+ Exports
57
+ - None
58
+
59
+ ### `src/server/index.js`
60
+ Exports
61
+ - None
62
+
63
+ ### `src/shared/index.js`
64
+ Exports
65
+ - None
66
+
67
+ ### root
68
+
69
+ ### `package.descriptor.mjs`
70
+ Exports
71
+ - None
@@ -288,6 +288,35 @@ Exports
288
288
  Exports
289
289
  - `formatDateTime(value, { fallback = "unknown" } = {})`
290
290
 
291
+ ### `shared/support/generatedUiContract.js`
292
+ Exports
293
+ - `GENERATED_UI_FORBIDDEN_CARD_SHELL_PATTERNS`
294
+ - `GENERATED_UI_FORBIDDEN_LIVE_COPY_PATTERNS`
295
+ - `GENERATED_UI_NAVIGATION_ROLE_DEFAULT`
296
+ - `GENERATED_UI_NAVIGATION_ROLE_LINK_PLACEMENTS`
297
+ - `GENERATED_UI_NAVIGATION_ROLE_OPTION`
298
+ - `GENERATED_UI_NAVIGATION_ROLE_VALUES`
299
+ - `GENERATED_UI_NO_LINK_NAVIGATION_ROLES`
300
+ - `GENERATED_UI_SOURCE_CONTRACT_PROFILES`
301
+ - `GENERATED_UI_SURFACE_PROFILES`
302
+ - `assertGeneratedUiSourceContract(source = "", options = {})`
303
+ - `buildGeneratedUiScreenClassName(baseClassName = "", { surfaceProfile = "" } = {})`
304
+ - `collectGeneratedUiSourceContractIssues(source = "", { profile = "", forbidLiveCopy = undefined, forbidCardShell = undefined, forbiddenPatterns = [], requiredPatterns = [] } = {})`
305
+ - `inferGeneratedUiNavigationRole(options = {}, { dynamicRoutePolicy = "leaf", routePath = "" } = {})`
306
+ - `isGeneratedUiNoLinkNavigationRole(value = "")`
307
+ - `normalizeGeneratedUiNavigationRole(value = "")`
308
+ - `resolveGeneratedUiSurfaceProfile(surfaceProfile = "")`
309
+ - `resolveGeneratedUiNavigationRoleLinkPlacement(options = {}, inferenceContext = {})`
310
+ - `shouldCreateGeneratedUiNavigationLink(options = {}, { allowLinkTo = false, dynamicRoutePolicy = "leaf", routePath = "" } = {})`
311
+ Local functions
312
+ - `matchesGeneratedUiContractPattern(source = "", pattern)`
313
+ - `normalizeGeneratedUiContractPattern(patternEntry = {}, fallbackMessage = "")`
314
+ - `normalizeGeneratedUiContractPatternList(patternEntries = [], fallbackMessage = "")`
315
+ - `resolveGeneratedUiSourceContractProfile(profile = "")`
316
+ - `hasExplicitGeneratedUiNavigationRole(options = {})`
317
+ - `normalizeGeneratedUiRouteSegments(routePath = "")`
318
+ - `isGeneratedUiDynamicRouteSegment(routeSegment = "")`
319
+
291
320
  ### `shared/support/index.js`
292
321
  Exports
293
322
  - `isRecord`
@@ -338,6 +367,10 @@ Exports
338
367
  - `normalizeRecordId(value, { fallback = null } = {})`
339
368
  - `normalizeOpaqueId(value, { fallback = null } = {})`
340
369
  - `normalizeOneOf(value, allowedValues = [], fallback = "")`
370
+ - `normalizeMobileAssetMode(value = "", { fallback = "bundled" } = {})`
371
+ - `normalizeMobileCallbackPath(value = "", { fallback = "/auth/login" } = {})`
372
+ - `normalizeMobileConfig(source = {})`
373
+ - `normalizeMobileStrategy(value = "", { fallback = "" } = {})`
341
374
  - `ensureNonEmptyText(value, label = "value")`
342
375
 
343
376
  ### `shared/support/permissions.js`
@@ -393,14 +426,26 @@ Local functions
393
426
 
394
427
  ### `shared/support/shellLayoutTargets.js`
395
428
  Exports
429
+ - `PLACEMENT_LAYOUT_CLASSES`
396
430
  - `describeShellOutletTargets(targets = [])`
397
- - `discoverShellOutletTargetsFromVueSource(source = "", { context = "shell layout" } = {})`
431
+ - `discoverShellOutletTargetsFromVueSource(source = "", { context = "shell layout", enforceSingleDefault = true } = {})`
398
432
  - `findShellOutletTargetById(targets = [], targetId = "")`
433
+ - `normalizePlacementKind(value = "")`
434
+ - `normalizePlacementLayoutClass(value = "")`
435
+ - `normalizePlacementOwnerId(value = "")`
436
+ - `normalizePlacementSurfaceId(value = "")`
437
+ - `normalizePlacementSurfaces(value)`
438
+ - `normalizePlacementTopologyDefinition(value = {}, { context = "placement topology" } = {})`
439
+ - `normalizePlacementTopologyEntry(value = {}, { context = "placement topology" } = {})`
440
+ - `normalizePlacementTopologyVariant(value = {}, { context = "placement topology variant" } = {})`
441
+ - `normalizeSemanticPlacementId(value = "")`
399
442
  - `normalizeShellOutletTargetId(value = "")`
400
443
  - `normalizeShellOutletTargetRecord(value = {}, { context = "shell layout" } = {})`
444
+ - `resolvePlacementTargetReference(value = "")`
401
445
  - `resolveShellOutletTargetParts({ target = "" } = {})`
402
446
  Local functions
403
447
  - `parseTagAttributes(attributesSource = "")`
448
+ - `normalizePlacementRenderers(value = {})`
404
449
  - `isDefaultAttributeEnabled(value)`
405
450
 
406
451
  ### `shared/support/sorting.js`
@@ -606,6 +651,8 @@ Exports
606
651
  - `CLIENT_APP_CONFIG_GLOBAL_KEY`
607
652
  - `setClientAppConfig(source = {})`
608
653
  - `getClientAppConfig()`
654
+ - `resolveMobileConfig(appConfig = getClientAppConfig())`
655
+ - `resolveClientAssetMode(appConfig = getClientAppConfig())`
609
656
  Local functions
610
657
  - `normalizeClientAppConfig(source = {})`
611
658
 
@@ -623,6 +670,10 @@ Exports
623
670
  ### `client/index.js`
624
671
  Exports
625
672
  - `getClientAppConfig`
673
+ - `resolveMobileConfig`
674
+ - `resolveClientAssetMode`
675
+ - `normalizeIncomingAppUrl`
676
+ - `registerMobileLaunchRouting`
626
677
  - `resolveClientBootstrapDebugEnabled`
627
678
  - `createShellRouter`
628
679
  - `bootstrapClientShellApp`
@@ -633,9 +684,19 @@ Exports
633
684
  - `createStructuredLogger(logger = console)`
634
685
  - `summarizeRouterRoutes(router)`
635
686
 
687
+ ### `client/mobileLaunchRouting.js`
688
+ Exports
689
+ - `normalizeIncomingAppUrl(url = "", mobileConfig = {}, { currentOrigin = "", allowedHttpOrigins = [] } = {})`
690
+ - `registerMobileLaunchRouting({ router, mobileConfig = {}, getInitialLaunchUrl = async () => "", subscribeToLaunchUrls = () => () => {}, resolveTargetPath = null, currentOrigin = typeof window === "object" && window?.location ? String(window.location.origin || "") : "", allowedHttpOrigins = [], logger = null } = {})`
691
+ Local functions
692
+ - `buildNormalizedRoutePath(pathname = "/", search = "", hash = "")`
693
+ - `normalizeResolvedRoutePath(value = "", fallback = "")`
694
+ - `normalizeAllowedHttpOrigins({ mobileConfig = {}, currentOrigin = "", allowedHttpOrigins = [] } = {})`
695
+ - `normalizeCustomSchemeRoutePath(parsedUrl)`
696
+
636
697
  ### `client/moduleBootstrap.js`
637
698
  Exports
638
- - `bootClientModules({ clientModules = [], app, pinia = null, router, surfaceRuntime, surfaceMode, env, logger = console } = {})`
699
+ - `bootClientModules({ clientModules = [], app, pinia = null, queryClient = null, router, surfaceRuntime, surfaceMode, env, logger = console } = {})`
639
700
  Local functions
640
701
  - `normalizePackageId(value)`
641
702
  - `toRouteSnapshot(route)`
@@ -652,7 +713,7 @@ Local functions
652
713
  - `assertRoutesDeclaredInDescriptor({ packageId, source, normalizedRoutes = [], descriptorRouteDeclarations = null } = {})`
653
714
  - `resolveDescriptorClientRoutes({ packageId, descriptorUiRoutes = [], routeComponents = {}, logger = null } = {})`
654
715
  - `normalizeClientModuleEntries(clientModules)`
655
- - `createClientRuntimeApp({ profile = "client", app, pinia = null, router, env, logger, surfaceRuntime, surfaceMode } = {})`
716
+ - `createClientRuntimeApp({ profile = "client", app, pinia = null, queryClient = null, router, env, logger, surfaceRuntime, surfaceMode } = {})`
656
717
 
657
718
  ### `client/pageRedirects.js`
658
719
  Exports
@@ -665,7 +726,7 @@ Exports
665
726
  - `resolveClientBootstrapDebugEnabled({ env = {}, debugEnabled = undefined, debugEnvKey = "VITE_JSKIT_CLIENT_DEBUG" } = {})`
666
727
  - `createClientBootstrapLogger({ env = {}, logger = console, debugEnabled = undefined, debugEnvKey = "VITE_JSKIT_CLIENT_DEBUG" } = {})`
667
728
  - `createSurfaceShellRouter({ createRouter, history, routes = [], surfaceRuntime, surfaceMode, fallbackRoute = null, notFoundComponent = null, guard = false } = {})`
668
- - `bootstrapClientShellApp({ createApp, rootComponent, appConfig = {}, appPlugins = [], pinia = null, router, bootClientModules, surfaceRuntime, surfaceMode, env = {}, fallbackRoute = null, logger = console, createBootstrapLogger = null, debugEnabled = undefined, debugEnvKey = "VITE_JSKIT_CLIENT_DEBUG", debugMessage = "Client modules bootstrapped before router install.", onAfterModulesBootstrapped = null, mountSelector = "#app" } = {})`
729
+ - `bootstrapClientShellApp({ createApp, rootComponent, appConfig = {}, appPlugins = [], pinia = null, queryClient = null, router, bootClientModules, surfaceRuntime, surfaceMode, env = {}, fallbackRoute = null, logger = console, createBootstrapLogger = null, debugEnabled = undefined, debugEnvKey = "VITE_JSKIT_CLIENT_DEBUG", debugMessage = "Client modules bootstrapped before router install.", onAfterModulesBootstrapped = null, onAfterRouterReady = null, mountSelector = "#app" } = {})`
669
730
  Local functions
670
731
  - `installAppPlugins(app, appPlugins = [])`
671
732
 
@@ -1275,9 +1336,17 @@ Exports
1275
1336
  - `resolveAppConfig(scope = null)`
1276
1337
  - `normalizeDefaultSurfaceId(value, { fallback = "" } = {})`
1277
1338
  - `resolveDefaultSurfaceId(scope = null, { defaultSurfaceId = "" } = {})`
1339
+ - `resolveMobileConfig(source = null)`
1340
+ - `resolveClientAssetMode(source = null)`
1341
+ - `resolveMobileCallbackUrls(source = null, { appPublicUrl = "" } = {})`
1342
+ Local functions
1343
+ - `buildWebCallbackUrl(appPublicUrl = "", callbackPath = "")`
1344
+ - `buildMobileCallbackUrl(customScheme = "", callbackPath = "")`
1345
+ - `buildAppLinkCallbackUrls(appLinkDomains = [], callbackPath = "")`
1278
1346
 
1279
1347
  ### `server/support/appConfigFiles.js`
1280
1348
  Exports
1349
+ - `loadAppConfigFromAppRoot({ appRoot = "", publicConfigRelativePath = PUBLIC_CONFIG_RELATIVE_PATH, serverConfigRelativePath = SERVER_CONFIG_RELATIVE_PATH } = {})`
1281
1350
  - `loadAppConfigFromModuleUrl({ moduleUrl = import.meta.url, publicConfigRelativePath = PUBLIC_CONFIG_RELATIVE_PATH, serverConfigRelativePath = SERVER_CONFIG_RELATIVE_PATH } = {})`
1282
1351
  Local functions
1283
1352
  - `normalizeConfigObject(value)`
@@ -1298,6 +1367,10 @@ Local functions
1298
1367
  Exports
1299
1368
  - `symlinkSafeRequire`
1300
1369
  - `resolveAppConfig`
1370
+ - `resolveMobileConfig`
1371
+ - `resolveClientAssetMode`
1372
+ - `resolveMobileCallbackUrls`
1373
+ - `loadAppConfigFromAppRoot`
1301
1374
  - `loadAppConfigFromModuleUrl`
1302
1375
  - `importFreshModuleFromAbsolutePath`
1303
1376
  - `resolveRequiredAppRoot`
@@ -1312,7 +1385,10 @@ Exports
1312
1385
  - `deriveDefaultSubpagesHost`
1313
1386
  - `resolveNearestParentSubpagesHost`
1314
1387
  - `resolvePageLinkTargetDetails`
1388
+ - `discoverPlacementTopologyFromApp`
1389
+ - `discoverShellOutletSourcePathsFromApp`
1315
1390
  - `discoverShellOutletTargetsFromApp`
1391
+ - `resolveSemanticPlacementTargetFromApp`
1316
1392
  - `resolveShellOutletPlacementTargetFromApp`
1317
1393
 
1318
1394
  ### `server/support/pageTargets.js`
@@ -1326,7 +1402,7 @@ Exports
1326
1402
  - `resolvePageTargetDetails({ appRoot, targetFile = "", context = "page target" } = {})`
1327
1403
  - `deriveDefaultSubpagesHost(pageTarget = {})`
1328
1404
  - `resolveNearestParentSubpagesHost({ appRoot, pageTarget = {}, context = "page target" } = {})`
1329
- - `resolvePageLinkTargetDetails({ appRoot, targetFile = "", pageTarget = null, placement = "", componentToken = "", linkTo = "", defaultComponentToken = DEFAULT_PAGE_LINK_COMPONENT_TOKEN, subpageComponentToken = DEFAULT_SUBPAGE_LINK_COMPONENT_TOKEN, context = "page target" } = {})`
1405
+ - `resolvePageLinkTargetDetails({ appRoot, targetFile = "", pageTarget = null, placement = "", componentToken = "", linkTo = "", context = "page target" } = {})`
1330
1406
  Local functions
1331
1407
  - `normalizeRelativeFilePath(value = "")`
1332
1408
  - `validateVueTargetFile(relativePath = "", { context = "page target" } = {})`
@@ -1351,10 +1427,12 @@ Local functions
1351
1427
  - `buildParentPageFileCandidates(pageTarget = {}, ancestorRoute = {})`
1352
1428
  - `resolveSubpagesHostTargetFromPageSource(source = "")`
1353
1429
  - `normalizePlacementTargetId(target = {})`
1430
+ - `resolveConcreteTargetOwner(target = "")`
1431
+ - `topologyPlacementTargetsConcreteOutlet(placement = {}, target = "")`
1432
+ - `resolveSemanticPlacementTargetForConcreteOutlet({ appRoot, concreteTarget = "", surface = "", context = "page target" } = {})`
1354
1433
  - `resolveRelativeLinkToFromParent(pageTarget = {}, parentHost = null)`
1355
1434
  - `resolveRelativeLinkToFromNearestIndexOwner(pageTarget = {})`
1356
- - `resolveInferredPageLinkTo({ explicitLinkTo = "", pageTarget = {}, parentHost = null, placementTarget = null, suppressImplicitRelativeLinks = false } = {})`
1357
- - `resolveInferredPageLinkComponentToken({ explicitComponentToken = "", parentHost = null, placementTarget = null, defaultComponentToken = DEFAULT_PAGE_LINK_COMPONENT_TOKEN, subpageComponentToken = DEFAULT_SUBPAGE_LINK_COMPONENT_TOKEN } = {})`
1435
+ - `resolveInferredPageLinkTo({ explicitLinkTo = "", pageTarget = {}, parentHost = null, preservesRelativeSubpageLinks = false, suppressImplicitRelativeLinks = false } = {})`
1358
1436
  - `renderPageLinkWhenLine(pageTarget = {})`
1359
1437
 
1360
1438
  ### `server/support/path.js`
@@ -1369,19 +1447,25 @@ Exports
1369
1447
 
1370
1448
  ### `server/support/shellOutlets.js`
1371
1449
  Exports
1450
+ - `discoverPlacementTopologyFromApp({ appRoot } = {})`
1451
+ - `discoverShellOutletSourcePathsFromApp({ appRoot, sourceRoot = "src" } = {})`
1372
1452
  - `discoverShellOutletTargetsFromApp({ appRoot, sourceRoot = "src" } = {})`
1453
+ - `resolveSemanticPlacementTargetFromApp({ appRoot, placement = "", owner = "", surface = "", context = "ui-generator" } = {})`
1373
1454
  - `resolveShellOutletPlacementTargetFromApp({ appRoot, placement = "", context = "ui-generator" } = {})`
1374
1455
  Local functions
1375
1456
  - `parseTagAttributes(attributesSource = "")`
1376
1457
  - `isDefaultEnabled(value)`
1377
1458
  - `normalizeAppRouteOutletTarget({ outlet = {}, sourcePath = "" } = {})`
1378
- - `discoverRouteMetaOutletTargetsFromVueSource(source = "", { context = "shell layout" } = {})`
1459
+ - `discoverRouteMetaOutletTargetsFromVueSource(source = "", { context = "shell layout", enforceSingleDefault = true } = {})`
1379
1460
  - `collectVueFilePaths(rootDirectoryPath)`
1380
1461
  - `readInstalledPackageStates(appRoot)`
1381
1462
  - `normalizePackageOutletTarget({ packageId = "", outlet = {}, descriptorPath = "" } = {})`
1382
- - `loadOutletDefaultOverrides(appRoot = "")`
1383
- - `applyOutletDefaultOverrides(target = {}, outletDefaultOverrides = {})`
1384
1463
  - `collectInstalledPackageOutletTargets(appRoot)`
1464
+ - `withTopologySource(placement = {}, sourcePath = "")`
1465
+ - `loadAppPlacementTopology(appRoot)`
1466
+ - `collectInstalledPackagePlacementTopology(appRoot)`
1467
+ - `findSemanticPlacementById(placements = [], { id = "", owner = "", surface = "" } = {})`
1468
+ - `collectAppSourceShellOutletTargets({ appRoot, sourceRoot = "src", enforceSingleDefault = true, context = "discoverShellOutletTargetsFromApp" } = {})`
1385
1469
 
1386
1470
  ### `server/support/SupportCoreServiceProvider.js`
1387
1471
  Exports
@@ -0,0 +1,76 @@
1
+ # packages/mobile-capacitor
2
+
3
+ Generated by `npm run agent-docs:build`.
4
+ Do not edit manually.
5
+
6
+ Generated inventory for `packages/mobile-capacitor`.
7
+ Use this on demand; do not load the full index at startup.
8
+
9
+ ## Scope
10
+ - Source: `packages/mobile-capacitor/**/*{.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/client/index.js`
18
+ Exports
19
+ - `MobileCapacitorClientProvider`
20
+ - `createMobileCapacitorRuntime`
21
+ - `createGlobalCapacitorAppAdapter`
22
+ - `createNoopCapacitorAppAdapter`
23
+ - `resolveCapacitorAppPlugin`
24
+ - `clientProviders`
25
+
26
+ ### `src/client/providers/MobileCapacitorClientProvider.js`
27
+ Exports
28
+ - `MobileCapacitorClientProvider`
29
+ - `installCapacitorAwareGlobalFetch({ adapter = null, apiBaseUrl = "", globalObject = globalThis } = {})`
30
+
31
+ ### `src/client/runtime/apiRequestClient.js`
32
+ Exports
33
+ - `createCapacitorAwareFetch({ fetchImpl = globalThis.fetch, adapter = null, apiBaseUrl = "" } = {})`
34
+ - `isCapacitorApiRequestTarget(url = "")`
35
+ - `resolveCapacitorAbsoluteHttpUrl(url = "", apiBaseUrl = "", messages = {})`
36
+ Local functions
37
+ - `parseAbsoluteHttpUrl(url = "", { apiBaseUrl = "", emptyUrlMessage = "URL is required.", missingApiBaseUrlMessage = "config.mobile.apiBaseUrl is required.", invalidApiBaseUrlMessage = "config.mobile.apiBaseUrl must be a valid absolute URL.", invalidApiBaseUrlProtocolMessage = "config.mobile.apiBaseUrl must use http or https.", invalidUrlProtocolMessage = "URL must use http or https." } = {})`
38
+ - `normalizeFetchInput(input = "")`
39
+
40
+ ### `src/client/runtime/globalCapacitorAppAdapter.js`
41
+ Exports
42
+ - `createGlobalCapacitorAppAdapter({ globalObject = globalThis, appPlugin = null } = {})`
43
+ - `createNoopCapacitorAppAdapter()`
44
+ - `resolveCapacitorAppPlugin(globalObject = globalThis)`
45
+
46
+ ### `src/client/runtime/mobileCapacitorRuntime.js`
47
+ Exports
48
+ - `createMobileCapacitorRuntime({ router, mobileConfig = {}, adapter = createNoopCapacitorAppAdapter(), placementRuntime = null, authCallbackCompleter = null, authGuardRuntime = null, logger = null } = {})`
49
+ Local functions
50
+ - `extractPathname(value = "")`
51
+ - `normalizeCallbackCompleter(value = null)`
52
+ - `normalizeAuthGuardRuntime(value = null)`
53
+ - `isAuthCallbackTargetPath(targetPath = "", mobileConfig = {})`
54
+
55
+ ### `src/client/runtime/oauthLaunchClient.js`
56
+ Exports
57
+ - `createCapacitorAwareOAuthLaunchClient({ adapter = null, browserPlugin = Browser, location = null, apiBaseUrl = "" } = {})`
58
+ - `resolveCapacitorLaunchUrl(url = "", apiBaseUrl = "")`
59
+
60
+ ### `src/server/buildTemplateContext.js`
61
+ Exports
62
+ - `buildTemplateContext({ appRoot } = {})`
63
+ - `prepareInstallHook({ appRoot, appPackageJson = {}, io, dryRun = false, helpers = {} } = {})`
64
+ - `finalizeInstallHook({ appRoot, io, dryRun = false, skipManagedFinalize = false, helpers = {} } = {})`
65
+ Local functions
66
+ - `requireNonEmptyText(value, label = "value")`
67
+ - `requireUrl(value, label = "value", { allowHttp = true, allowHttps = true } = {})`
68
+ - `buildCapacitorServerBlock(mobileConfig = {})`
69
+ - `buildAppLinkDomainsValue(appLinkDomains = [])`
70
+ - `directoryContainsAnyFiles(directoryPath = "")`
71
+
72
+ ### root
73
+
74
+ ### `package.descriptor.mjs`
75
+ Exports
76
+ - None
@@ -42,6 +42,7 @@ Local functions
42
42
  Exports
43
43
  - `RealtimeClientProvider`
44
44
  Local functions
45
+ - `isCapacitorRuntimeAvailable(app)`
45
46
  - `resolveRealtimeClientConfig(app)`
46
47
 
47
48
  ### `src/client/runtime.js`