@stacksjs/defaults 0.75.432 → 0.75.443

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.
@@ -112,6 +112,9 @@ is rejected because multiplexed application actions can handle it as a write.
112
112
  `requestImpersonation()` exposes trusted actor/subject metadata; ORM trails
113
113
  attribute writes to the original actor. `Auth.endImpersonation(credential)`
114
114
  requires the original actor request without the support header.
115
+ Ordinary bearer lookups may be cached within a request. Viewed identities are
116
+ never stored in that cache: each support-view resolution rechecks live authority
117
+ and clears previously trusted support context before authenticating again.
115
118
 
116
119
  Store viewing state independently from the actor's login and cached profile,
117
120
  show a persistent disclosure and Exit control, disable offline persistence,
@@ -195,3 +195,21 @@ Source evidence: `storage/framework/core/cli/src/index.ts`,
195
195
  `commands.ts` and `terminal.ts`; command discovery is owned by buddy's
196
196
  runtime registry. `buddy list` and `buddy <command> --help` are the
197
197
  authoritative command/flag inventory, including package-contributed commands.
198
+
199
+ ## Native command ownership
200
+
201
+ Import `spawnOwnedProcess` from `@stacksjs/cli/owned-process` for a command whose
202
+ normally inherited descendants belong to the same lifetime. This subpath uses
203
+ only native Bun/Node primitives, with no CLI or application bootstrap.
204
+
205
+ A controlled owner establishes a POSIX process group or native Windows Job
206
+ Object before admitting the command. `started` resolves its actual command PID;
207
+ `pid` identifies the stable lifecycle owner. Consumer IPC is forwarded with the
208
+ verified command PID. `exited` preserves command status and settles after tree
209
+ disposal. `stop()` is idempotent, and signaling the owner also initiates cleanup.
210
+ Compiled callers supply their installed Bun path as `ownerRuntime`.
211
+
212
+ This is lifecycle ownership, not a sandbox: deliberate POSIX breakaway is outside
213
+ the group contract. Native admission or disposal failures reject rather than
214
+ falling back to direct-child cleanup. `runBoundedProcess` in `cli/process` retains
215
+ its separate output-byte/deadline contract; it is not this ownership API.
@@ -152,6 +152,15 @@ changed, and `lockfile-matches-manifests.test.ts` compares the ranges both
152
152
  lockfiles record against the manifests. Either failure means a lockfile was
153
153
  not regenerated with its manifest, not that the guard is wrong.
154
154
 
155
+ ## Framework release destination
156
+
157
+ Framework tags require successful main-push CI for the exact release commit.
158
+ Before releasing from a work branch, configure its upstream with
159
+ `git branch --set-upstream-to=origin/main`, integrate current main, and use
160
+ `bun run release:patch`. The release and standalone bump preflights reject a
161
+ framework destination other than main before generating manifests or tags.
162
+ Application releases continue to use their own configured upstream.
163
+
155
164
  ## Dependency Update System
156
165
 
157
166
  - **buddy-bot** (`@buddysh/buddy`, shipped by `better-dx`) handles dependency updates, NOT renovatebot
@@ -361,6 +361,22 @@ buddy desktop:apple:publish # validate or upload the package to App Store Con
361
361
  buddy desktop:probe # measure what a Craft window offers interactive/game content
