@agent-native/creative-context 0.7.24 → 0.7.25-nightly-20260910221727
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/dist/server/generation-artifact-access.d.ts +37 -5
- package/dist/server/generation-artifact-access.d.ts.map +1 -1
- package/dist/server/generation-artifact-access.js +40 -11
- package/dist/server/generation-artifact-access.js.map +1 -1
- package/dist/server/generation-context.d.ts.map +1 -1
- package/dist/server/generation-context.js +2 -2
- package/dist/server/generation-context.js.map +1 -1
- package/dist/store/generation.d.ts.map +1 -1
- package/dist/store/generation.js +2 -2
- package/dist/store/generation.js.map +1 -1
- package/package.json +5 -5
- package/src/server/generation-artifact-access.spec.ts +48 -1
- package/src/server/generation-artifact-access.ts +64 -15
- package/src/server/generation-artifact-record-role.spec.ts +170 -0
- package/src/server/generation-context.ts +2 -6
- package/src/store/access.integration.spec.ts +5 -4
- package/src/store/generation.ts +2 -6
|
@@ -3,19 +3,51 @@ export interface GenerationArtifactIdentity {
|
|
|
3
3
|
artifactType: string;
|
|
4
4
|
artifactId: string;
|
|
5
5
|
}
|
|
6
|
+
export type GenerationArtifactAccessOperation = "read" | "record";
|
|
6
7
|
export interface GenerationArtifactAccessTarget {
|
|
7
8
|
resourceType: string;
|
|
8
9
|
resourceId: string;
|
|
10
|
+
/**
|
|
11
|
+
* Role required on `resourceId` to record provenance for this artifact.
|
|
12
|
+
* Defaults to `editor`, because for most hosts the artifact is the resource
|
|
13
|
+
* itself (a deck, a design, a document), so writing its provenance is
|
|
14
|
+
* editing it.
|
|
15
|
+
*
|
|
16
|
+
* A host sets `viewer` only when the artifact is a draft the caller just
|
|
17
|
+
* authored inside the resource rather than part of the resource's own
|
|
18
|
+
* content. Assets brand kits work that way: a kit viewer may generate
|
|
19
|
+
* candidates, so refusing to record where a candidate came from would either
|
|
20
|
+
* block the generation outright or silently lose its provenance.
|
|
21
|
+
*/
|
|
22
|
+
recordMinRole?: "viewer" | "editor";
|
|
9
23
|
}
|
|
10
24
|
declare const proofBrand: unique symbol;
|
|
11
25
|
export interface GenerationArtifactAccessProof {
|
|
12
26
|
readonly identityKey: string;
|
|
13
|
-
readonly
|
|
27
|
+
readonly operation: GenerationArtifactAccessOperation;
|
|
28
|
+
readonly verifiedRole: "viewer" | "editor";
|
|
14
29
|
readonly [proofBrand]: true;
|
|
15
30
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
31
|
+
/**
|
|
32
|
+
* The one place an artifact operation's required role is decided. Reading
|
|
33
|
+
* provenance always needs `viewer`; recording it is the host's call. Keeping
|
|
34
|
+
* both branches here is what stops the mint side, the verify side, and the
|
|
35
|
+
* store from drifting to three different answers.
|
|
36
|
+
*/
|
|
37
|
+
export declare function generationArtifactAccessRole(target: GenerationArtifactAccessTarget, operation: GenerationArtifactAccessOperation): "viewer" | "editor";
|
|
38
|
+
export declare function assertGenerationArtifactAccess(identity: GenerationArtifactIdentity, target: GenerationArtifactAccessTarget, operation: GenerationArtifactAccessOperation): Promise<GenerationArtifactAccessProof>;
|
|
39
|
+
/**
|
|
40
|
+
* Confirm the store is acting on a proof the host minted for this artifact,
|
|
41
|
+
* strong enough for this operation.
|
|
42
|
+
*
|
|
43
|
+
* The operation binding carries the weight that the role used to. Once a host
|
|
44
|
+
* may record with `viewer`, the role alone no longer separates a read proof
|
|
45
|
+
* from a record proof, so a read capability would otherwise be replayable as a
|
|
46
|
+
* write. The implication only runs one way: recording always subsumes reading
|
|
47
|
+
* the same resource, so a record proof satisfies a read.
|
|
48
|
+
*/
|
|
49
|
+
export declare function assertGenerationArtifactAccessProof(identity: GenerationArtifactIdentity, proof: GenerationArtifactAccessProof, operation: GenerationArtifactAccessOperation): void;
|
|
50
|
+
export declare function createGenerationArtifactAccessCapability(identity: GenerationArtifactIdentity, target: GenerationArtifactAccessTarget, operation: GenerationArtifactAccessOperation): Promise<string>;
|
|
51
|
+
export declare function verifyGenerationArtifactAccessCapability(token: string, identity: GenerationArtifactIdentity, operation: GenerationArtifactAccessOperation): Promise<GenerationArtifactAccessProof>;
|
|
20
52
|
export {};
|
|
21
53
|
//# sourceMappingURL=generation-artifact-access.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation-artifact-access.d.ts","sourceRoot":"","sources":["../../src/server/generation-artifact-access.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,8BAA8B;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"generation-artifact-access.d.ts","sourceRoot":"","sources":["../../src/server/generation-artifact-access.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,iCAAiC,GAAG,MAAM,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,8BAA8B;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACrC;AAED,QAAA,MAAM,UAAU,eAAwD,CAAC;AAEzE,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,iCAAiC,CAAC;IACtD,QAAQ,CAAC,YAAY,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC3C,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;CAC7B;AAgBD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,8BAA8B,EACtC,SAAS,EAAE,iCAAiC,GAC3C,QAAQ,GAAG,QAAQ,CAGrB;AAED,wBAAsB,8BAA8B,CAClD,QAAQ,EAAE,0BAA0B,EACpC,MAAM,EAAE,8BAA8B,EACtC,SAAS,EAAE,iCAAiC,GAC3C,OAAO,CAAC,6BAA6B,CAAC,CAYxC;AAED;;;;;;;;;GASG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,0BAA0B,EACpC,KAAK,EAAE,6BAA6B,EACpC,SAAS,EAAE,iCAAiC,GAC3C,IAAI,CAUN;AAED,wBAAsB,wCAAwC,CAC5D,QAAQ,EAAE,0BAA0B,EACpC,MAAM,EAAE,8BAA8B,EACtC,SAAS,EAAE,iCAAiC,GAC3C,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,wBAAsB,wCAAwC,CAC5D,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,0BAA0B,EACpC,SAAS,EAAE,iCAAiC,GAC3C,OAAO,CAAC,6BAA6B,CAAC,CAsCxC"}
|
|
@@ -2,22 +2,44 @@ import { getRequestOrgId, getRequestUserEmail, } from "@agent-native/core/server
|
|
|
2
2
|
import { assertAccess } from "@agent-native/core/sharing";
|
|
3
3
|
const proofBrand = Symbol("creative-context-generation-artifact-access");
|
|
4
4
|
const CAPABILITY_LIFETIME_MS = 60_000;
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The one place an artifact operation's required role is decided. Reading
|
|
7
|
+
* provenance always needs `viewer`; recording it is the host's call. Keeping
|
|
8
|
+
* both branches here is what stops the mint side, the verify side, and the
|
|
9
|
+
* store from drifting to three different answers.
|
|
10
|
+
*/
|
|
11
|
+
export function generationArtifactAccessRole(target, operation) {
|
|
12
|
+
if (operation === "read")
|
|
13
|
+
return "viewer";
|
|
14
|
+
return target.recordMinRole ?? "editor";
|
|
15
|
+
}
|
|
16
|
+
export async function assertGenerationArtifactAccess(identity, target, operation) {
|
|
17
|
+
const minRole = generationArtifactAccessRole(target, operation);
|
|
6
18
|
await assertAccess(target.resourceType, target.resourceId, minRole, undefined, {
|
|
7
19
|
skipResourceBody: true,
|
|
8
20
|
});
|
|
9
|
-
return createProof(identity, minRole);
|
|
21
|
+
return createProof(identity, operation, minRole);
|
|
10
22
|
}
|
|
11
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Confirm the store is acting on a proof the host minted for this artifact,
|
|
25
|
+
* strong enough for this operation.
|
|
26
|
+
*
|
|
27
|
+
* The operation binding carries the weight that the role used to. Once a host
|
|
28
|
+
* may record with `viewer`, the role alone no longer separates a read proof
|
|
29
|
+
* from a record proof, so a read capability would otherwise be replayable as a
|
|
30
|
+
* write. The implication only runs one way: recording always subsumes reading
|
|
31
|
+
* the same resource, so a record proof satisfies a read.
|
|
32
|
+
*/
|
|
33
|
+
export function assertGenerationArtifactAccessProof(identity, proof, operation) {
|
|
12
34
|
if (proof?.[proofBrand] !== true ||
|
|
13
35
|
proof.identityKey !== generationIdentityKey(identity) ||
|
|
14
|
-
(
|
|
36
|
+
(operation === "record" && proof.operation !== "record")) {
|
|
15
37
|
throw new Error("Generation artifact access must be verified by the host application");
|
|
16
38
|
}
|
|
17
39
|
}
|
|
18
40
|
export async function createGenerationArtifactAccessCapability(identity, target, operation) {
|
|
19
|
-
const minRole = operation
|
|
20
|
-
await assertGenerationArtifactAccess(identity, target,
|
|
41
|
+
const minRole = generationArtifactAccessRole(target, operation);
|
|
42
|
+
await assertGenerationArtifactAccess(identity, target, operation);
|
|
21
43
|
const actor = requireCapabilityActor();
|
|
22
44
|
const claims = {
|
|
23
45
|
version: 1,
|
|
@@ -50,11 +72,17 @@ export async function verifyGenerationArtifactAccessCapability(token, identity,
|
|
|
50
72
|
throw new Error("Invalid generation artifact access capability");
|
|
51
73
|
}
|
|
52
74
|
const actor = requireCapabilityActor();
|
|
53
|
-
|
|
75
|
+
// The recorded role is read back from the claims rather than re-derived,
|
|
76
|
+
// because only the mint side saw the target that decided it. That is safe
|
|
77
|
+
// because these claims are HMAC-signed by this deployment and the real
|
|
78
|
+
// `assertAccess` ran before signing. The checks below are what keep a token
|
|
79
|
+
// from being replayed for another artifact, operation, caller, org, or
|
|
80
|
+
// moment.
|
|
54
81
|
if (claims.version !== 1 ||
|
|
55
82
|
claims.operation !== operation ||
|
|
56
83
|
claims.identityKey !== generationIdentityKey(identity) ||
|
|
57
|
-
claims.minRole !==
|
|
84
|
+
(claims.minRole !== "viewer" && claims.minRole !== "editor") ||
|
|
85
|
+
(operation === "read" && claims.minRole !== "viewer") ||
|
|
58
86
|
claims.userEmail !== actor.userEmail ||
|
|
59
87
|
claims.orgId !== actor.orgId ||
|
|
60
88
|
!Number.isSafeInteger(claims.expiresAt) ||
|
|
@@ -62,12 +90,13 @@ export async function verifyGenerationArtifactAccessCapability(token, identity,
|
|
|
62
90
|
claims.expiresAt > Date.now() + CAPABILITY_LIFETIME_MS) {
|
|
63
91
|
throw new Error("Invalid generation artifact access capability");
|
|
64
92
|
}
|
|
65
|
-
return createProof(identity,
|
|
93
|
+
return createProof(identity, operation, claims.minRole);
|
|
66
94
|
}
|
|
67
|
-
function createProof(identity,
|
|
95
|
+
function createProof(identity, operation, verifiedRole) {
|
|
68
96
|
return Object.freeze({
|
|
69
97
|
identityKey: generationIdentityKey(identity),
|
|
70
|
-
|
|
98
|
+
operation,
|
|
99
|
+
verifiedRole,
|
|
71
100
|
[proofBrand]: true,
|
|
72
101
|
});
|
|
73
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation-artifact-access.js","sourceRoot":"","sources":["../../src/server/generation-artifact-access.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,mBAAmB,GACpB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"generation-artifact-access.js","sourceRoot":"","sources":["../../src/server/generation-artifact-access.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation-context.d.ts","sourceRoot":"","sources":["../../src/server/generation-context.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generation-context.d.ts","sourceRoot":"","sources":["../../src/server/generation-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -401,7 +401,7 @@ export async function recordGenerationCreativeContext(input, options = {}) {
|
|
|
401
401
|
});
|
|
402
402
|
}
|
|
403
403
|
const artifactAccess = artifactAccessTarget
|
|
404
|
-
? await assertGenerationArtifactAccess(input, artifactAccessTarget, "
|
|
404
|
+
? await assertGenerationArtifactAccess(input, artifactAccessTarget, "record")
|
|
405
405
|
: undefined;
|
|
406
406
|
return recordGenerationCreativeContextLocal(input, {
|
|
407
407
|
db: options.db,
|
|
@@ -423,7 +423,7 @@ export async function getGenerationCreativeContext(input, options = {}) {
|
|
|
423
423
|
}
|
|
424
424
|
}
|
|
425
425
|
const artifactAccess = artifactAccessTarget
|
|
426
|
-
? await assertGenerationArtifactAccess(input, artifactAccessTarget, "
|
|
426
|
+
? await assertGenerationArtifactAccess(input, artifactAccessTarget, "read")
|
|
427
427
|
: undefined;
|
|
428
428
|
return getGenerationCreativeContextLocal(input, {
|
|
429
429
|
artifactAccess,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation-context.js","sourceRoot":"","sources":["../../src/server/generation-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generation-context.js","sourceRoot":"","sources":["../../src/server/generation-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../../src/store/generation.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EACV,+BAA+B,EAC/B,gCAAgC,EAChC,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AASrB,wBAAgB,yCAAyC,CAAC,KAAK,EAAE;IAC/D,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAClD,iBAAiB,EAAE,SAAS,gCAAgC,EAAE,CAAC;CAChE,GAAG,IAAI,CA2CP;AAED,wBAAsB,+BAA+B,CACnD,KAAK,EAAE;IACL,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,yBAAyB,EAAE,CAAC;IACzC,iBAAiB,CAAC,EAAE,gCAAgC,EAAE,CAAC;CACxD,EACD,OAAO,GAAE;IACP,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,cAAc,CAAC,EAAE,6BAA6B,CAAC;CAC3C,GACL,OAAO,CAAC,+BAA+B,CAAC,CAqF1C;AAED,wBAAsB,4BAA4B,CAChD,KAAK,EAAE;IACL,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,EACD,OAAO,GAAE;IACP,cAAc,CAAC,EAAE,6BAA6B,CAAC;CAC3C,GACL,OAAO,CAAC,+BAA+B,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../../src/store/generation.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EACV,+BAA+B,EAC/B,gCAAgC,EAChC,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AASrB,wBAAgB,yCAAyC,CAAC,KAAK,EAAE;IAC/D,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAClD,iBAAiB,EAAE,SAAS,gCAAgC,EAAE,CAAC;CAChE,GAAG,IAAI,CA2CP;AAED,wBAAsB,+BAA+B,CACnD,KAAK,EAAE;IACL,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,yBAAyB,EAAE,CAAC;IACzC,iBAAiB,CAAC,EAAE,gCAAgC,EAAE,CAAC;CACxD,EACD,OAAO,GAAE;IACP,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,cAAc,CAAC,EAAE,6BAA6B,CAAC;CAC3C,GACL,OAAO,CAAC,+BAA+B,CAAC,CAqF1C;AAED,wBAAsB,4BAA4B,CAChD,KAAK,EAAE;IACL,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,EACD,OAAO,GAAE;IACP,cAAc,CAAC,EAAE,6BAA6B,CAAC;CAC3C,GACL,OAAO,CAAC,+BAA+B,GAAG,IAAI,CAAC,CAwCjD"}
|
package/dist/store/generation.js
CHANGED
|
@@ -78,7 +78,7 @@ export async function recordGenerationCreativeContext(input, options = {}) {
|
|
|
78
78
|
const db = options.db ?? getDb();
|
|
79
79
|
const actor = requireActor();
|
|
80
80
|
if (options.artifactAccess) {
|
|
81
|
-
assertGenerationArtifactAccessProof(input, options.artifactAccess, "
|
|
81
|
+
assertGenerationArtifactAccessProof(input, options.artifactAccess, "record");
|
|
82
82
|
}
|
|
83
83
|
const row = {
|
|
84
84
|
id: newId("ccgr"),
|
|
@@ -112,7 +112,7 @@ export async function getGenerationCreativeContext(input, options = {}) {
|
|
|
112
112
|
throw new Error("Collaborative generation context reads require an organization");
|
|
113
113
|
}
|
|
114
114
|
if (options.artifactAccess) {
|
|
115
|
-
assertGenerationArtifactAccessProof(input, options.artifactAccess, "
|
|
115
|
+
assertGenerationArtifactAccessProof(input, options.artifactAccess, "read");
|
|
116
116
|
}
|
|
117
117
|
const actorScope = options.artifactAccess
|
|
118
118
|
? eq(schema.generationRecords.orgId, actor.orgId)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation.js","sourceRoot":"","sources":["../../src/store/generation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generation.js","sourceRoot":"","sources":["../../src/store/generation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-native/creative-context",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.25-nightly-20260910221727",
|
|
4
4
|
"description": "Shared creative context ingestion, versioning, search, brand DNA, and context-pack primitives for agent-native apps.",
|
|
5
5
|
"homepage": "https://github.com/BuilderIO/agent-native#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -57,12 +57,12 @@
|
|
|
57
57
|
"react-dom": "^19.2.7",
|
|
58
58
|
"typescript-7": "npm:typescript@^7.0.2",
|
|
59
59
|
"vitest": "^4.1.5",
|
|
60
|
-
"@agent-native/core": "0.178.
|
|
61
|
-
"@agent-native/toolkit": "0.19.
|
|
60
|
+
"@agent-native/core": "0.178.2-nightly-20260910221727",
|
|
61
|
+
"@agent-native/toolkit": "0.19.8-nightly-20260910221727"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
|
-
"@agent-native/core": "
|
|
65
|
-
"@agent-native/toolkit": "
|
|
64
|
+
"@agent-native/core": "0.178.2-nightly-20260910221727",
|
|
65
|
+
"@agent-native/toolkit": "0.19.8-nightly-20260910221727",
|
|
66
66
|
"@tabler/icons-react": ">=3.41.1",
|
|
67
67
|
"@tanstack/react-query": ">=5.101.4",
|
|
68
68
|
"drizzle-orm": ">=0.45",
|
|
@@ -62,10 +62,57 @@ describe("generation artifact access capabilities", () => {
|
|
|
62
62
|
"record",
|
|
63
63
|
);
|
|
64
64
|
expect(() =>
|
|
65
|
-
assertGenerationArtifactAccessProof(identity, proof, "
|
|
65
|
+
assertGenerationArtifactAccessProof(identity, proof, "record"),
|
|
66
66
|
).not.toThrow();
|
|
67
67
|
});
|
|
68
68
|
|
|
69
|
+
it("mints the host-declared role when recording is only draft work", async () => {
|
|
70
|
+
mocks.assertAccess.mockResolvedValue({ role: "viewer" });
|
|
71
|
+
|
|
72
|
+
const token = await createGenerationArtifactAccessCapability(
|
|
73
|
+
{ appId: "assets", artifactType: "generation-run", artifactId: "run-1" },
|
|
74
|
+
{
|
|
75
|
+
resourceType: "asset-library",
|
|
76
|
+
resourceId: "lib-1",
|
|
77
|
+
recordMinRole: "viewer",
|
|
78
|
+
},
|
|
79
|
+
"record",
|
|
80
|
+
);
|
|
81
|
+
expect(mocks.assertAccess).toHaveBeenCalledWith(
|
|
82
|
+
"asset-library",
|
|
83
|
+
"lib-1",
|
|
84
|
+
"viewer",
|
|
85
|
+
undefined,
|
|
86
|
+
{ skipResourceBody: true },
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
const proof = await verifyGenerationArtifactAccessCapability(
|
|
90
|
+
token,
|
|
91
|
+
{ appId: "assets", artifactType: "generation-run", artifactId: "run-1" },
|
|
92
|
+
"record",
|
|
93
|
+
);
|
|
94
|
+
expect(proof.verifiedRole).toBe("viewer");
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
it("will not let a read capability stand in for a record", async () => {
|
|
98
|
+
const readToken = await createGenerationArtifactAccessCapability(
|
|
99
|
+
identity,
|
|
100
|
+
{ resourceType: "deck", resourceId: "deck-1" },
|
|
101
|
+
"read",
|
|
102
|
+
);
|
|
103
|
+
const readProof = await verifyGenerationArtifactAccessCapability(
|
|
104
|
+
readToken,
|
|
105
|
+
identity,
|
|
106
|
+
"read",
|
|
107
|
+
);
|
|
108
|
+
|
|
109
|
+
// Both operations can now resolve to `viewer`, so the operation binding is
|
|
110
|
+
// the only thing left separating a provenance read from a provenance write.
|
|
111
|
+
expect(() =>
|
|
112
|
+
assertGenerationArtifactAccessProof(identity, readProof, "record"),
|
|
113
|
+
).toThrow(/verified by the host application/i);
|
|
114
|
+
});
|
|
115
|
+
|
|
69
116
|
it("binds the capability to caller, artifact identity, and operation", async () => {
|
|
70
117
|
const token = await createGenerationArtifactAccessCapability(
|
|
71
118
|
identity,
|
|
@@ -10,22 +10,38 @@ export interface GenerationArtifactIdentity {
|
|
|
10
10
|
artifactId: string;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
export type GenerationArtifactAccessOperation = "read" | "record";
|
|
14
|
+
|
|
13
15
|
export interface GenerationArtifactAccessTarget {
|
|
14
16
|
resourceType: string;
|
|
15
17
|
resourceId: string;
|
|
18
|
+
/**
|
|
19
|
+
* Role required on `resourceId` to record provenance for this artifact.
|
|
20
|
+
* Defaults to `editor`, because for most hosts the artifact is the resource
|
|
21
|
+
* itself (a deck, a design, a document), so writing its provenance is
|
|
22
|
+
* editing it.
|
|
23
|
+
*
|
|
24
|
+
* A host sets `viewer` only when the artifact is a draft the caller just
|
|
25
|
+
* authored inside the resource rather than part of the resource's own
|
|
26
|
+
* content. Assets brand kits work that way: a kit viewer may generate
|
|
27
|
+
* candidates, so refusing to record where a candidate came from would either
|
|
28
|
+
* block the generation outright or silently lose its provenance.
|
|
29
|
+
*/
|
|
30
|
+
recordMinRole?: "viewer" | "editor";
|
|
16
31
|
}
|
|
17
32
|
|
|
18
33
|
const proofBrand = Symbol("creative-context-generation-artifact-access");
|
|
19
34
|
|
|
20
35
|
export interface GenerationArtifactAccessProof {
|
|
21
36
|
readonly identityKey: string;
|
|
22
|
-
readonly
|
|
37
|
+
readonly operation: GenerationArtifactAccessOperation;
|
|
38
|
+
readonly verifiedRole: "viewer" | "editor";
|
|
23
39
|
readonly [proofBrand]: true;
|
|
24
40
|
}
|
|
25
41
|
|
|
26
42
|
interface CapabilityClaims {
|
|
27
43
|
version: 1;
|
|
28
|
-
operation:
|
|
44
|
+
operation: GenerationArtifactAccessOperation;
|
|
29
45
|
identityKey: string;
|
|
30
46
|
minRole: "viewer" | "editor";
|
|
31
47
|
resourceType: string;
|
|
@@ -37,11 +53,26 @@ interface CapabilityClaims {
|
|
|
37
53
|
|
|
38
54
|
const CAPABILITY_LIFETIME_MS = 60_000;
|
|
39
55
|
|
|
56
|
+
/**
|
|
57
|
+
* The one place an artifact operation's required role is decided. Reading
|
|
58
|
+
* provenance always needs `viewer`; recording it is the host's call. Keeping
|
|
59
|
+
* both branches here is what stops the mint side, the verify side, and the
|
|
60
|
+
* store from drifting to three different answers.
|
|
61
|
+
*/
|
|
62
|
+
export function generationArtifactAccessRole(
|
|
63
|
+
target: GenerationArtifactAccessTarget,
|
|
64
|
+
operation: GenerationArtifactAccessOperation,
|
|
65
|
+
): "viewer" | "editor" {
|
|
66
|
+
if (operation === "read") return "viewer";
|
|
67
|
+
return target.recordMinRole ?? "editor";
|
|
68
|
+
}
|
|
69
|
+
|
|
40
70
|
export async function assertGenerationArtifactAccess(
|
|
41
71
|
identity: GenerationArtifactIdentity,
|
|
42
72
|
target: GenerationArtifactAccessTarget,
|
|
43
|
-
|
|
73
|
+
operation: GenerationArtifactAccessOperation,
|
|
44
74
|
): Promise<GenerationArtifactAccessProof> {
|
|
75
|
+
const minRole = generationArtifactAccessRole(target, operation);
|
|
45
76
|
await assertAccess(
|
|
46
77
|
target.resourceType,
|
|
47
78
|
target.resourceId,
|
|
@@ -51,18 +82,28 @@ export async function assertGenerationArtifactAccess(
|
|
|
51
82
|
skipResourceBody: true,
|
|
52
83
|
},
|
|
53
84
|
);
|
|
54
|
-
return createProof(identity, minRole);
|
|
85
|
+
return createProof(identity, operation, minRole);
|
|
55
86
|
}
|
|
56
87
|
|
|
88
|
+
/**
|
|
89
|
+
* Confirm the store is acting on a proof the host minted for this artifact,
|
|
90
|
+
* strong enough for this operation.
|
|
91
|
+
*
|
|
92
|
+
* The operation binding carries the weight that the role used to. Once a host
|
|
93
|
+
* may record with `viewer`, the role alone no longer separates a read proof
|
|
94
|
+
* from a record proof, so a read capability would otherwise be replayable as a
|
|
95
|
+
* write. The implication only runs one way: recording always subsumes reading
|
|
96
|
+
* the same resource, so a record proof satisfies a read.
|
|
97
|
+
*/
|
|
57
98
|
export function assertGenerationArtifactAccessProof(
|
|
58
99
|
identity: GenerationArtifactIdentity,
|
|
59
100
|
proof: GenerationArtifactAccessProof,
|
|
60
|
-
|
|
101
|
+
operation: GenerationArtifactAccessOperation,
|
|
61
102
|
): void {
|
|
62
103
|
if (
|
|
63
104
|
proof?.[proofBrand] !== true ||
|
|
64
105
|
proof.identityKey !== generationIdentityKey(identity) ||
|
|
65
|
-
(
|
|
106
|
+
(operation === "record" && proof.operation !== "record")
|
|
66
107
|
) {
|
|
67
108
|
throw new Error(
|
|
68
109
|
"Generation artifact access must be verified by the host application",
|
|
@@ -73,10 +114,10 @@ export function assertGenerationArtifactAccessProof(
|
|
|
73
114
|
export async function createGenerationArtifactAccessCapability(
|
|
74
115
|
identity: GenerationArtifactIdentity,
|
|
75
116
|
target: GenerationArtifactAccessTarget,
|
|
76
|
-
operation:
|
|
117
|
+
operation: GenerationArtifactAccessOperation,
|
|
77
118
|
): Promise<string> {
|
|
78
|
-
const minRole = operation
|
|
79
|
-
await assertGenerationArtifactAccess(identity, target,
|
|
119
|
+
const minRole = generationArtifactAccessRole(target, operation);
|
|
120
|
+
await assertGenerationArtifactAccess(identity, target, operation);
|
|
80
121
|
const actor = requireCapabilityActor();
|
|
81
122
|
const claims: CapabilityClaims = {
|
|
82
123
|
version: 1,
|
|
@@ -99,7 +140,7 @@ export async function createGenerationArtifactAccessCapability(
|
|
|
99
140
|
export async function verifyGenerationArtifactAccessCapability(
|
|
100
141
|
token: string,
|
|
101
142
|
identity: GenerationArtifactIdentity,
|
|
102
|
-
operation:
|
|
143
|
+
operation: GenerationArtifactAccessOperation,
|
|
103
144
|
): Promise<GenerationArtifactAccessProof> {
|
|
104
145
|
const [encoded, signature, extra] = token.split(".");
|
|
105
146
|
if (!encoded || !signature || extra) {
|
|
@@ -117,12 +158,18 @@ export async function verifyGenerationArtifactAccessCapability(
|
|
|
117
158
|
throw new Error("Invalid generation artifact access capability");
|
|
118
159
|
}
|
|
119
160
|
const actor = requireCapabilityActor();
|
|
120
|
-
|
|
161
|
+
// The recorded role is read back from the claims rather than re-derived,
|
|
162
|
+
// because only the mint side saw the target that decided it. That is safe
|
|
163
|
+
// because these claims are HMAC-signed by this deployment and the real
|
|
164
|
+
// `assertAccess` ran before signing. The checks below are what keep a token
|
|
165
|
+
// from being replayed for another artifact, operation, caller, org, or
|
|
166
|
+
// moment.
|
|
121
167
|
if (
|
|
122
168
|
claims.version !== 1 ||
|
|
123
169
|
claims.operation !== operation ||
|
|
124
170
|
claims.identityKey !== generationIdentityKey(identity) ||
|
|
125
|
-
claims.minRole !==
|
|
171
|
+
(claims.minRole !== "viewer" && claims.minRole !== "editor") ||
|
|
172
|
+
(operation === "read" && claims.minRole !== "viewer") ||
|
|
126
173
|
claims.userEmail !== actor.userEmail ||
|
|
127
174
|
claims.orgId !== actor.orgId ||
|
|
128
175
|
!Number.isSafeInteger(claims.expiresAt) ||
|
|
@@ -131,16 +178,18 @@ export async function verifyGenerationArtifactAccessCapability(
|
|
|
131
178
|
) {
|
|
132
179
|
throw new Error("Invalid generation artifact access capability");
|
|
133
180
|
}
|
|
134
|
-
return createProof(identity,
|
|
181
|
+
return createProof(identity, operation, claims.minRole);
|
|
135
182
|
}
|
|
136
183
|
|
|
137
184
|
function createProof(
|
|
138
185
|
identity: GenerationArtifactIdentity,
|
|
139
|
-
|
|
186
|
+
operation: GenerationArtifactAccessOperation,
|
|
187
|
+
verifiedRole: "viewer" | "editor",
|
|
140
188
|
): GenerationArtifactAccessProof {
|
|
141
189
|
return Object.freeze({
|
|
142
190
|
identityKey: generationIdentityKey(identity),
|
|
143
|
-
|
|
191
|
+
operation,
|
|
192
|
+
verifiedRole,
|
|
144
193
|
[proofBrand]: true as const,
|
|
145
194
|
});
|
|
146
195
|
}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
+
|
|
3
|
+
const mocks = vi.hoisted(() => ({
|
|
4
|
+
assertAccess: vi.fn(),
|
|
5
|
+
getRequestOrgId: vi.fn(),
|
|
6
|
+
getRequestUserEmail: vi.fn(),
|
|
7
|
+
recordLocal: vi.fn(),
|
|
8
|
+
getLocal: vi.fn(),
|
|
9
|
+
hasA2A: vi.fn(),
|
|
10
|
+
callA2A: vi.fn(),
|
|
11
|
+
readAppState: vi.fn(),
|
|
12
|
+
}));
|
|
13
|
+
|
|
14
|
+
vi.mock("@agent-native/core/sharing", () => ({
|
|
15
|
+
assertAccess: mocks.assertAccess,
|
|
16
|
+
}));
|
|
17
|
+
|
|
18
|
+
vi.mock("@agent-native/core/server/request-context", () => ({
|
|
19
|
+
getRequestOrgId: mocks.getRequestOrgId,
|
|
20
|
+
getRequestUserEmail: mocks.getRequestUserEmail,
|
|
21
|
+
}));
|
|
22
|
+
|
|
23
|
+
vi.mock("@agent-native/core/application-state", () => ({
|
|
24
|
+
readAppState: mocks.readAppState,
|
|
25
|
+
}));
|
|
26
|
+
|
|
27
|
+
vi.mock("../store/generation.js", () => ({
|
|
28
|
+
recordGenerationCreativeContext: mocks.recordLocal,
|
|
29
|
+
getGenerationCreativeContext: mocks.getLocal,
|
|
30
|
+
}));
|
|
31
|
+
|
|
32
|
+
vi.mock("../store/index.js", () => ({
|
|
33
|
+
getContextPack: vi.fn(),
|
|
34
|
+
getCreativeContextItem: vi.fn(),
|
|
35
|
+
listAccessibleSearchDocuments: vi.fn(),
|
|
36
|
+
listCreativeContexts: vi.fn(),
|
|
37
|
+
getCreativeContextById: vi.fn(),
|
|
38
|
+
getCreativeContextAppBinding: vi.fn(),
|
|
39
|
+
createContextPack: vi.fn(),
|
|
40
|
+
}));
|
|
41
|
+
|
|
42
|
+
vi.mock("./retrieval.js", () => ({
|
|
43
|
+
performCreativeContextSearch: vi.fn(),
|
|
44
|
+
}));
|
|
45
|
+
|
|
46
|
+
vi.mock("./isolated-a2a.js", () => ({
|
|
47
|
+
callIsolatedCreativeContextA2A: mocks.callA2A,
|
|
48
|
+
hasIsolatedCreativeContextA2A: mocks.hasA2A,
|
|
49
|
+
isolatedResolvePayload: vi.fn((input) => input),
|
|
50
|
+
}));
|
|
51
|
+
|
|
52
|
+
import {
|
|
53
|
+
getGenerationCreativeContext,
|
|
54
|
+
recordGenerationCreativeContext,
|
|
55
|
+
} from "./generation-context.js";
|
|
56
|
+
|
|
57
|
+
const RANK = {
|
|
58
|
+
viewer: 1,
|
|
59
|
+
commenter: 1,
|
|
60
|
+
editor: 2,
|
|
61
|
+
admin: 3,
|
|
62
|
+
owner: 4,
|
|
63
|
+
} as const;
|
|
64
|
+
|
|
65
|
+
/** Stand in for core's real role check, including its exact refusal wording. */
|
|
66
|
+
function grantRole(role: keyof typeof RANK) {
|
|
67
|
+
mocks.assertAccess.mockImplementation(
|
|
68
|
+
async (resourceType: string, resourceId: string, minRole: string) => {
|
|
69
|
+
if (RANK[role] < RANK[minRole as keyof typeof RANK]) {
|
|
70
|
+
throw new Error(
|
|
71
|
+
`Requires ${minRole} role on ${resourceType} ${resourceId} (have ${role})`,
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
return { role };
|
|
75
|
+
},
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const draftRun = {
|
|
80
|
+
appId: "assets",
|
|
81
|
+
artifactType: "generation-run",
|
|
82
|
+
artifactId: "run-1",
|
|
83
|
+
contextMode: "auto" as const,
|
|
84
|
+
contextPackId: null,
|
|
85
|
+
reuseLabels: [],
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const kit = { resourceType: "asset-library", resourceId: "lib-1" };
|
|
89
|
+
|
|
90
|
+
describe("generation provenance record role", () => {
|
|
91
|
+
beforeEach(() => {
|
|
92
|
+
vi.clearAllMocks();
|
|
93
|
+
mocks.getRequestOrgId.mockReturnValue("org-1");
|
|
94
|
+
mocks.getRequestUserEmail.mockReturnValue("viewer@example.test");
|
|
95
|
+
mocks.hasA2A.mockReturnValue(false);
|
|
96
|
+
mocks.readAppState.mockResolvedValue({ contextMode: "auto" });
|
|
97
|
+
mocks.recordLocal.mockResolvedValue({ id: "ccgr-1" });
|
|
98
|
+
mocks.getLocal.mockResolvedValue(null);
|
|
99
|
+
grantRole("editor");
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
it("still requires editor by default, so deck/design/document hosts are unchanged", async () => {
|
|
103
|
+
grantRole("viewer");
|
|
104
|
+
|
|
105
|
+
await expect(
|
|
106
|
+
recordGenerationCreativeContext(
|
|
107
|
+
{ ...draftRun, appId: "slides", artifactType: "deck" },
|
|
108
|
+
{ artifactAccess: { resourceType: "deck", resourceId: "deck-1" } },
|
|
109
|
+
),
|
|
110
|
+
).rejects.toThrow(/Requires editor role on deck deck-1 \(have viewer\)/);
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
it("lets a host declare that recording provenance only needs draft access", async () => {
|
|
114
|
+
grantRole("viewer");
|
|
115
|
+
|
|
116
|
+
await recordGenerationCreativeContext(draftRun, {
|
|
117
|
+
artifactAccess: { ...kit, recordMinRole: "viewer" },
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
expect(mocks.assertAccess).toHaveBeenCalledWith(
|
|
121
|
+
"asset-library",
|
|
122
|
+
"lib-1",
|
|
123
|
+
"viewer",
|
|
124
|
+
undefined,
|
|
125
|
+
{ skipResourceBody: true },
|
|
126
|
+
);
|
|
127
|
+
// Recorded against the org, not the caller, so an editor reviewing the
|
|
128
|
+
// draft later still sees where it came from.
|
|
129
|
+
expect(mocks.recordLocal).toHaveBeenCalledWith(
|
|
130
|
+
draftRun,
|
|
131
|
+
expect.objectContaining({
|
|
132
|
+
artifactAccess: expect.objectContaining({
|
|
133
|
+
operation: "record",
|
|
134
|
+
verifiedRole: "viewer",
|
|
135
|
+
}),
|
|
136
|
+
}),
|
|
137
|
+
);
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
it("still refuses a caller who cannot even read the kit", async () => {
|
|
141
|
+
grantRole("viewer");
|
|
142
|
+
mocks.assertAccess.mockRejectedValue(
|
|
143
|
+
new Error("No access to asset-library lib-1"),
|
|
144
|
+
);
|
|
145
|
+
|
|
146
|
+
await expect(
|
|
147
|
+
recordGenerationCreativeContext(draftRun, {
|
|
148
|
+
artifactAccess: { ...kit, recordMinRole: "viewer" },
|
|
149
|
+
}),
|
|
150
|
+
).rejects.toThrow(/No access to asset-library lib-1/);
|
|
151
|
+
expect(mocks.recordLocal).not.toHaveBeenCalled();
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
it("reads a draft's provenance with viewer access, as before", async () => {
|
|
155
|
+
grantRole("viewer");
|
|
156
|
+
|
|
157
|
+
await getGenerationCreativeContext(
|
|
158
|
+
{ appId: "assets", artifactType: "generation-run", artifactId: "run-1" },
|
|
159
|
+
{ artifactAccess: kit },
|
|
160
|
+
);
|
|
161
|
+
|
|
162
|
+
expect(mocks.assertAccess).toHaveBeenCalledWith(
|
|
163
|
+
"asset-library",
|
|
164
|
+
"lib-1",
|
|
165
|
+
"viewer",
|
|
166
|
+
undefined,
|
|
167
|
+
{ skipResourceBody: true },
|
|
168
|
+
);
|
|
169
|
+
});
|
|
170
|
+
});
|
|
@@ -582,7 +582,7 @@ export async function recordGenerationCreativeContext(
|
|
|
582
582
|
? await assertGenerationArtifactAccess(
|
|
583
583
|
input,
|
|
584
584
|
artifactAccessTarget,
|
|
585
|
-
"
|
|
585
|
+
"record",
|
|
586
586
|
)
|
|
587
587
|
: undefined;
|
|
588
588
|
return recordGenerationCreativeContextLocal(input, {
|
|
@@ -627,11 +627,7 @@ export async function getGenerationCreativeContext(
|
|
|
627
627
|
}
|
|
628
628
|
}
|
|
629
629
|
const artifactAccess = artifactAccessTarget
|
|
630
|
-
? await assertGenerationArtifactAccess(
|
|
631
|
-
input,
|
|
632
|
-
artifactAccessTarget,
|
|
633
|
-
"viewer",
|
|
634
|
-
)
|
|
630
|
+
? await assertGenerationArtifactAccess(input, artifactAccessTarget, "read")
|
|
635
631
|
: undefined;
|
|
636
632
|
return getGenerationCreativeContextLocal(input, {
|
|
637
633
|
artifactAccess,
|
|
@@ -486,7 +486,7 @@ describe("creative context access and revocation", () => {
|
|
|
486
486
|
resourceType: "creative-context-source",
|
|
487
487
|
resourceId: "source-1",
|
|
488
488
|
},
|
|
489
|
-
"
|
|
489
|
+
"record",
|
|
490
490
|
),
|
|
491
491
|
);
|
|
492
492
|
await runWithRequestContext(
|
|
@@ -517,7 +517,7 @@ describe("creative context access and revocation", () => {
|
|
|
517
517
|
resourceType: "creative-context-source",
|
|
518
518
|
resourceId: "source-1",
|
|
519
519
|
},
|
|
520
|
-
"
|
|
520
|
+
"read",
|
|
521
521
|
),
|
|
522
522
|
),
|
|
523
523
|
).rejects.toThrow(/no access/i);
|
|
@@ -530,7 +530,8 @@ describe("creative context access and revocation", () => {
|
|
|
530
530
|
artifact.artifactType,
|
|
531
531
|
artifact.artifactId,
|
|
532
532
|
]),
|
|
533
|
-
|
|
533
|
+
operation: "read",
|
|
534
|
+
verifiedRole: "viewer",
|
|
534
535
|
} as never,
|
|
535
536
|
}),
|
|
536
537
|
),
|
|
@@ -583,7 +584,7 @@ describe("creative context access and revocation", () => {
|
|
|
583
584
|
resourceType: "creative-context-source",
|
|
584
585
|
resourceId: "source-1",
|
|
585
586
|
},
|
|
586
|
-
"
|
|
587
|
+
"read",
|
|
587
588
|
),
|
|
588
589
|
);
|
|
589
590
|
await expect(
|
package/src/store/generation.ts
CHANGED
|
@@ -141,7 +141,7 @@ export async function recordGenerationCreativeContext(
|
|
|
141
141
|
assertGenerationArtifactAccessProof(
|
|
142
142
|
input,
|
|
143
143
|
options.artifactAccess,
|
|
144
|
-
"
|
|
144
|
+
"record",
|
|
145
145
|
);
|
|
146
146
|
}
|
|
147
147
|
const row = {
|
|
@@ -188,11 +188,7 @@ export async function getGenerationCreativeContext(
|
|
|
188
188
|
);
|
|
189
189
|
}
|
|
190
190
|
if (options.artifactAccess) {
|
|
191
|
-
assertGenerationArtifactAccessProof(
|
|
192
|
-
input,
|
|
193
|
-
options.artifactAccess,
|
|
194
|
-
"viewer",
|
|
195
|
-
);
|
|
191
|
+
assertGenerationArtifactAccessProof(input, options.artifactAccess, "read");
|
|
196
192
|
}
|
|
197
193
|
const actorScope = options.artifactAccess
|
|
198
194
|
? eq(schema.generationRecords.orgId, actor.orgId!)
|