@fuzdev/fuz_app 0.79.0 → 0.80.0
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fact_serving.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/fact_serving.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AA+C9B,OAAO,EAAgC,KAAK,oBAAoB,EAAC,MAAM,yBAAyB,CAAC;AAEjG,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACxE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,SAAS,CAAC;CAC5C;AA8BD,eAAO,MAAM,iCAAiC,GAAI,SAAS,2BAA2B,KAAG,
|
|
1
|
+
{"version":3,"file":"fact_serving.d.ts","sourceRoot":"../src/lib/","sources":["../../../src/lib/testing/cross_backend/fact_serving.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AA+C9B,OAAO,EAAgC,KAAK,oBAAoB,EAAC,MAAM,yBAAyB,CAAC;AAEjG,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACxE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,SAAS,CAAC;CAC5C;AA8BD,eAAO,MAAM,iCAAiC,GAAI,SAAS,2BAA2B,KAAG,IA8NxF,CAAC"}
|
|
@@ -18,11 +18,11 @@ import '../assert_dev_env.js';
|
|
|
18
18
|
* - **bare-hash admin-only** — `GET /api/facts/:hash` is admin (keeper) only:
|
|
19
19
|
* non-admin → 403, anonymous → 401;
|
|
20
20
|
* - **multi-actor fallthrough** — a multi-actor caller resolves to a null
|
|
21
|
-
* (anonymous) context, so it can't
|
|
22
|
-
*
|
|
23
|
-
* multi-actor setup);
|
|
24
|
-
*
|
|
25
|
-
*
|
|
21
|
+
* (anonymous) context on the (`acting`-less) cell-scoped route, so it can't
|
|
22
|
+
* read its own *private* fact there (admitted only by public cells). Opt-in
|
|
23
|
+
* (needs the multi-actor setup); every spine resolves the acting actor at the
|
|
24
|
+
* dispatcher's authorization phase from account-grain credentials, so the
|
|
25
|
+
* multi-actor account is drivable on TS and Rust alike.
|
|
26
26
|
*
|
|
27
27
|
* Facts are seeded **embedded** via `_testing_put_fact` (the cross-process
|
|
28
28
|
* driver has no DB handle); the referencing cell via the `cell_create` RPC
|
|
@@ -167,26 +167,14 @@ export const describe_fact_serving_cross_tests = (options) => {
|
|
|
167
167
|
const t = fixture.fresh_transport();
|
|
168
168
|
const keeper = fixture.create_session_headers();
|
|
169
169
|
const acting = fixture.actor.id; // the keeper's bootstrap actor
|
|
170
|
-
//
|
|
171
|
-
// actor-required cell creates
|
|
172
|
-
//
|
|
173
|
-
//
|
|
174
|
-
// this
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
let private_cell;
|
|
179
|
-
let public_cell;
|
|
180
|
-
try {
|
|
181
|
-
hash = await put_fact(fixture, 'multi-actor-bytes');
|
|
182
|
-
private_cell = await create_cell_with_ref(t, keeper, hash, 'private', acting);
|
|
183
|
-
public_cell = await create_cell_with_ref(t, keeper, hash, 'public', acting);
|
|
184
|
-
}
|
|
185
|
-
catch (cause) {
|
|
186
|
-
throw new Error('this backend cannot drive a multi-actor account — its credential ' +
|
|
187
|
-
'resolution is single-actor-per-account, so the cell-scoped multi-actor ' +
|
|
188
|
-
'fallthrough is unverified here until the backend gains multi-actor support', { cause });
|
|
189
|
-
}
|
|
170
|
+
// Seed a multi-actor account over the wire: the daemon-token put +
|
|
171
|
+
// the actor-required cell creates (disambiguated via `acting`) drive
|
|
172
|
+
// the keeper's two actors. Every spine resolves the acting actor at
|
|
173
|
+
// the dispatcher's authorization phase from account-grain credentials,
|
|
174
|
+
// so this runs on TS and Rust alike.
|
|
175
|
+
const hash = await put_fact(fixture, 'multi-actor-bytes');
|
|
176
|
+
const private_cell = await create_cell_with_ref(t, keeper, hash, 'private', acting);
|
|
177
|
+
const public_cell = await create_cell_with_ref(t, keeper, hash, 'public', acting);
|
|
190
178
|
// Owns a PRIVATE cell, yet reading its own fact back resolves to a null
|
|
191
179
|
// (anonymous) context → 404. The owner path never runs.
|
|
192
180
|
const own_private = await fact_get(t, cell_fact_path(private_cell, hash), keeper);
|