@jskit-ai/agent-docs 0.1.114 → 0.1.115

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.
@@ -184,7 +184,7 @@ The most important parts look like this:
184
184
  "@tanstack/vue-query": "^5.101.0",
185
185
  "@jskit-ai/http-runtime": "0.x",
186
186
  "fastify": "^5.8.5",
187
- "json-rest-schema": "^1.0.16",
187
+ "json-rest-schema": "^1.0.17",
188
188
  "pinia": "^3.0.4",
189
189
  "vue": "^3.5.38",
190
190
  "vue-router": "^5.1.0",
@@ -211,6 +211,8 @@ That matters because JSKIT maintenance policy changes over time. If the scaffold
211
211
 
212
212
  The Playwright scaffold follows the same rule. `playwright.config.mjs` delegates to `@jskit-ai/jskit-cli/test/playwright`, and the starter browser specs delegate their shared responsive checks to published JSKIT helpers. The generated files stay small while later JSKIT package updates can change local server startup, managed `PLAYWRIGHT_BASE_URL` handling, and `VIBE64_PLAYWRIGHT_STORAGE_STATE` support without copying that logic into each new app.
213
213
 
214
+ The scaffold also configures `src/typed-router.d.ts` as generated output. It is intentionally absent from a fresh scaffold and ignored by Git; the Vue Router Vite plugin writes it during the first `npm run dev` or `npm run build` route scan.
215
+
214
216
  `jskit app verify` is worth noticing specifically. Linting, tests, and builds check your source code and runtime behavior. The JSKIT part of that flow runs `doctor`, which checks JSKIT-managed app state: installed package visibility, lock-file-backed managed files, and other JSKIT-specific health rules. It is there because a JSKIT app is not only code. It is also a descriptor-driven managed project.
215
217
 
216
218
  The starter scaffold also writes `.github/workflows/jskit-verify.yml`. JSKIT generates and owns that workflow as a projection of installed package `ci` contracts. The baseline runs checkout, Node 26 setup, `npm ci`, and `npm run verify`. Packages can add job environment values, service containers, and explicit `before-verify` steps without taking ownership of the whole YAML file. For example, the database runtime adds migrations before verification. Its MySQL driver adds a MariaDB service with synthetic CI-only credentials and `DB_CLIENT=mysql2`; its Postgres driver adds the equivalent Postgres service and `DB_CLIENT=pg`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jskit-ai/agent-docs",
3
- "version": "0.1.114",
3
+ "version": "0.1.115",
4
4
  "description": "Distributed JSKIT agent references, prompts, guides, and generated reference maps.",
5
5
  "type": "module",
