@stacksjs/defaults 0.75.432 → 0.75.439

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.
@@ -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,7 +15,7 @@ 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 |
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
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 |
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 |
@@ -88,7 +88,7 @@ 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 |
@@ -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
 
@@ -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
 
@@ -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.439",
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.439",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/stacksjs/stacks.git",
@@ -45,7 +45,7 @@
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",
48
+ "@stacksjs/mobile": "0.75.439",
49
49
  "@stacksjs/sanitizer": "0.2.784",
50
50
  "@stacksjs/stx": "0.2.784",
51
51
  "@xterm/addon-fit": "^0.11.0",