@ankhorage/studio 2.6.0 → 2.6.1

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.
package/README.md CHANGED
@@ -3,9 +3,9 @@
3
3
 
4
4
  # @ankhorage/studio
5
5
 
6
- ![license: MIT](././paradox/badges/license.svg) ![npm: v2.4.10](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
6
+ ![license: MIT](././paradox/badges/license.svg) ![npm: v2.6.0](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
7
7
 
8
- Standalone Studio authoring package for Ankhorage apps.
8
+ Studio authoring package for Ankhorage apps
9
9
 
10
10
  ## Usage
11
11
 
package/apm/update.json CHANGED
@@ -1,17 +1,9 @@
1
1
  {
2
2
  "protocolVersion": 1,
3
3
  "schemaVersion": 1,
4
- "owner": {
5
- "name": "@ankhorage/studio",
6
- "version": "2.6.0"
7
- },
4
+ "owner": { "name": "@ankhorage/studio", "version": "2.6.1" },
8
5
  "history": {
9
- "supported": [
10
- {
11
- "sourceRange": ">=2.5.7 <3.0.0",
12
- "mode": "no-migration"
13
- }
14
- ],
6
+ "supported": [{ "sourceRange": ">=2.5.7 <3.0.0", "mode": "no-migration" }],
15
7
  "unsupported": [],
16
8
  "downgrade": "unsupported"
17
9
  },
@@ -21,11 +13,7 @@
21
13
  {
22
14
  "id": "generated-package-policy",
23
15
  "claims": [
24
- {
25
- "kind": "json-pointer",
26
- "path": "package.json",
27
- "pointer": "/packageManager"
28
- },
16
+ { "kind": "json-pointer", "path": "package.json", "pointer": "/packageManager" },
29
17
  {
30
18
  "kind": "json-pointer",
31
19
  "path": "package.json",
@@ -132,7 +120,5 @@
132
120
  }
133
121
  ],
134
122
  "effects": [],
135
- "extension": {
136
- "export": "./apm"
137
- }
123
+ "extension": { "export": "./apm" }
138
124
  }
package/dist/apm.d.ts CHANGED
@@ -1,3 +1,18 @@
1
- /*** Public APM owner extension entrypoint for the exact installed Studio package artifact. */
2
- export { studioUpdateExtension as default } from './features/project-updates/adapters/inbound/studioUpdateExtension';
1
+ /*** Public headless APM owner extension for the exact installed Studio artifact.
2
+ *
3
+ * Inspect and plan are read-only. Generated package policy uses the same pure transformation as
4
+ * initial authoring; only reviewed Studio-owned JSON fields are materialized, in order. Missing
5
+ * package state is unknown and cannot produce a successful empty plan. Node consumers do not
6
+ * import Studio UI, React, Expo or native peer code through this entrypoint.
7
+ *
8
+ * Supported stored-state history is explicitly declared in apm/update.json. Older unreviewed
9
+ * versions are unsupported, not automatically treated as migration-free. APM updates project
10
+ * sources; deployment, OTA eligibility, native builds and stores are separate follow-up work.
11
+ *
12
+ * Producers run test:apm and the Devtools packed-release gate after Changesets versioning; the
13
+ * exact validated archive is published. The cold packed-host acceptance also imports and verifies
14
+ * this owner under native Node with UI/native imports prohibited.
15
+ * @readme
16
+ */
17
+ export { studioUpdateExtension as default } from './features/project-updates/adapters/inbound/studioUpdateExtension.js';
3
18
  //# sourceMappingURL=apm.d.ts.map
package/dist/apm.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"apm.d.ts","sourceRoot":"","sources":["../src/apm.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,EAAE,qBAAqB,IAAI,OAAO,EAAE,MAAM,mEAAmE,CAAC"}
1
+ {"version":3,"file":"apm.d.ts","sourceRoot":"","sources":["../src/apm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,qBAAqB,IAAI,OAAO,EAAE,MAAM,sEAAsE,CAAC"}
package/dist/apm.js CHANGED
@@ -1,3 +1,18 @@
1
- /*** Public APM owner extension entrypoint for the exact installed Studio package artifact. */
2
- export { studioUpdateExtension as default } from './features/project-updates/adapters/inbound/studioUpdateExtension';
1
+ /*** Public headless APM owner extension for the exact installed Studio artifact.
2
+ *
3
+ * Inspect and plan are read-only. Generated package policy uses the same pure transformation as
4
+ * initial authoring; only reviewed Studio-owned JSON fields are materialized, in order. Missing
5
+ * package state is unknown and cannot produce a successful empty plan. Node consumers do not
6
+ * import Studio UI, React, Expo or native peer code through this entrypoint.
7
+ *
8
+ * Supported stored-state history is explicitly declared in apm/update.json. Older unreviewed
9
+ * versions are unsupported, not automatically treated as migration-free. APM updates project
10
+ * sources; deployment, OTA eligibility, native builds and stores are separate follow-up work.
11
+ *
12
+ * Producers run test:apm and the Devtools packed-release gate after Changesets versioning; the
13
+ * exact validated archive is published. The cold packed-host acceptance also imports and verifies
14
+ * this owner under native Node with UI/native imports prohibited.
15
+ * @readme
16
+ */
17
+ export { studioUpdateExtension as default } from './features/project-updates/adapters/inbound/studioUpdateExtension.js';
3
18
  //# sourceMappingURL=apm.js.map
package/dist/apm.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"apm.js","sourceRoot":"","sources":["../src/apm.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,OAAO,EAAE,qBAAqB,IAAI,OAAO,EAAE,MAAM,mEAAmE,CAAC"}
1
+ {"version":3,"file":"apm.js","sourceRoot":"","sources":["../src/apm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,qBAAqB,IAAI,OAAO,EAAE,MAAM,sEAAsE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"studioUpdateExtension.d.ts","sourceRoot":"","sources":["../../../../../src/features/project-updates/adapters/inbound/studioUpdateExtension.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAMV,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAS9B,oGAAoG;AACpG,eAAO,MAAM,qBAAqB,EAAE,kBAKnC,CAAC"}
1
+ {"version":3,"file":"studioUpdateExtension.d.ts","sourceRoot":"","sources":["../../../../../src/features/project-updates/adapters/inbound/studioUpdateExtension.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAMV,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAU9B,oGAAoG;AACpG,eAAO,MAAM,qBAAqB,EAAE,kBAKnC,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { readFileSync } from 'node:fs';
3
- import { isRecord } from '@ankhorage/utility/object';
4
- import { getGeneratedPackagePolicy } from '../outbound/getGeneratedPackagePolicy';
3
+ import { isRecord, readOwnProperty } from '@ankhorage/utility/object';
4
+ import { applyGeneratedPackagePolicy } from '../../domain/applyGeneratedPackagePolicy.js';
5
+ import { getGeneratedPackagePolicy } from '../outbound/getGeneratedPackagePolicy.js';
5
6
  /*** Expose Studio's trusted package-policy projection through the public APM extension contract. */
6
7
  export const studioUpdateExtension = {
7
8
  protocolVersion: 1,
@@ -34,10 +35,16 @@ function createGeneratedPackagePolicyProjection() {
34
35
  },
35
36
  planAsync: async (input) => {
36
37
  const state = await inspectProjectionStateAsync(input);
38
+ if (state.manifest === undefined) {
39
+ throw new Error('Cannot plan Studio package policy from missing or malformed package.json.');
40
+ }
37
41
  return toProjectionPlan(state);
38
42
  },
39
43
  materializeAsync: async (input) => {
40
- await Promise.all(input.plan.mutations.map(({ id }) => input.project.applyReviewedMutationAsync(id)));
44
+ // Every mutation targets the same document; preserve reviewed ordering at the I/O boundary.
45
+ for (const { id } of input.plan.mutations) {
46
+ await input.project.applyReviewedMutationAsync(id);
47
+ }
41
48
  },
42
49
  verifyAsync: async (input) => {
43
50
  const state = await inspectProjectionStateAsync(input);
@@ -118,60 +125,24 @@ function parseGeneratedPackageManifest(snapshot) {
118
125
  function isStringRecord(value) {
119
126
  return isRecord(value) && Object.values(value).every((entry) => typeof entry === 'string');
120
127
  }
121
- /*** Build reviewed JSON-pointer mutations only for fields Studio explicitly owns. */
128
+ /*** Derive reviewed mutations from the same pure package policy used by initial generation. */
122
129
  function packagePolicyMutations(manifest, policy, beforeDigest) {
123
- const packageManagerMutation = manifest.packageManager === policy.packageManager
130
+ const target = applyGeneratedPackagePolicy(manifest, policy);
131
+ const packageManagerMutation = manifest.packageManager === target.packageManager
124
132
  ? []
125
- : [stringMutation('/packageManager', policy.packageManager, beforeDigest)];
126
- const managed = managedPolicyEntries(manifest, policy).flatMap((entry) => {
127
- const current = manifest[entry.section][entry.key];
128
- return current === entry.target
129
- ? []
130
- : [
131
- stringMutation(`/${entry.section}/${jsonPointerSegment(entry.key)}`, entry.target, beforeDigest),
132
- ];
133
- });
134
- return [...packageManagerMutation, ...managed];
135
- }
136
- /*** Enumerate package fields controlled by this Studio artifact while preserving optional capabilities. */
137
- function managedPolicyEntries(manifest, policy) {
138
- const dependencies = [
139
- dependency('@ankhorage/contracts', policy.dependencies.contracts),
140
- dependency('@ankhorage/data-sources', policy.dependencies.dataSources),
141
- dependency('@ankhorage/expo-runtime', policy.dependencies.expoRuntime),
142
- dependency('@ankhorage/navigator', policy.dependencies.navigator),
143
- dependency('@ankhorage/runtime', policy.dependencies.runtime),
144
- ...optionalDependency(manifest, '@ankhorage/studio', policy.dependencies.studio),
145
- ...optionalDependency(manifest, '@ankhorage/utility', policy.dependencies.utility),
146
- ...optionalDependency(manifest, '@ankhorage/supabase-auth', policy.dependencies.supabaseAuth),
147
- ...optionalDependency(manifest, '@ankhorage/supabase-storage', policy.dependencies.supabaseStorage),
148
- dependency('@ankhorage/zora', policy.dependencies.zora),
149
- dependency('@react-native-picker/picker', policy.peerDependencies.nativePicker),
150
- dependency('@react-native-vector-icons/fontawesome', policy.peerDependencies.fontawesome),
151
- dependency('@react-native-vector-icons/fontawesome5', policy.peerDependencies.fontawesome5),
152
- dependency('@react-native-vector-icons/fontawesome6', policy.peerDependencies.fontawesome6),
153
- dependency('@react-native-vector-icons/ionicons', policy.peerDependencies.ionicons),
154
- ];
155
- const devDependencies = [
156
- devDependency('@ankhorage/ankh', policy.devDependencies.ankh),
157
- devDependency('@ankhorage/devtools', policy.devDependencies.devtools),
158
- devDependency('@types/bun', policy.devDependencies.typesBun),
159
- devDependency('@types/culori', policy.devDependencies.typesCulori),
160
- devDependency('@types/react', policy.devDependencies.typesReact),
133
+ : [stringMutation('/packageManager', target.packageManager, beforeDigest)];
134
+ const sections = [
135
+ { section: 'dependencies', current: manifest.dependencies, desired: target.dependencies },
136
+ {
137
+ section: 'devDependencies',
138
+ current: manifest.devDependencies,
139
+ desired: target.devDependencies,
140
+ },
161
141
  ];
162
- return [...dependencies, ...devDependencies];
163
- }
164
- /*** Build one required generated runtime dependency policy entry. */
165
- function dependency(key, target) {
166
- return { section: 'dependencies', key, target };
167
- }
168
- /*** Build one generated development dependency policy entry. */
169
- function devDependency(key, target) {
170
- return { section: 'devDependencies', key, target };
171
- }
172
- /*** Preserve capability-driven optional dependencies unless the app already owns that capability. */
173
- function optionalDependency(manifest, key, target) {
174
- return key in manifest.dependencies ? [dependency(key, target)] : [];
142
+ const dependencyMutations = sections.flatMap(({ section, current, desired }) => Object.entries(desired).flatMap(([key, value]) => readOwnProperty(current, key) === value
143
+ ? []
144
+ : [stringMutation(`/${section}/${jsonPointerSegment(key)}`, value, beforeDigest)]));
145
+ return [...packageManagerMutation, ...dependencyMutations];
175
146
  }
176
147
  /*** Build one reviewed string mutation with the matching narrow JSON-pointer ownership claim. */
177
148
  function stringMutation(pointer, value, expectedBeforeDigest) {
@@ -1 +1 @@
1
- {"version":3,"file":"studioUpdateExtension.js","sourceRoot":"","sources":["../../../../../src/features/project-updates/adapters/inbound/studioUpdateExtension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"studioUpdateExtension.js","sourceRoot":"","sources":["../../../../../src/features/project-updates/adapters/inbound/studioUpdateExtension.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { GeneratedPackagePolicy } from '../../../../types/project-updates';
1
+ import type { GeneratedPackagePolicy } from '../../../../types/project-updates.js';
2
2
  /*** Return Studio-owned generated-app dependency policy from this exact package artifact. */
3
3
  export declare function getGeneratedPackagePolicy(): GeneratedPackagePolicy;
4
4
  //# sourceMappingURL=getGeneratedPackagePolicy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getGeneratedPackagePolicy.d.ts","sourceRoot":"","sources":["../../../../../src/features/project-updates/adapters/outbound/getGeneratedPackagePolicy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAEhF,6FAA6F;AAC7F,wBAAgB,yBAAyB,IAAI,sBAAsB,CAElE"}
1
+ {"version":3,"file":"getGeneratedPackagePolicy.d.ts","sourceRoot":"","sources":["../../../../../src/features/project-updates/adapters/outbound/getGeneratedPackagePolicy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAEnF,6FAA6F;AAC7F,wBAAgB,yBAAyB,IAAI,sBAAsB,CAElE"}
@@ -1,4 +1,4 @@
1
- import type { GeneratedPackageManifest, GeneratedPackagePolicy } from '../../../types/project-updates';
1
+ import type { GeneratedPackageManifest, GeneratedPackagePolicy } from '../../../types/project-updates.js';
2
2
  /*** Apply one explicit Studio package policy while preserving all user-owned package manifest entries. */
3
3
  export declare function applyGeneratedPackagePolicy<T extends GeneratedPackageManifest>(packageJson: T, policy: GeneratedPackagePolicy): T;
4
4
  //# sourceMappingURL=applyGeneratedPackagePolicy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"applyGeneratedPackagePolicy.d.ts","sourceRoot":"","sources":["../../../../src/features/project-updates/domain/applyGeneratedPackagePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,gCAAgC,CAAC;AAExC,0GAA0G;AAC1G,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,wBAAwB,EAC5E,WAAW,EAAE,CAAC,EACd,MAAM,EAAE,sBAAsB,GAC7B,CAAC,CAyCH"}
1
+ {"version":3,"file":"applyGeneratedPackagePolicy.d.ts","sourceRoot":"","sources":["../../../../src/features/project-updates/domain/applyGeneratedPackagePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,mCAAmC,CAAC;AAE3C,0GAA0G;AAC1G,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,wBAAwB,EAC5E,WAAW,EAAE,CAAC,EACd,MAAM,EAAE,sBAAsB,GAC7B,CAAC,CAyCH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ankhorage/studio",
3
- "version": "2.6.0",
3
+ "version": "2.6.1",
4
4
  "description": "Studio authoring package for Ankhorage apps",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/ankhorage/studio#readme",
@@ -167,7 +167,7 @@
167
167
  },
168
168
  "scripts": {
169
169
  "build": "tsc -p tsconfig.build.json",
170
- "typecheck": "tsc --noEmit -p tsconfig.json",
170
+ "typecheck": "bun run check-types",
171
171
  "dev": "bun run --no-orphans dev:host & bun run --no-orphans dev:studio",
172
172
  "dev:studio": "bun install --cwd apps/studio --frozen-lockfile && bun run --cwd apps/studio web",
173
173
  "typecheck:studio": "bun install --cwd apps/studio --frozen-lockfile && bun run --cwd apps/studio typecheck",
@@ -196,7 +196,10 @@
196
196
  "version-packages": "ankhorage-changeset version",
197
197
  "dev:host": "bun src/host/http/standalone.ts",
198
198
  "test:host-smoke": "bun test src/host/hostLifecycle.smoke.test.ts",
199
- "knip:check": "ankhorage-knip"
199
+ "knip:check": "ankhorage-knip",
200
+ "test:apm": "bun test src/features/project-updates/adapters/inbound/studioUpdateExtension.test.ts",
201
+ "check-types": "tsc --noEmit -p tsconfig.json",
202
+ "test:apm:consumer": "node scripts/apm-owner-consumer.ts"
200
203
  },
201
204
  "keywords": [
202
205
  "ankhorage",
@@ -260,7 +263,7 @@
260
263
  },
261
264
  "devDependencies": {
262
265
  "@ankhorage/ankh": "^0.8.11",
263
- "@ankhorage/devtools": "^1.14.0",
266
+ "@ankhorage/devtools": "^1.15.0",
264
267
  "@ankhorage/paradox": "^0.1.24",
265
268
  "@types/bun": "^1.4.1",
266
269
  "@types/node": "^24.13.3",