6
6
  "files": [
@@ -52,7 +52,7 @@ Generated JSKIT apps should feel like real adaptive apps by default, not framewo
52
52
  - Do not remove intentional cards from specialist UI components just to satisfy a broad scan.
53
53
  - Keep generated files deterministic and update catalog/agent-doc outputs when descriptors or exported symbols change.
54
54
  - Kernel shared UI contract must stay surface-id agnostic. Concrete mappings like admin/console to operator profile belong in generators or package templates.
55
- - Item 3 is complete for current generated surfaces: page, CRUD, shell, and starter outputs require compact/medium/expanded coverage, horizontal overflow checks, generated screen checks, and 48px tap target checks. Calendar/grid/bottom-sheet specialist generators remain future scope until those generators exist.
55
+ - Item 3 is complete for current generated surfaces: page, CRUD, shell, and starter outputs require compact/medium/expanded coverage, horizontal overflow checks, generated screen checks, and compact generated-screen 48px tap target checks. Calendar/grid/bottom-sheet specialist generators remain future scope until those generators exist.
56
56
  - Item 5 is complete for current generators: `primary`, `secondary`, `utility`, `detail`, `workflow`, and `none` are centralized in the generated UI contract, generators consume that contract, and `utility` resolves to seeded `shell.global-actions` topology.
57
57
  - Item 6 is complete for the default shell: compact app bars use compact density and bounded top-left/top-right regions, while primary navigation remains in semantic bottom navigation instead of app-bar chrome.
58
58
  - CRUD filters are client-side by default: generated list pages create a page-local `listFilters.js` and pass it into `useCrudListScreen(...)`; the shared list screen wires `filterRuntime.queryParams` into the list request and renders `CrudListFilterSurface`. When server filtering is needed, promote the definitions into a shared package module and use `createCrudListFilterContract(...)` so route/action validators, JSON REST search schema, and repository query normalization stay derived from the same definition.
@@ -11,7 +11,7 @@ Rules:
11
11
 
12
12
  - Any chunk that adds or changes user-facing UI must include a Playwright flow that exercises the changed behavior before the chunk is done.
13
13
  - Generator or package template UI changes must be checked at compact phone, tablet-ish medium, and expanded desktop widths.
14
- - For generated UI, check horizontal overflow, clipped or invisible text, duplicate navigation, broken route placement, and tap targets under 48 px.
14
+ - For generated UI, check horizontal overflow, clipped or invisible text, duplicate navigation, and broken route placement at every standard viewport. On compact screens, also check generated-screen tap targets under 48 px; medium and expanded layouts may use their documented denser controls.
15
15
  - Apps with `shell-web` installed should start from `tests/e2e/adaptive-shell.spec.ts` and extend it with feature-specific assertions.
16
16
  - Generated `playwright.config.mjs` delegates to `@jskit-ai/jskit-cli/test/playwright`. Do not copy base-URL, web-server, or storage-state logic into app tests.
17
17
  - Use relative paths such as `page.goto("/home")`. The shared config owns the browser base URL.
@@ -41,9 +41,10 @@ Local functions
41
41
  - `cloneJsonRestResourceValue(value, { writeSerializers = {} } = {})`
42
42
  - `resolveCanonicalCalendarDate(value)`
43
43
  - `serializeJsonRestCalendarDate(value)`
44
+ - `resolveCanonicalDateTime(value)`
44
45
  - `applyJsonRestCalendarDateWriteSerializers(scopeOptions = {})`
45
- - `normalizeJsonRestCalendarDateEntry(entry = null, scopes = {})`
46
- - `normalizeJsonRestCalendarDateDocument(document = null, scopes = {})`
46
+ - `normalizeJsonRestTemporalEntry(entry = null, scopes = {})`
47
+ - `normalizeJsonRestTemporalDocument(document = null, scopes = {})`
47
48
  - `normalizeScopeValue(value)`
48
49
  - `normalizeJsonRestText(value, { fallback = "" } = {})`
49
50
  - `normalizeJsonRestFilterValue(value)`
@@ -124,15 +124,12 @@ Exports
124
124
 
125
125
  ### `src/server/common/repositories/repositoryUtils.js`
126
126
  Exports
127
- - `toNullableDateTime`
128
127
  - `toIsoString`
129
128
  - `isDuplicateEntryError`
130
129
  - `normalizeText`
131
130
  - `normalizeLowerText`
132
131
  - `normalizeRecordId`
133
132
  - `normalizeDbRecordId`
134
- - `nowDb()`
135
- - `toNullableIso(value)`
136
133
  - `uniqueSorted(values)`
137
134
  - `parseJson(value, fallback = {})`
138
135
  - `toDbJson(value, fallback = {})`
@@ -38,15 +38,12 @@ Exports
38
38
 
39
39
  ### `src/server/common/repositories/repositoryUtils.js`
40
40
  Exports
41
- - `toNullableDateTime`
42
41
  - `toIsoString`
43
42
  - `isDuplicateEntryError`
44
43
  - `normalizeText`
45
44
  - `normalizeLowerText`
46
45
  - `normalizeRecordId`
47
46
  - `normalizeDbRecordId`
48
- - `nowDb()`
49
- - `toNullableIso(value)`
50
47
  - `uniqueSorted(values)`
51
48
  - `parseJson(value, fallback = {})`
52
49
  - `toDbJson(value, fallback = {})`