362
362
  ```
363
363
 
364
+ A TestFlight release from the developer's Mac needs only the App Store Connect
365
+ key (`APP_STORE_CONNECT_API_KEY*`, encrypted in `.env.production`):
366
+
367
+ ```bash
368
+ APP_ENV=production buddy desktop:apple:publish --build-number next --testflight 'My Team'
369
+ ```
370
+
371
+ `--build-number next` asks App Store Connect for the app's highest build and
372
+ uses one more, so every upload is `<version> (n + 1)` with no counter kept
373
+ anywhere. `--testflight` waits for processing, gives the build to the named beta
374
+ groups (they must already exist; an automatic-distribution internal group gets it
375
+ without an explicit add), and sets "What to Test" from `--whats-new` or the
376
+ commit subjects since the last tag. Signing identities not named by a variable
377
+ are read from the keychain for the team, and a missing
378
+ `APPLE_PROVISIONING_PROFILE` is downloaded from App Store Connect.
379
+
364
380
  `desktop:probe` opens a visible Craft window (not `--headless`, which stops
365
381
  requestAnimationFrame) and measures WebGL2/WebGPU, frame pacing under load,
366
382
  input and audio latency, the Gamepad API, fullscreen and pointer lock.
@@ -15,8 +15,8 @@ Browser runtime bindings are documented separately in `stacks-auto-imports`.
15
15
  | `@stacksjs/ai` | [`stacks-ai`](../stacks-ai/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/ai/src/index.ts) | 21 |
16
16
  | `@stacksjs/alias` | [`stacks-alias`](../stacks-alias/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/alias/src/index.ts) | 3 |
17
17
  | `@stacksjs/analytics` | [`stacks-analytics`](../stacks-analytics/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/analytics/src/index.ts) | 6 |
18
- | `@stacksjs/api` | [`stacks-api`](../stacks-api/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/api/src/index.ts) | 9 |
19
- | `@stacksjs/arrays` | [`stacks-arrays`](../stacks-arrays/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/arrays/src/index.ts) | 9 |
18
+ | `@stacksjs/api` | [`stacks-api`](../stacks-api/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/api/src/index.ts) | 12 |
19
+ | `@stacksjs/arrays` | [`stacks-arrays`](../stacks-arrays/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/arrays/src/index.ts) | 10 |
20
20
  | `@stacksjs/audio` | [`stacks-audio`](../stacks-audio/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/audio/src/index.ts) | 3 |
21
21
  | `@stacksjs/auth` | [`stacks-auth`](../stacks-auth/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/auth/src/index.ts) | 126 |
22
22
  | `@stacksjs/browser` | [`stacks-browser`](../stacks-browser/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/browser/src/index.ts) | 8 |
@@ -88,13 +88,13 @@ Browser runtime bindings are documented separately in `stacks-auto-imports`.
88
88
  | `@stacksjs/socials` | [`stacks-socials`](../stacks-socials/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/socials/src/index.ts) | 17 |
89
89
  | `@stacksjs/storage` | [`stacks-storage`](../stacks-storage/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/storage/src/index.ts) | 47 |
90
90
  | `@stacksjs/strings` | [`stacks-strings`](../stacks-strings/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/strings/src/index.ts) | 10 |
91
- | `@stacksjs/testing` | [`stacks-testing`](../stacks-testing/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/testing/src/index.ts) | 22 |
91
+ | `@stacksjs/testing` | [`stacks-testing`](../stacks-testing/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/testing/src/index.ts) | 24 |
92
92
  | `@stacksjs/tinker` | [`stacks-repl`](../stacks-repl/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/tinker/src/index.ts) | 1 |
93
93
  | `@stacksjs/tunnel` | [`stacks-tunnel`](../stacks-tunnel/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/tunnel/src/index.ts) | 1 |
94
94
  | `@stacksjs/types` | [`stacks-types`](../stacks-types/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/types/src/index.ts) | 2 |
95
95
  | `@stacksjs/ui` | [`stacks-ui`](../stacks-ui/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/ui/src/index.ts) | 6 |
96
96
  | `@stacksjs/utils` | [`stacks-utils`](../stacks-utils/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/utils/src/index.ts) | 15 |
97
- | `@stacksjs/validation` | [`stacks-validation`](../stacks-validation/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/validation/src/index.ts) | 21 |
97
+ | `@stacksjs/validation` | [`stacks-validation`](../stacks-validation/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/validation/src/index.ts) | 22 |
98
98
  | `@stacksjs/video` | [`stacks-video`](../stacks-video/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/video/src/index.ts) | 3 |
99
99
  | `@stacksjs/whois` | [`stacks-whois`](../stacks-whois/SKILL.md) | [entrypoint](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/whois/src/index.ts) | 5 |
100
100
 
@@ -159,7 +159,7 @@ Read the entrypoint and package export map for re-exported or type-only surfaces
159
159
 
160
160
  Local source modules: [src/fetcher.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/api/src/fetcher.ts), [src/generate-client.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/api/src/generate-client.ts), [src/generate-openapi.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/api/src/generate-openapi.ts), [src/generate-types.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/api/src/generate-types.ts), [src/operation.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/api/src/operation.ts), [src/resource.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/api/src/resource.ts).
161
161
 
162
- Evidence directory: [9 retained tests](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/api/tests). These files are evidence pointers, not a claim that all tests were run for this catalog.
162
+ Evidence directory: [12 retained tests](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/api/tests). These files are evidence pointers, not a claim that all tests were run for this catalog.
163
163
 
164
164
  ### @stacksjs/arrays
165
165
 
@@ -169,7 +169,7 @@ Declared runtime exports: `arr`.
169
169
 
170
170
  Local source modules: [src/arr.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/arrays/src/arr.ts), [src/macro.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/arrays/src/macro.ts).
171
171
 
172
- Evidence directory: [9 retained tests](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/arrays/tests). These files are evidence pointers, not a claim that all tests were run for this catalog.
172
+ Evidence directory: [10 retained tests](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/arrays/tests). These files are evidence pointers, not a claim that all tests were run for this catalog.
173
173
 
174
174
  ### @stacksjs/audio
175
175
 
@@ -861,7 +861,7 @@ Read the entrypoint and package export map for re-exported or type-only surfaces
861
861
 
862
862
  Local source modules: [src/console.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/testing/src/console.ts), [src/disposable-database.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/testing/src/disposable-database.ts), [src/events.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/testing/src/events.ts), [src/feature.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/testing/src/feature.ts), [src/isolated.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/testing/src/isolated.ts), [src/mail.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/testing/src/mail.ts), [src/schema.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/testing/src/schema.ts), [src/service.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/testing/src/service.ts), [src/time.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/testing/src/time.ts).
863
863
 
864
- Evidence directory: [22 retained tests](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/testing/tests). These files are evidence pointers, not a claim that all tests were run for this catalog.
864
+ Evidence directory: [24 retained tests](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/testing/tests). These files are evidence pointers, not a claim that all tests were run for this catalog.
865
865
 
866
866
  ### @stacksjs/tinker
867
867
 
@@ -919,7 +919,7 @@ Declared runtime exports: `applyConditionals`, `isArray`, `isBoolean`, `isFuncti
919
919
 
