@jskit-ai/agent-docs 0.1.90 → 0.1.92
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.
|
@@ -974,7 +974,7 @@ The generated `playwright.config.mjs` is a thin delegate to `@jskit-ai/jskit-cli
|
|
|
974
974
|
|
|
975
975
|
- without `PLAYWRIGHT_BASE_URL`, it builds the app and starts the local server on `http://127.0.0.1:4173`
|
|
976
976
|
- with `PLAYWRIGHT_BASE_URL`, it uses that managed preview and does not start another server
|
|
977
|
-
- with `
|
|
977
|
+
- with `VIBE64_PLAYWRIGHT_STORAGE_STATE`, it loads the Vibe64-supplied authenticated state into Playwright contexts
|
|
978
978
|
|
|
979
979
|
Tests should therefore navigate with relative paths such as `page.goto("/w/acme/admin/contacts")`.
|
|
980
980
|
|
|
@@ -1032,7 +1032,7 @@ A managed host authenticates outside the project browser context. It performs it
|
|
|
1032
1032
|
|
|
1033
1033
|
```bash
|
|
1034
1034
|
PLAYWRIGHT_BASE_URL=https://managed-preview.example.test \
|
|
1035
|
-
|
|
1035
|
+
VIBE64_PLAYWRIGHT_STORAGE_STATE=/secure/temp/playwright-state.json \
|
|
1036
1036
|
playwright test tests/e2e/contacts.spec.ts
|
|
1037
1037
|
```
|
|
1038
1038
|
|
|
@@ -209,7 +209,7 @@ Published JSKIT libraries and tooling support Node.js 22 from 22.12.0 onward, No
|
|
|
209
209
|
|
|
210
210
|
That matters because JSKIT maintenance policy changes over time. If the scaffold copied a large shell script into every app, existing apps would freeze the old behavior forever. By delegating to `jskit app verify`, `jskit app update-packages`, and `jskit app release`, the app keeps the nice `npm run` shortcuts while the maintained behavior stays in the installed CLI package.
|
|
211
211
|
|
|
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 `
|
|
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
214
|
`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
215
|
|
|
@@ -804,7 +804,7 @@ That command does two things:
|
|
|
804
804
|
- runs the targeted Playwright command you give it
|
|
805
805
|
- writes a receipt describing the verified feature, auth mode, and current dirty UI file set
|
|
806
806
|
|
|
807
|
-
The auth mode is receipt metadata, not an authentication implementation. `jskit app verify-ui` does not log a user in, inject a secret, or rewrite the Playwright context. A direct local run uses `loginAsExistingUser()` from `@jskit-ai/auth-web/test/playwright`;
|
|
807
|
+
The auth mode is receipt metadata, not an authentication implementation. `jskit app verify-ui` does not log a user in, inject a secret, or rewrite the Playwright context. A direct local run uses `loginAsExistingUser()` from `@jskit-ai/auth-web/test/playwright`; Vibe64 supplies authenticated state through `VIBE64_PLAYWRIGHT_STORAGE_STATE`. The generated `playwright.config.mjs` consumes that state and honors `PLAYWRIGHT_BASE_URL` without starting a second server.
|
|
808
808
|
|
|
809
809
|
`doctor` then compares the current changed UI files to that receipt. If you edit the UI again afterwards, the receipt is stale and `doctor` tells you to rerun `jskit app verify-ui`.
|
|
810
810
|
|
package/package.json
CHANGED
package/patterns/ui-testing.md
CHANGED
|
@@ -16,7 +16,7 @@ Rules:
|
|
|
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.
|
|
18
18
|
- A managed runner supplies `PLAYWRIGHT_BASE_URL`. When it is set, JSKIT does not start another app server.
|
|
19
|
-
-
|
|
19
|
+
- Vibe64 supplies an authenticated context through `VIBE64_PLAYWRIGHT_STORAGE_STATE`. Treat that file as a temporary secret: do not commit it, print it, or retain it after the run.
|
|
20
20
|
- Do not install a browser when the environment provides a managed browser runner.
|
|
21
21
|
|
|
22
22
|
## Direct local authentication
|
|
@@ -61,7 +61,7 @@ A managed preview must not expose `AUTH_DEV_BYPASS_SECRET` to project code or fo
|
|
|
61
61
|
|
|
62
62
|
```bash
|
|
63
63
|
PLAYWRIGHT_BASE_URL=https://managed-preview.example.test \
|
|
64
|
-
|
|
64
|
+
VIBE64_PLAYWRIGHT_STORAGE_STATE=/secure/temp/playwright-state.json \
|
|
65
65
|
playwright test tests/e2e/contacts.spec.ts
|
|
66
66
|
```
|
|
67
67
|
|
|
@@ -534,6 +534,27 @@ Local functions
|
|
|
534
534
|
- `applyTextReplacements(sourceText = "", replacements = [])`
|
|
535
535
|
- `collectCrudFormFieldCandidateFiles(appRoot = "")`
|
|
536
536
|
|
|
537
|
+
### `src/server/commandHandlers/appCommands/previewIdentity.js`
|
|
538
|
+
Exports
|
|
539
|
+
- `PREVIEW_IDENTITY_PROTOCOL`
|
|
540
|
+
- `executeJskitPreviewIdentityRequest(value = {}, { env = process.env, fetchImpl = globalThis.fetch } = {})`
|
|
541
|
+
- `runAppPreviewIdentityCommand(_ctx = {}, { env = process.env, fetchImpl = globalThis.fetch, stdin = process.stdin, stdout = process.stdout } = {})`
|
|
542
|
+
Local functions
|
|
543
|
+
- `previewIdentityResponse(requestId = "", values = {})`
|
|
544
|
+
- `previewIdentityFailure(requestId = "", error = {})`
|
|
545
|
+
- `commandError(message = "", code = "jskit_preview_identity_failed", extra = {})`
|
|
546
|
+
- `readInput(stream)`
|
|
547
|
+
- `normalizeRequest(value = {})`
|
|
548
|
+
- `identityFromSubject(subject = {})`
|
|
549
|
+
- `responseSetCookie(response = {})`
|
|
550
|
+
- `cookieHeader(setCookie = [])`
|
|
551
|
+
- `responsePayload(response = {})`
|
|
552
|
+
- `upstreamError(payload = {}, response = {}, extra = {})`
|
|
553
|
+
- `postJson(fetchImpl, href, body, headers = {})`
|
|
554
|
+
- `readSession(fetchImpl, targetOrigin, setCookie = [])`
|
|
555
|
+
- `logout(fetchImpl, targetOrigin, session)`
|
|
556
|
+
- `login(fetchImpl, targetOrigin, identity, secret, session)`
|
|
557
|
+
|
|
537
558
|
### `src/server/commandHandlers/appCommands/release.js`
|
|
538
559
|
Exports
|
|
539
560
|
- `runAppReleaseCommand(ctx = {}, { appRoot = "", options = {}, stdout, stderr })`
|