@vibes.diy/api-svc 14.3.53 → 14.3.54
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/intern/agent-belt.js +10 -0
- package/intern/agent-belt.js.map +1 -1
- package/intern/agent-dispatcher.js +1 -0
- package/intern/agent-dispatcher.js.map +1 -1
- package/intern/agent-file-validation.d.ts +6 -0
- package/intern/agent-file-validation.js +31 -15
- package/intern/agent-file-validation.js.map +1 -1
- package/intern/agent-read-tools.js +3 -1
- package/intern/agent-read-tools.js.map +1 -1
- package/intern/agent-session-runtime.js +1 -0
- package/intern/agent-session-runtime.js.map +1 -1
- package/intern/agent-wake.d.ts +8 -0
- package/intern/agent-wake.js +7 -0
- package/intern/agent-wake.js.map +1 -1
- package/intern/attach-draft-handle.js +1 -0
- package/intern/attach-draft-handle.js.map +1 -1
- package/intern/draft-chat-store.d.ts +1 -0
- package/intern/draft-chat-store.js +2 -1
- package/intern/draft-chat-store.js.map +1 -1
- package/intern/draft-lane.d.ts +8 -1
- package/intern/draft-lane.js +1 -1
- package/intern/draft-lane.js.map +1 -1
- package/intern/ensure-chat-id.d.ts +3 -2
- package/intern/ensure-chat-id.js +15 -3
- package/intern/ensure-chat-id.js.map +1 -1
- package/intern/instruction-variant.d.ts +1 -1
- package/intern/instruction-variant.js +1 -1
- package/intern/mint-decision.d.ts +2 -1
- package/intern/mint-decision.js +4 -1
- package/intern/mint-decision.js.map +1 -1
- package/intern/process-access-bindings.js +49 -10
- package/intern/process-access-bindings.js.map +1 -1
- package/intern/put-access-gate.js +21 -1
- package/intern/put-access-gate.js.map +1 -1
- package/intern/render-vibe.d.ts +2 -1
- package/intern/render-vibe.js +4 -1
- package/intern/render-vibe.js.map +1 -1
- package/intern/save-repair.d.ts +43 -0
- package/intern/save-repair.js +133 -0
- package/intern/save-repair.js.map +1 -0
- package/intern/settings-carry-policy.js +10 -0
- package/intern/settings-carry-policy.js.map +1 -1
- package/intern/swr-html-cache-orchestrator.js +3 -1
- package/intern/swr-html-cache-orchestrator.js.map +1 -1
- package/package.json +15 -15
- package/public/access-binding-resolver.d.ts +5 -1
- package/public/access-binding-resolver.js +9 -6
- package/public/access-binding-resolver.js.map +1 -1
- package/public/app-documents-write-eventos.js +1 -1
- package/public/app-documents-write-eventos.js.map +1 -1
- package/public/app-settings-sql-upsert.js +14 -2
- package/public/app-settings-sql-upsert.js.map +1 -1
- package/public/asset-session.js +4 -4
- package/public/asset-session.js.map +1 -1
- package/public/audience-arms-store.d.ts +13 -1
- package/public/audience-arms-store.js +72 -21
- package/public/audience-arms-store.js.map +1 -1
- package/public/audience-effective-arm.d.ts +16 -2
- package/public/audience-effective-arm.js +34 -8
- package/public/audience-effective-arm.js.map +1 -1
- package/public/cid-asset.js +2 -0
- package/public/cid-asset.js.map +1 -1
- package/public/db-acl-resolver.js +1 -1
- package/public/db-acl-resolver.js.map +1 -1
- package/public/ensure-app-settings.js +116 -19
- package/public/ensure-app-settings.js.map +1 -1
- package/public/get-app-by-fsid.js +6 -3
- package/public/get-app-by-fsid.js.map +1 -1
- package/public/get-user-avatar.js +2 -1
- package/public/get-user-avatar.js.map +1 -1
- package/public/handle-prompt-context.d.ts +5 -1
- package/public/handle-prompt-context.js +55 -7
- package/public/handle-prompt-context.js.map +1 -1
- package/public/inherit-read-resolver.js +7 -0
- package/public/inherit-read-resolver.js.map +1 -1
- package/public/media-access-fn.d.ts +8 -3
- package/public/media-access-fn.js +9 -3
- package/public/media-access-fn.js.map +1 -1
- package/public/platform-db-registry.d.ts +2 -2
- package/public/platform-db-registry.js +2 -3
- package/public/platform-db-registry.js.map +1 -1
- package/public/privacy-sensitive-lower.d.ts +22 -0
- package/public/privacy-sensitive-lower.js +55 -0
- package/public/privacy-sensitive-lower.js.map +1 -0
- package/public/prompt-turn-settled.js +3 -0
- package/public/prompt-turn-settled.js.map +1 -1
- package/public/put-asset.d.ts +1 -0
- package/public/put-asset.js +11 -1
- package/public/put-asset.js.map +1 -1
- package/public/report-activity.js +6 -1
- package/public/report-activity.js.map +1 -1
- package/public/root-document-cors.d.ts +3 -0
- package/public/root-document-cors.js +5 -0
- package/public/root-document-cors.js.map +1 -0
- package/public/serv-entry-point.js +12 -0
- package/public/serv-entry-point.js.map +1 -1
- package/public/settings-envelope-readout.js +3 -1
- package/public/settings-envelope-readout.js.map +1 -1
- package/public/social-flow.js +25 -6
- package/public/social-flow.js.map +1 -1
- package/public/stream-assembly.d.ts +2 -0
- package/public/stream-assembly.js +2 -0
- package/public/stream-assembly.js.map +1 -1
- package/svc-http-send-provider.d.ts +2 -0
- package/svc-http-send-provider.js +21 -6
- package/svc-http-send-provider.js.map +1 -1
- package/vibes-req-res-evento.js +2 -0
- package/vibes-req-res-evento.js.map +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AudienceArmState, type AudienceArmWriteState } from "@vibes.diy/api-types";
|
|
1
|
+
import { type AudienceArmState, type AudienceArmWriteState, type StoredAudienceArm } from "@vibes.diy/api-types";
|
|
2
2
|
import { VibesApiSQLCtx } from "../types.js";
|
|
3
3
|
export interface ArmKey {
|
|
4
4
|
subjectHandle: string;
|
|
@@ -17,11 +17,22 @@ export declare function setArm(vctx: VibesApiSQLCtx, key: ArmKey & {
|
|
|
17
17
|
}): Promise<void>;
|
|
18
18
|
export declare function isArmed(vctx: VibesApiSQLCtx, key: ArmKey): Promise<boolean>;
|
|
19
19
|
export declare function getArmState(vctx: VibesApiSQLCtx, key: ArmKey): Promise<AudienceArmState | null>;
|
|
20
|
+
export declare function getArmRow(vctx: VibesApiSQLCtx, key: ArmKey): Promise<StoredAudienceArm | null>;
|
|
21
|
+
export declare function stampSensitiveJoins(vctx: VibesApiSQLCtx, input: {
|
|
22
|
+
ownerHandle: string;
|
|
23
|
+
appSlug: string;
|
|
24
|
+
subjects: readonly string[];
|
|
25
|
+
}): Promise<void>;
|
|
20
26
|
export declare function armStatesForSubjects(vctx: VibesApiSQLCtx, input: {
|
|
21
27
|
ownerHandle: string;
|
|
22
28
|
appSlug: string;
|
|
23
29
|
subjects: string[];
|
|
24
30
|
}): Promise<Map<string, AudienceArmState>>;
|
|
31
|
+
export declare function armRowsForSubjects(vctx: VibesApiSQLCtx, input: {
|
|
32
|
+
ownerHandle: string;
|
|
33
|
+
appSlug: string;
|
|
34
|
+
subjects: string[];
|
|
35
|
+
}): Promise<Map<string, StoredAudienceArm>>;
|
|
25
36
|
export declare function armedSubjects(vctx: VibesApiSQLCtx, input: {
|
|
26
37
|
ownerHandle: string;
|
|
27
38
|
appSlug: string;
|
|
@@ -31,6 +42,7 @@ export declare function listArmsForSubject(vctx: VibesApiSQLCtx, subjectHandle:
|
|
|
31
42
|
ownerHandle: string;
|
|
32
43
|
appSlug: string;
|
|
33
44
|
state: AudienceArmState;
|
|
45
|
+
joinedWhileSensitive: boolean;
|
|
34
46
|
}[]>;
|
|
35
47
|
export declare function listArmsForApp(vctx: VibesApiSQLCtx, key: {
|
|
36
48
|
ownerHandle: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { and, eq, inArray } from "drizzle-orm/sql/expressions";
|
|
2
2
|
import { exception2Result } from "@adviser/cement";
|
|
3
|
-
import { ActiveEntry, effectiveAudienceVisibility, isActiveAudiencePolicy, isActivePrivacySensitive, isDownwardAudienceTransition, normalizeArmState, parseArrayWarning, } from "@vibes.diy/api-types";
|
|
3
|
+
import { ActiveEntry, effectiveAudienceVisibility, isActiveAudiencePolicy, isActivePrivacySensitive, isDownwardAudienceTransition, isSensitiveJoinStamp, normalizeArmState, parseArrayWarning, SENSITIVE_JOIN_SOURCE, storedAudienceArmFromRow, subjectAudienceInputs, } from "@vibes.diy/api-types";
|
|
4
4
|
import { patchAudienceKeys } from "./audience-key-patch.js";
|
|
5
5
|
import { readComposedSettingsForApp } from "./app-setting-items.js";
|
|
6
6
|
function now() {
|
|
@@ -94,7 +94,7 @@ export async function setArm(vctx, key) {
|
|
|
94
94
|
console.error("audience-arm clear teardown failed (degrade-to-resubscribe):", rClear.Err());
|
|
95
95
|
return;
|
|
96
96
|
}
|
|
97
|
-
const
|
|
97
|
+
const oldRow = await getArmRow(vctx, key);
|
|
98
98
|
const state = normalizeArmState(key.state);
|
|
99
99
|
const ts = now();
|
|
100
100
|
await vctx.sql.db
|
|
@@ -104,17 +104,21 @@ export async function setArm(vctx, key) {
|
|
|
104
104
|
ownerHandle: key.ownerHandle,
|
|
105
105
|
appSlug: key.appSlug,
|
|
106
106
|
state,
|
|
107
|
+
source: null,
|
|
107
108
|
created: ts,
|
|
108
109
|
updated: ts,
|
|
109
110
|
})
|
|
110
111
|
.onConflictDoUpdate({
|
|
111
112
|
target: [t.subjectHandle, t.ownerHandle, t.appSlug],
|
|
112
|
-
set: { state, updated: ts },
|
|
113
|
+
set: { state, source: null, updated: ts },
|
|
113
114
|
});
|
|
114
115
|
const rTeardown = await exception2Result(async () => {
|
|
115
|
-
const [
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
const [appSensitive, policy] = await Promise.all([
|
|
117
|
+
appPrivacySensitive(vctx, key),
|
|
118
|
+
subjectHandleIntent(vctx, key.subjectHandle),
|
|
119
|
+
]);
|
|
120
|
+
const before = effectiveAudienceVisibility({ ...subjectAudienceInputs({ row: oldRow, appSensitive }), policy });
|
|
121
|
+
const after = effectiveAudienceVisibility({ ...subjectAudienceInputs({ row: { state, source: null }, appSensitive }), policy });
|
|
118
122
|
if (isDownwardAudienceTransition(before, after) || state === "private") {
|
|
119
123
|
const skipFollowers = before === "public" && after === "followers";
|
|
120
124
|
await revokeArmedKeys(vctx, key, { skipFollowers });
|
|
@@ -134,29 +138,65 @@ export async function isArmed(vctx, key) {
|
|
|
134
138
|
return row !== undefined && normalizeArmState(row.state) !== "private";
|
|
135
139
|
}
|
|
136
140
|
export async function getArmState(vctx, key) {
|
|
141
|
+
return (await getArmRow(vctx, key))?.state ?? null;
|
|
142
|
+
}
|
|
143
|
+
export async function getArmRow(vctx, key) {
|
|
137
144
|
const t = vctx.sql.tables.audienceArms;
|
|
138
145
|
const row = await vctx.sql.db
|
|
139
|
-
.select({ state: t.state })
|
|
146
|
+
.select({ state: t.state, source: t.source, created: t.created, updated: t.updated })
|
|
140
147
|
.from(t)
|
|
141
148
|
.where(and(eq(t.subjectHandle, key.subjectHandle), eq(t.ownerHandle, key.ownerHandle), eq(t.appSlug, key.appSlug)))
|
|
142
149
|
.limit(1)
|
|
143
150
|
.then((r) => r[0]);
|
|
144
151
|
if (row === undefined)
|
|
145
152
|
return null;
|
|
146
|
-
return
|
|
153
|
+
return storedAudienceArmFromRow({
|
|
154
|
+
state: normalizeArmState(row.state),
|
|
155
|
+
source: row.source ?? null,
|
|
156
|
+
created: row.created,
|
|
157
|
+
updated: row.updated,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
export async function stampSensitiveJoins(vctx, input) {
|
|
161
|
+
if (input.subjects.length === 0)
|
|
162
|
+
return;
|
|
163
|
+
const t = vctx.sql.tables.audienceArms;
|
|
164
|
+
const ts = now();
|
|
165
|
+
await vctx.sql.db
|
|
166
|
+
.insert(t)
|
|
167
|
+
.values([...new Set(input.subjects)].map((subjectHandle) => ({
|
|
168
|
+
subjectHandle,
|
|
169
|
+
ownerHandle: input.ownerHandle,
|
|
170
|
+
appSlug: input.appSlug,
|
|
171
|
+
state: "private",
|
|
172
|
+
source: SENSITIVE_JOIN_SOURCE,
|
|
173
|
+
created: ts,
|
|
174
|
+
updated: ts,
|
|
175
|
+
})))
|
|
176
|
+
.onConflictDoNothing({ target: [t.subjectHandle, t.ownerHandle, t.appSlug] });
|
|
147
177
|
}
|
|
148
178
|
export async function armStatesForSubjects(vctx, input) {
|
|
149
|
-
const
|
|
179
|
+
const rows = await armRowsForSubjects(vctx, input);
|
|
180
|
+
return new Map([...rows].map(([subject, row]) => [subject, row.state]));
|
|
181
|
+
}
|
|
182
|
+
export async function armRowsForSubjects(vctx, input) {
|
|
183
|
+
const rows = new Map();
|
|
150
184
|
if (input.subjects.length === 0)
|
|
151
|
-
return
|
|
185
|
+
return rows;
|
|
152
186
|
const t = vctx.sql.tables.audienceArms;
|
|
153
|
-
const
|
|
154
|
-
.select({ subjectHandle: t.subjectHandle, state: t.state })
|
|
187
|
+
const found = await vctx.sql.db
|
|
188
|
+
.select({ subjectHandle: t.subjectHandle, state: t.state, source: t.source, created: t.created, updated: t.updated })
|
|
155
189
|
.from(t)
|
|
156
190
|
.where(and(eq(t.ownerHandle, input.ownerHandle), eq(t.appSlug, input.appSlug), inArray(t.subjectHandle, input.subjects)));
|
|
157
|
-
for (const r of
|
|
158
|
-
|
|
159
|
-
|
|
191
|
+
for (const r of found) {
|
|
192
|
+
rows.set(r.subjectHandle, storedAudienceArmFromRow({
|
|
193
|
+
state: normalizeArmState(r.state),
|
|
194
|
+
source: r.source ?? null,
|
|
195
|
+
created: r.created,
|
|
196
|
+
updated: r.updated,
|
|
197
|
+
}));
|
|
198
|
+
}
|
|
199
|
+
return rows;
|
|
160
200
|
}
|
|
161
201
|
export async function armedSubjects(vctx, input) {
|
|
162
202
|
const states = await armStatesForSubjects(vctx, input);
|
|
@@ -169,14 +209,25 @@ export async function armedSubjects(vctx, input) {
|
|
|
169
209
|
export async function listArmsForSubject(vctx, subjectHandle) {
|
|
170
210
|
const t = vctx.sql.tables.audienceArms;
|
|
171
211
|
const rows = await vctx.sql.db
|
|
172
|
-
.select({
|
|
212
|
+
.select({
|
|
213
|
+
ownerHandle: t.ownerHandle,
|
|
214
|
+
appSlug: t.appSlug,
|
|
215
|
+
state: t.state,
|
|
216
|
+
source: t.source,
|
|
217
|
+
created: t.created,
|
|
218
|
+
updated: t.updated,
|
|
219
|
+
})
|
|
173
220
|
.from(t)
|
|
174
221
|
.where(eq(t.subjectHandle, subjectHandle));
|
|
175
|
-
return rows.map((r) =>
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
222
|
+
return rows.map((r) => {
|
|
223
|
+
const state = normalizeArmState(r.state);
|
|
224
|
+
return {
|
|
225
|
+
ownerHandle: r.ownerHandle,
|
|
226
|
+
appSlug: r.appSlug,
|
|
227
|
+
state,
|
|
228
|
+
joinedWhileSensitive: isSensitiveJoinStamp(storedAudienceArmFromRow({ state, source: r.source ?? null, created: r.created, updated: r.updated })),
|
|
229
|
+
};
|
|
230
|
+
});
|
|
180
231
|
}
|
|
181
232
|
export async function listArmsForApp(vctx, key) {
|
|
182
233
|
const t = vctx.sql.tables.audienceArms;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audience-arms-store.js","sourceRoot":"","sources":["../../jsr/public/audience-arms-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"audience-arms-store.js","sourceRoot":"","sources":["../../jsr/public/audience-arms-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,24 @@
|
|
|
1
|
-
import { type AudienceArmState, type AudiencePolicy } from "@vibes.diy/api-types";
|
|
1
|
+
import { type AudienceArmState, type AudiencePolicy, type StoredAudienceArm } from "@vibes.diy/api-types";
|
|
2
2
|
import { VibesApiSQLCtx } from "../types.js";
|
|
3
|
-
import {
|
|
3
|
+
import { Result } from "@adviser/cement";
|
|
4
|
+
import { stampSensitiveJoins, type ArmKey } from "./audience-arms-store.js";
|
|
4
5
|
export declare function getAppPrivacySensitive(vctx: VibesApiSQLCtx, key: {
|
|
5
6
|
ownerHandle: string;
|
|
6
7
|
appSlug: string;
|
|
7
8
|
}): Promise<boolean>;
|
|
9
|
+
export declare function getSubjectPrivacySensitive(vctx: VibesApiSQLCtx, key: ArmKey): Promise<boolean>;
|
|
10
|
+
export declare function ensureSensitiveJoinStamp(vctx: VibesApiSQLCtx, key: ArmKey, deps?: {
|
|
11
|
+
readonly stamp?: typeof stampSensitiveJoins;
|
|
12
|
+
}): Promise<Result<{
|
|
13
|
+
readonly row: StoredAudienceArm | null;
|
|
14
|
+
readonly appSensitive: boolean;
|
|
15
|
+
}>>;
|
|
16
|
+
export declare function resolveSubjectArmOnOpen(vctx: VibesApiSQLCtx, key: ArmKey, deps?: {
|
|
17
|
+
readonly stamp?: typeof stampSensitiveJoins;
|
|
18
|
+
}): Promise<Result<{
|
|
19
|
+
readonly state: AudienceArmState | null;
|
|
20
|
+
readonly sensitive: boolean;
|
|
21
|
+
}>>;
|
|
8
22
|
export declare function audiencePoliciesFor(vctx: VibesApiSQLCtx, handles: string[]): Promise<Map<string, AudiencePolicy>>;
|
|
9
23
|
export declare function effectiveAudienceVisibilities(vctx: VibesApiSQLCtx, input: {
|
|
10
24
|
ownerHandle: string;
|
|
@@ -1,11 +1,34 @@
|
|
|
1
1
|
import { inArray } from "drizzle-orm/sql/expressions";
|
|
2
|
-
import { ActiveEntry, effectiveAudienceVisibility, isActiveAudiencePolicy, isActivePrivacySensitive, parseArrayWarning, } from "@vibes.diy/api-types";
|
|
3
|
-
import {
|
|
2
|
+
import { ActiveEntry, effectiveAudienceVisibility, isActiveAudiencePolicy, isActivePrivacySensitive, isSensitiveJoinStamp, parseArrayWarning, subjectAudienceInputs, } from "@vibes.diy/api-types";
|
|
3
|
+
import { exception2Result, Result } from "@adviser/cement";
|
|
4
|
+
import { armRowsForSubjects, getArmRow, stampSensitiveJoins } from "./audience-arms-store.js";
|
|
4
5
|
import { readComposedSettingsForApp } from "./app-setting-items.js";
|
|
5
6
|
export async function getAppPrivacySensitive(vctx, key) {
|
|
6
7
|
const entries = await readComposedSettingsForApp(vctx, key.ownerHandle, key.appSlug);
|
|
7
8
|
return entries.find(isActivePrivacySensitive)?.sensitive === true;
|
|
8
9
|
}
|
|
10
|
+
export async function getSubjectPrivacySensitive(vctx, key) {
|
|
11
|
+
const [row, appSensitive] = await Promise.all([getArmRow(vctx, key), getAppPrivacySensitive(vctx, key)]);
|
|
12
|
+
return appSensitive || isSensitiveJoinStamp(row);
|
|
13
|
+
}
|
|
14
|
+
export async function ensureSensitiveJoinStamp(vctx, key, deps = {}) {
|
|
15
|
+
const stamp = deps.stamp ?? stampSensitiveJoins;
|
|
16
|
+
const [row, appSensitive] = await Promise.all([getArmRow(vctx, key), getAppPrivacySensitive(vctx, key)]);
|
|
17
|
+
if (row === null && appSensitive) {
|
|
18
|
+
const rStamp = await exception2Result(() => stamp(vctx, { ownerHandle: key.ownerHandle, appSlug: key.appSlug, subjects: [key.subjectHandle] }));
|
|
19
|
+
if (rStamp.isErr()) {
|
|
20
|
+
console.error("sensitive-join stamp failed:", rStamp.Err());
|
|
21
|
+
return Result.Err(rStamp.Err());
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return Result.Ok({ row, appSensitive });
|
|
25
|
+
}
|
|
26
|
+
export async function resolveSubjectArmOnOpen(vctx, key, deps = {}) {
|
|
27
|
+
const r = await ensureSensitiveJoinStamp(vctx, key, deps);
|
|
28
|
+
if (r.isErr())
|
|
29
|
+
return Result.Err(r.Err());
|
|
30
|
+
return Result.Ok(subjectAudienceInputs({ row: r.Ok().row, appSensitive: r.Ok().appSensitive }));
|
|
31
|
+
}
|
|
9
32
|
function parseEntries(settings) {
|
|
10
33
|
const { filtered } = parseArrayWarning(settings ?? [], ActiveEntry);
|
|
11
34
|
return filtered;
|
|
@@ -27,16 +50,19 @@ export async function effectiveAudienceVisibilities(vctx, input) {
|
|
|
27
50
|
const out = new Map();
|
|
28
51
|
if (input.subjects.length === 0)
|
|
29
52
|
return out;
|
|
30
|
-
const
|
|
31
|
-
const rowless = input.subjects.filter((subject) =>
|
|
32
|
-
|
|
33
|
-
|
|
53
|
+
const rows = await armRowsForSubjects(vctx, input);
|
|
54
|
+
const rowless = input.subjects.filter((subject) => {
|
|
55
|
+
const row = rows.get(subject);
|
|
56
|
+
return row === undefined || isSensitiveJoinStamp(row);
|
|
57
|
+
});
|
|
58
|
+
const needsSensitive = rowless.length > 0 || [...rows.values()].some((row) => row.state === "public");
|
|
59
|
+
const [appSensitive, policies] = await Promise.all([
|
|
34
60
|
needsSensitive ? getAppPrivacySensitive(vctx, input) : Promise.resolve(false),
|
|
35
61
|
rowless.length > 0 ? audiencePoliciesFor(vctx, rowless) : Promise.resolve(new Map()),
|
|
36
62
|
]);
|
|
37
63
|
for (const subject of input.subjects) {
|
|
38
|
-
const
|
|
39
|
-
out.set(subject, effectiveAudienceVisibility({
|
|
64
|
+
const inputs = subjectAudienceInputs({ row: rows.get(subject), appSensitive });
|
|
65
|
+
out.set(subject, effectiveAudienceVisibility({ ...inputs, policy: policies.get(subject) ?? null }));
|
|
40
66
|
}
|
|
41
67
|
return out;
|
|
42
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audience-effective-arm.js","sourceRoot":"","sources":["../../jsr/public/audience-effective-arm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EACL,WAAW,EAGX,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"audience-effective-arm.js","sourceRoot":"","sources":["../../jsr/public/audience-effective-arm.ts"],"names":[],"mappings":"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"}
|
package/public/cid-asset.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Result, Option, EventoResult, URI, exception2Result, } from "@adviser/cement";
|
|
2
2
|
import { isFetchErrResult, isFetchNotFoundResult, isFetchOkResult, } from "@vibes.diy/api-types";
|
|
3
|
+
import { CORS_OMIT, CORS_PUBLIC } from "../svc-http-send-provider.js";
|
|
3
4
|
import { dataUriBody, isInlineServable, resolveServableAsset } from "../intern/resolve-servable-asset.js";
|
|
4
5
|
import { resolveCidAssetAccess } from "./cid-asset-access.js";
|
|
5
6
|
export const cidAsset = {
|
|
@@ -50,6 +51,7 @@ export const cidAsset = {
|
|
|
50
51
|
"Cache-Control": access.public ? servable.cacheControl : "private, no-store",
|
|
51
52
|
Vary: "Cookie, Authorization",
|
|
52
53
|
...(servable.state === "disabled" ? {} : { ETag: servable.etag }),
|
|
54
|
+
"Access-Control-Allow-Origin": access.public ? CORS_PUBLIC : CORS_OMIT,
|
|
53
55
|
};
|
|
54
56
|
if (isInlineServable(servable)) {
|
|
55
57
|
ctx.send.send(ctx, {
|
package/public/cid-asset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cid-asset.js","sourceRoot":"","sources":["../../jsr/public/cid-asset.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cid-asset.js","sourceRoot":"","sources":["../../jsr/public/cid-asset.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ export async function resolveDbAccess({ vctx, ownerHandle, appSlug, dbName }) {
|
|
|
31
31
|
entry,
|
|
32
32
|
settingsCreated: rSettings.Ok().created,
|
|
33
33
|
});
|
|
34
|
-
const wildcard = wildcardFor(posture, anonWrite);
|
|
34
|
+
const wildcard = wildcardFor(posture, anonWrite, entry.editorWritesOnly);
|
|
35
35
|
const stored = entry.dbAcls?.[dbName];
|
|
36
36
|
if (stored !== undefined)
|
|
37
37
|
return Result.Ok({ posture, wildcard, pin: stored });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-acl-resolver.js","sourceRoot":"","sources":["../../jsr/public/db-acl-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,WAAW,EAA8C,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAOxF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AA0ClD,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,EACzB,kCAAkC,EAKlC,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAU9B,MAAM,UAAU,cAAc,CAAC,GAAqB,EAAE,GAAqB,EAAE,MAAiB;IAC5F,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAC9G,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChG,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAwBD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAoB;IAQ5F,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IAM/G,IAAI,MAAM,KAAK,yBAAyB,EAAE,CAAC;QACzC,MAAM,4BAA4B,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAOD,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;IAChF,IAAI,SAAS,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;IACnC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAMtC,MAAM,SAAS,GAAG,MAAM,4BAA4B,CAAC;QACnD,IAAI;QACJ,WAAW;QACX,OAAO;QACP,KAAK;QACL,eAAe,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO;KACxC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"db-acl-resolver.js","sourceRoot":"","sources":["../../jsr/public/db-acl-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,WAAW,EAA8C,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAOxF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AA0ClD,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,EACzB,kCAAkC,EAKlC,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAU9B,MAAM,UAAU,cAAc,CAAC,GAAqB,EAAE,GAAqB,EAAE,MAAiB;IAC5F,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAC9G,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChG,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAwBD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAoB;IAQ5F,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IAM/G,IAAI,MAAM,KAAK,yBAAyB,EAAE,CAAC;QACzC,MAAM,4BAA4B,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAOD,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;IAChF,IAAI,SAAS,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;IACnC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAMtC,MAAM,SAAS,GAAG,MAAM,4BAA4B,CAAC;QACnD,IAAI;QACJ,WAAW;QACX,OAAO;QACP,KAAK;QACL,eAAe,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO;KACxC,CAAC,CAAC;IAKH,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAK/E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAsB;IACvD,MAAM,CAAC,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Result, Option, EventoResult, exception2Result } from "@adviser/cement";
|
|
2
|
-
import { settingsAreAnyoneReadable, isActiveCachedSuggestion, isActiveDbAcl, isActiveTheme, isActiveLayoutArchetype, isActiveFlourishes, isActiveEnv, isActiveIconDescription, isActiveModelSettingRuntime, isActiveModelSettingCodegen, isActiveModelSettingImg, isActiveColorTheme, isActiveStyle, isDraftStyle, isActiveAnonWrite, isActivePrivacySensitive, isActiveSkills, isReqEnsureAppSettingsColorTheme, isReqEnsureAppSettingsStyle, isReqEnsureAppSettingsDraftStyle, isReqEnsureAppSettingsStylePublish, isReqEnsureAppSettingsIconDescription, isReqEnsureAppSettingsIconRegen, isReqEnsureAppSettingsImg, isReqEnsureAppSettingsPrivacySensitive, isReqEnsureAppSettingsSkills, isReqEnsureAppSettingsTheme, isReqEnsureAppSettingsVariety, isActiveTitle, isEnableRequest, isReqEnsureAppSettings, isReqEnsureAppSettingsRuntime, isReqEnsureAppSettingsCodegen, isReqEnsureAppSettingsCachedSuggestion, isReqEnsureAppSettingsCachedSuggestionBless, isReqEnsureAppSettingsDbAcl, isReqEnsureAppSettingsDbAclRemove, isReqEnsureAppSettingsEnv, isReqEnsureAppSettingsSecretSet, isReqEnsureAppSettingsSecretRemove, isReqEnsureAppSettingsTitle, isReqEnsureAppSettingsRecommendedAdd, isReqEnsureAppSettingsRecommendedRemove, isReqEnsureAppSettingsRecommendedMask, isActiveRecommendedCurated, isActiveRecommendedMasked, RECOMMENDED_CURATED_CAP, RECOMMENDED_MASKED_CAP, isReqEnsureAppSettingsAnonWrite, isReqEnsureAppSettingsPosture, isActivePosture, postureLegacySettings, wizardDefaultPosture, isReqPublicAccess, isReqRequest, } from "@vibes.diy/api-types";
|
|
2
|
+
import { settingsAreAnyoneReadable, isActiveAppNature, effectiveAppNature, isReqEnsureAppSettingsAppNature, isActiveCachedSuggestion, isActiveDbAcl, isActiveTheme, isActiveLayoutArchetype, isActiveFlourishes, isActiveEnv, isActiveIconDescription, isActiveModelSettingRuntime, isActiveModelSettingCodegen, isActiveModelSettingImg, isActiveColorTheme, isActiveStyle, isDraftStyle, isActiveAnonWrite, isActiveEditorWritesOnly, isActivePrivacySensitive, isActiveSkills, isReqEnsureAppSettingsColorTheme, isReqEnsureAppSettingsStyle, isReqEnsureAppSettingsDraftStyle, isReqEnsureAppSettingsStylePublish, isReqEnsureAppSettingsIconDescription, isReqEnsureAppSettingsIconRegen, isReqEnsureAppSettingsImg, isReqEnsureAppSettingsPrivacySensitive, isReqEnsureAppSettingsSkills, isReqEnsureAppSettingsTheme, isReqEnsureAppSettingsVariety, isActiveTitle, isEnableRequest, isReqEnsureAppSettings, isReqEnsureAppSettingsRuntime, isReqEnsureAppSettingsCodegen, isReqEnsureAppSettingsCachedSuggestion, isReqEnsureAppSettingsCachedSuggestionBless, isReqEnsureAppSettingsDbAcl, isReqEnsureAppSettingsDbAclRemove, isReqEnsureAppSettingsEnv, isReqEnsureAppSettingsSecretSet, isReqEnsureAppSettingsSecretRemove, isReqEnsureAppSettingsTitle, isReqEnsureAppSettingsRecommendedAdd, isReqEnsureAppSettingsRecommendedRemove, isReqEnsureAppSettingsRecommendedMask, isActiveRecommendedCurated, isActiveRecommendedMasked, RECOMMENDED_CURATED_CAP, RECOMMENDED_MASKED_CAP, isReqEnsureAppSettingsAnonWrite, isReqEnsureAppSettingsEditorWritesOnly, isReqEnsureAppSettingsPosture, isActivePosture, postureLegacySettings, wizardDefaultPosture, isReqPublicAccess, isReqRequest, } from "@vibes.diy/api-types";
|
|
3
3
|
import { ensureLogger } from "@vibes.diy/identity";
|
|
4
4
|
import { unwrapMsgBase } from "../unwrap-msg-base.js";
|
|
5
5
|
import { optAuth } from "../check-auth.js";
|
|
@@ -11,6 +11,7 @@ import { stampableStyleForTheme, styleForLookColorway, styleForTheme } from "../
|
|
|
11
11
|
import { THEME_SLUGS, isKnownThemeSlug } from "@vibes.diy/prompts/themes/theme-slugs.js";
|
|
12
12
|
import { hasLookColorways, validateColorwayPinForLook, validateVarietyPinForLook } from "@vibes.diy/prompts/themes/looks/index.js";
|
|
13
13
|
import { buildEnsureEntryResult, sqlPromoteDraftStyle, sqlRemove, sqlUpsert, sqlUpsertMulti } from "./app-settings-sql-upsert.js";
|
|
14
|
+
import { LOWER_OWNER_ONLY, LOWER_STAMP_FAILED, privacySensitiveLowerCoverage, runLowerAfterFlipHookForTests, runLowerBeforeFlipHookForTests, stampEveryKnownWriter, } from "./privacy-sensitive-lower.js";
|
|
14
15
|
import { readComposedSettings } from "./app-setting-items.js";
|
|
15
16
|
import { selectAppSettingsRecord } from "./app-settings-snapshot.js";
|
|
16
17
|
import { applySecretOp, redactModelApiKeys, redactSecretEntries } from "./app-settings-secrets.js";
|
|
@@ -81,6 +82,61 @@ async function withdrawAppClipCardIfReadRemoved(vctx, target, before, after) {
|
|
|
81
82
|
return;
|
|
82
83
|
await enqueueAppClipDeactivate(vctx, { ownerHandle: target.ownerHandle, appSlug: target.appSlug });
|
|
83
84
|
}
|
|
85
|
+
async function applyPrivacySensitiveWrite(vctx, args) {
|
|
86
|
+
const { res, settings, value, now } = args;
|
|
87
|
+
const current = settings.find(isActivePrivacySensitive);
|
|
88
|
+
const currentlySensitive = current?.sensitive === true;
|
|
89
|
+
const isLower = value === false && currentlySensitive;
|
|
90
|
+
if (isLower && args.mayLower === false)
|
|
91
|
+
return [res.settings, LOWER_OWNER_ONLY];
|
|
92
|
+
if (isLower) {
|
|
93
|
+
const coverage = args.skipCoverage === true ? { ok: true } : privacySensitiveLowerCoverage({ flag: current });
|
|
94
|
+
if (coverage.ok === false)
|
|
95
|
+
return [res.settings, coverage.error];
|
|
96
|
+
const rStamp = await exception2Result(() => stampEveryKnownWriter(vctx, { ownerHandle: res.ownerHandle, appSlug: res.appSlug }));
|
|
97
|
+
if (rStamp.isErr()) {
|
|
98
|
+
console.error("privacy-sensitive lower: join-stamp pass failed, flag left on:", rStamp.Err());
|
|
99
|
+
return [res.settings, LOWER_STAMP_FAILED];
|
|
100
|
+
}
|
|
101
|
+
await runLowerBeforeFlipHookForTests();
|
|
102
|
+
}
|
|
103
|
+
const genuineRaise = value === true && currentlySensitive === false;
|
|
104
|
+
const nextFlag = value === false
|
|
105
|
+
? { type: "active.privacy-sensitive", sensitive: false }
|
|
106
|
+
: genuineRaise || current === undefined
|
|
107
|
+
? { type: "active.privacy-sensitive", sensitive: true, joinStampsSince: now }
|
|
108
|
+
: current;
|
|
109
|
+
const [nextSettings, error] = await sqlUpsertMulti(vctx, res, settings, {
|
|
110
|
+
upserts: args.withNature === undefined ? [nextFlag] : [args.withNature, nextFlag],
|
|
111
|
+
});
|
|
112
|
+
if (isLower && error === undefined) {
|
|
113
|
+
const rRestamp = await exception2Result(async () => {
|
|
114
|
+
await runLowerAfterFlipHookForTests();
|
|
115
|
+
return stampEveryKnownWriter(vctx, { ownerHandle: res.ownerHandle, appSlug: res.appSlug });
|
|
116
|
+
});
|
|
117
|
+
if (rRestamp.isErr()) {
|
|
118
|
+
console.error("privacy-sensitive lower: post-flip re-stamp failed, restoring the flag:", rRestamp.Err());
|
|
119
|
+
const previousNature = settings.find(isActiveAppNature);
|
|
120
|
+
const [restored] = await sqlUpsertMulti(vctx, res, args.withNature === undefined ? settings : [...settings, args.withNature], {
|
|
121
|
+
upserts: [
|
|
122
|
+
current ?? { type: "active.privacy-sensitive", sensitive: true },
|
|
123
|
+
...(previousNature === undefined ? [] : [previousNature]),
|
|
124
|
+
],
|
|
125
|
+
removeMatch: (e) => args.withNature !== undefined && previousNature === undefined && isActiveAppNature(e),
|
|
126
|
+
});
|
|
127
|
+
const rTeardown = await exception2Result(() => revokeAppAudienceKeysForUnsetSubjects(vctx, { ownerHandle: res.ownerHandle, appSlug: res.appSlug }));
|
|
128
|
+
if (rTeardown.isErr())
|
|
129
|
+
console.error("restore teardown failed (degrade-to-resubscribe):", rTeardown.Err());
|
|
130
|
+
return [restored, LOWER_STAMP_FAILED];
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
if (error === undefined && genuineRaise) {
|
|
134
|
+
const rRaise = await exception2Result(() => revokeAppAudienceKeysForUnsetSubjects(vctx, { ownerHandle: res.ownerHandle, appSlug: res.appSlug }));
|
|
135
|
+
if (rRaise.isErr())
|
|
136
|
+
console.error("audience sensitive-raise teardown failed (degrade-to-resubscribe):", rRaise.Err());
|
|
137
|
+
}
|
|
138
|
+
return [nextSettings, error];
|
|
139
|
+
}
|
|
84
140
|
export async function ensureAppSettings(vctx, req, userId, opts) {
|
|
85
141
|
const rPrev = await selectAppSettingsRecord(vctx, req.ownerHandle, req.appSlug);
|
|
86
142
|
if (rPrev.isErr()) {
|
|
@@ -132,6 +188,20 @@ export async function ensureAppSettings(vctx, req, userId, opts) {
|
|
|
132
188
|
created: now,
|
|
133
189
|
});
|
|
134
190
|
}
|
|
191
|
+
if (isReqEnsureAppSettingsEditorWritesOnly(req) && isOwnerOrDeveloper === false) {
|
|
192
|
+
return Result.Ok({
|
|
193
|
+
type: "vibes.diy.res-ensure-app-settings",
|
|
194
|
+
userId: record?.UserSlugBindings.userId ?? "------",
|
|
195
|
+
appSlug: req.appSlug,
|
|
196
|
+
ledger: record?.AppSlugBindings.ledger ?? req.appSlug,
|
|
197
|
+
ownerHandle: req.ownerHandle,
|
|
198
|
+
tenant: record?.UserSlugBindings.tenant ?? req.ownerHandle,
|
|
199
|
+
error: "owner-only:editor-writes-only",
|
|
200
|
+
settings: buildEnsureEntryResult([]),
|
|
201
|
+
updated: now,
|
|
202
|
+
created: now,
|
|
203
|
+
});
|
|
204
|
+
}
|
|
135
205
|
if (userId === undefined || (isOwnerOrDeveloper === false && isAdminBless === false && isAdminPrivacySensitiveLower === false)) {
|
|
136
206
|
if (!record) {
|
|
137
207
|
return Result.Ok({
|
|
@@ -194,10 +264,17 @@ export async function ensureAppSettings(vctx, req, userId, opts) {
|
|
|
194
264
|
};
|
|
195
265
|
if (isAdminBless || isAdminPrivacySensitiveLower) {
|
|
196
266
|
if (isReqEnsureAppSettingsPrivacySensitive(req)) {
|
|
197
|
-
[res.settings, res.error] = await
|
|
267
|
+
[res.settings, res.error] = await applyPrivacySensitiveWrite(vctx, {
|
|
268
|
+
res,
|
|
269
|
+
settings,
|
|
270
|
+
value: false,
|
|
271
|
+
now,
|
|
272
|
+
skipCoverage: true,
|
|
273
|
+
mayLower: true,
|
|
274
|
+
});
|
|
198
275
|
if (res.error === undefined) {
|
|
199
276
|
logAdminOverride(vctx, {
|
|
200
|
-
op: "privacy-sensitive-lower",
|
|
277
|
+
op: "privacy-sensitive-lower-on-behalf",
|
|
201
278
|
actingUserId: approverUserId,
|
|
202
279
|
ownerHandle: req.ownerHandle,
|
|
203
280
|
appSlug: req.appSlug,
|
|
@@ -425,26 +502,35 @@ export async function ensureAppSettings(vctx, req, userId, opts) {
|
|
|
425
502
|
break;
|
|
426
503
|
}
|
|
427
504
|
case isReqEnsureAppSettingsPrivacySensitive(req): {
|
|
505
|
+
[res.settings, res.error] = await applyPrivacySensitiveWrite(vctx, {
|
|
506
|
+
res,
|
|
507
|
+
settings,
|
|
508
|
+
value: req.privacySensitive,
|
|
509
|
+
now,
|
|
510
|
+
mayLower: isOwner,
|
|
511
|
+
});
|
|
512
|
+
break;
|
|
513
|
+
}
|
|
514
|
+
case isReqEnsureAppSettingsAppNature(req): {
|
|
515
|
+
const wanted = req.appNature;
|
|
428
516
|
const currentlySensitive = settings.find(isActivePrivacySensitive)?.sensitive === true;
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
res.error = "privacy-sensitive:owner-lower-forbidden";
|
|
517
|
+
if (wanted === "sensitive") {
|
|
518
|
+
[res.settings, res.error] = await applyPrivacySensitiveWrite(vctx, { res, settings, value: true, now, mayLower: isOwner });
|
|
432
519
|
break;
|
|
433
520
|
}
|
|
434
|
-
|
|
435
|
-
if (
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
521
|
+
const natureRow = { type: "active.app-nature", nature: wanted };
|
|
522
|
+
if (currentlySensitive) {
|
|
523
|
+
[res.settings, res.error] = await applyPrivacySensitiveWrite(vctx, {
|
|
524
|
+
res,
|
|
525
|
+
settings,
|
|
526
|
+
value: false,
|
|
527
|
+
now,
|
|
528
|
+
mayLower: isOwner,
|
|
529
|
+
withNature: natureRow,
|
|
441
530
|
});
|
|
531
|
+
break;
|
|
442
532
|
}
|
|
443
|
-
|
|
444
|
-
const rRaise = await exception2Result(() => revokeAppAudienceKeysForUnsetSubjects(vctx, { ownerHandle: res.ownerHandle, appSlug: res.appSlug }));
|
|
445
|
-
if (rRaise.isErr())
|
|
446
|
-
console.error("audience sensitive-raise teardown failed (degrade-to-resubscribe):", rRaise.Err());
|
|
447
|
-
}
|
|
533
|
+
[res.settings, res.error] = await sqlUpsert(vctx, res, settings, isActiveAppNature, () => natureRow);
|
|
448
534
|
break;
|
|
449
535
|
}
|
|
450
536
|
case isReqEnsureAppSettingsRuntime(req):
|
|
@@ -561,7 +647,12 @@ export async function ensureAppSettings(vctx, req, userId, opts) {
|
|
|
561
647
|
break;
|
|
562
648
|
}
|
|
563
649
|
case isReqEnsureAppSettingsPosture(req): {
|
|
564
|
-
const posture = req.posture === "default"
|
|
650
|
+
const posture = req.posture === "default"
|
|
651
|
+
? wizardDefaultPosture(effectiveAppNature({
|
|
652
|
+
privacySensitive: settings.find(isActivePrivacySensitive)?.sensitive,
|
|
653
|
+
stored: settings.find(isActiveAppNature)?.nature,
|
|
654
|
+
}))
|
|
655
|
+
: req.posture;
|
|
565
656
|
const legacy = postureLegacySettings(posture);
|
|
566
657
|
const prevAutoAcceptRole = settings.find(isEnableRequest)?.autoAcceptRole;
|
|
567
658
|
[res.settings, res.error] = await sqlUpsertMulti(vctx, res, settings, {
|
|
@@ -598,6 +689,12 @@ export async function ensureAppSettings(vctx, req, userId, opts) {
|
|
|
598
689
|
mode: req.anonWrite,
|
|
599
690
|
}));
|
|
600
691
|
break;
|
|
692
|
+
case isReqEnsureAppSettingsEditorWritesOnly(req):
|
|
693
|
+
[res.settings, res.error] = await sqlUpsert(vctx, res, settings, isActiveEditorWritesOnly, () => ({
|
|
694
|
+
type: "active.editor-writes-only",
|
|
695
|
+
enable: req.editorWritesOnly,
|
|
696
|
+
}));
|
|
697
|
+
break;
|
|
601
698
|
case isReqEnsureAppSettingsDbAcl(req):
|
|
602
699
|
if (req.dbAcl.dbName === "*") {
|
|
603
700
|
res.error = "db-acl:wildcard-reserved";
|