920
920
  Local source modules: [src/input.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/validation/src/input.ts), [src/messages.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/validation/src/messages.ts), [src/reporter.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/validation/src/reporter.ts), [src/schema.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/validation/src/schema.ts), [src/validator.ts](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/validation/src/validator.ts).
921
921
 
922
- Evidence directory: [21 retained tests](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/validation/tests). These files are evidence pointers, not a claim that all tests were run for this catalog.
922
+ Evidence directory: [22 retained tests](https://github.com/stacksjs/stacks/blob/main/storage/framework/core/validation/tests). These files are evidence pointers, not a claim that all tests were run for this catalog.
923
923
 
924
924
  ### @stacksjs/video
925
925
 
@@ -209,7 +209,10 @@ for (const dialect of ['sqlite', 'postgres'] as const) {
209
209
  - `runIsolated(file, { env, timeoutMs = 60_000, args, cwd, mode, preload, bunfig, envFile, inheritEnv, stdin })`
210
210
  resolves `{ code, signal, stdout, stderr, timedOut, durationMs, command }`. `mode: 'auto'` runs
211
211
  `*.test.*` / `*.spec.*` with `bun test`, anything else as a script; `env` values of `undefined`
212
- remove a variable. The watchdog sends SIGTERM at the timeout and SIGKILL 2 s later.
212
+ remove a variable. Native ownership disposes the command and normally inherited descendants
213
+ before returning, including after a normal early command exit. POSIX uses an anchored group
214
+ with SIGTERM then SIGKILL after 2 seconds; Windows uses a parent-held Job Object and confirms
215
+ zero active members. Deliberate POSIX breakaway is outside this lifecycle contract.
213
216
  - `bunfig: 'path/bunfig.toml'` runs the child with that config (`--config=`), resolved against
214
217
  `cwd`; it must exist. `preload` instead generates a config holding only those preloads. They are
215
218
  exclusive (a TypeError): list the preloads in your bunfig. Bun resolves a bunfig's relative
@@ -2,7 +2,7 @@
2
2
  "publisher": "Stacks",
3
3
  "name": "vscode-stacks",
4
4
  "displayName": "Stacks",
5
- "version": "0.75.432",
5
+ "version": "0.75.443",
6
6
  "description": "Stacks, built into VS Code: stx templates, pickier linting and formatting, encrypted env files, the dev server preview and every buddy command. No other extensions required.",
7
7
  "license": "MIT",
8
8
  "funding": "https://github.com/sponsors/chrisbbreuer",
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@stacksjs/defaults",
3
3
  "type": "module",
4
4
  "sideEffects": false,
5
- "version": "0.75.432",
5
+ "version": "0.75.443",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/stacksjs/stacks.git",
@@ -45,9 +45,9 @@
45
45
  "dependencies": {
46
46
  "@iconify-json/f7": "^1.2.2",
47
47
  "@iconify-json/hugeicons": "^1.2.35",
48
- "@stacksjs/mobile": "0.75.432",
49
- "@stacksjs/sanitizer": "0.2.784",
50
- "@stacksjs/stx": "0.2.784",
48
+ "@stacksjs/mobile": "0.75.443",
49
+ "@stacksjs/sanitizer": "0.2.787",
50
+ "@stacksjs/stx": "0.2.787",
51
51
  "@xterm/addon-fit": "^0.11.0",
52
52
  "@xterm/xterm": "^6.0.0",
53
53
  "ts-qr-codes": "^0.1.8"