@vibes.diy/api-types 14.3.53 → 14.3.55

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/settings.d.ts CHANGED
@@ -1553,6 +1553,30 @@ export declare const reqEnsureAppSettingsAnonWrite: import("arktype/internal/var
1553
1553
  }, {}>;
1554
1554
  export type ReqEnsureAppSettingsAnonWrite = typeof reqEnsureAppSettingsAnonWrite.infer;
1555
1555
  export declare function isReqEnsureAppSettingsAnonWrite(obj: unknown): obj is ReqEnsureAppSettingsAnonWrite;
1556
+ export declare const reqEnsureAppSettingsEditorWritesOnly: import("arktype/internal/variants/object.ts").ObjectType<{
1557
+ type: "vibes.diy.req-ensure-app-settings";
1558
+ auth?: {
1559
+ type: "clerk" | "device-id" | "ucan";
1560
+ token: string;
1561
+ } | undefined;
1562
+ appSlug: string;
1563
+ ownerHandle: string;
1564
+ editorWritesOnly: boolean;
1565
+ }, {}>;
1566
+ export type ReqEnsureAppSettingsEditorWritesOnly = typeof reqEnsureAppSettingsEditorWritesOnly.infer;
1567
+ export declare function isReqEnsureAppSettingsEditorWritesOnly(obj: unknown): obj is ReqEnsureAppSettingsEditorWritesOnly;
1568
+ export declare const reqEnsureAppSettingsAppNature: import("arktype/internal/variants/object.ts").ObjectType<{
1569
+ type: "vibes.diy.req-ensure-app-settings";
1570
+ auth?: {
1571
+ type: "clerk" | "device-id" | "ucan";
1572
+ token: string;
1573
+ } | undefined;
1574
+ appSlug: string;
1575
+ ownerHandle: string;
1576
+ appNature: "collaborative" | "open" | "sensitive";
1577
+ }, {}>;
1578
+ export type ReqEnsureAppSettingsAppNature = typeof reqEnsureAppSettingsAppNature.infer;
1579
+ export declare function isReqEnsureAppSettingsAppNature(obj: unknown): obj is ReqEnsureAppSettingsAppNature;
1556
1580
  export declare const reqEnsureAppSettingsPosture: import("arktype/internal/variants/object.ts").ObjectType<{
1557
1581
  type: "vibes.diy.req-ensure-app-settings";
1558
1582
  auth?: {
@@ -1566,16 +1590,104 @@ export declare const reqEnsureAppSettingsPosture: import("arktype/internal/varia
1566
1590
  }, {}>;
1567
1591
  export type ReqEnsureAppSettingsPosture = typeof reqEnsureAppSettingsPosture.infer;
1568
1592
  export declare function isReqEnsureAppSettingsPosture(obj: unknown): obj is ReqEnsureAppSettingsPosture;
1569
- export type ReqEnsureAppSettings = ReqPublicAccess | ReqRequest | ReqEnsureAppSettingsTitle | ReqEnsureAppSettingsSkills | ReqEnsureAppSettingsTheme | ReqEnsureAppSettingsVariety | ReqEnsureAppSettingsColorTheme | ReqEnsureAppSettingsStyle | ReqEnsureAppSettingsDraftStyle | ReqEnsureAppSettingsStylePublish | ReqEnsureAppSettingsIconDescription | ReqEnsureAppSettingsIconRegen | ReqEnsureAppSettingsRuntime | ReqEnsureAppSettingsCodegen | ReqEnsureAppSettingsImg | ReqEnsureAppSettingsEnv | ReqEnsureAppSettingsSecretSet | ReqEnsureAppSettingsSecretRemove | ReqEnsureAppSettingsDbAcl | ReqEnsureAppSettingsDbAclRemove | ReqEnsureAppSettingsCachedSuggestion | ReqEnsureAppSettingsCachedSuggestionBless | ReqEnsureAppSettingsRecommendedAdd | ReqEnsureAppSettingsRecommendedRemove | ReqEnsureAppSettingsRecommendedMask | ReqEnsureAppSettingsPrivacySensitive | ReqEnsureAppSettingsAnonWrite | ReqEnsureAppSettingsPosture | ReqEnsureAppSettingsBase;
1593
+ export type ReqEnsureAppSettings = ReqPublicAccess | ReqRequest | ReqEnsureAppSettingsTitle | ReqEnsureAppSettingsSkills | ReqEnsureAppSettingsTheme | ReqEnsureAppSettingsVariety | ReqEnsureAppSettingsColorTheme | ReqEnsureAppSettingsStyle | ReqEnsureAppSettingsDraftStyle | ReqEnsureAppSettingsStylePublish | ReqEnsureAppSettingsIconDescription | ReqEnsureAppSettingsIconRegen | ReqEnsureAppSettingsRuntime | ReqEnsureAppSettingsCodegen | ReqEnsureAppSettingsImg | ReqEnsureAppSettingsEnv | ReqEnsureAppSettingsSecretSet | ReqEnsureAppSettingsSecretRemove | ReqEnsureAppSettingsDbAcl | ReqEnsureAppSettingsDbAclRemove | ReqEnsureAppSettingsCachedSuggestion | ReqEnsureAppSettingsCachedSuggestionBless | ReqEnsureAppSettingsRecommendedAdd | ReqEnsureAppSettingsRecommendedRemove | ReqEnsureAppSettingsRecommendedMask | ReqEnsureAppSettingsPrivacySensitive | ReqEnsureAppSettingsAnonWrite | ReqEnsureAppSettingsEditorWritesOnly | ReqEnsureAppSettingsAppNature | ReqEnsureAppSettingsPosture | ReqEnsureAppSettingsBase;
1570
1594
  export declare function isReqEnsureAppSettings(obj: unknown): obj is ReqEnsureAppSettings;
1571
1595
  export declare const AppSettings: import("arktype/internal/variants/object.ts").ObjectType<{
1572
1596
  entries: ({
1573
- type: "active.db-acl";
1574
- dbName: string;
1575
- acl: {
1576
- read?: ("anyone" | "editors" | "members" | "readers" | "signed-in" | "submitters")[] | undefined;
1577
- write?: ("anyone" | "editors" | "members" | "readers" | "signed-in" | "submitters")[] | undefined;
1578
- };
1597
+ type: "active.style";
1598
+ palette?: {
1599
+ hues: [number, ({
1600
+ mode: "derived";
1601
+ } | {
1602
+ mode: "pinned";
1603
+ h: number;
1604
+ } | undefined)?, ({
1605
+ mode: "derived";
1606
+ } | {
1607
+ mode: "pinned";
1608
+ h: number;
1609
+ } | undefined)?];
1610
+ character: {
1611
+ chroma: number;
1612
+ contrast: number;
1613
+ neutralTint: number;
1614
+ surfaceLift: number;
1615
+ fillLevel: number;
1616
+ scheme: "analogous" | "complementary" | "split-complementary" | "triadic";
1617
+ paper?: number | undefined;
1618
+ fillLift?: number | undefined;
1619
+ };
1620
+ } | undefined;
1621
+ font?: string | undefined;
1622
+ ornament?: {
1623
+ pad: {
1624
+ x: number;
1625
+ y: number;
1626
+ };
1627
+ pins?: {
1628
+ spacing?: string | undefined;
1629
+ "font-size-base"?: string | undefined;
1630
+ radius?: string | undefined;
1631
+ "radius-sm"?: string | undefined;
1632
+ "radius-lg"?: string | undefined;
1633
+ "border-width"?: string | undefined;
1634
+ shadow?: string | undefined;
1635
+ "shadow-sm"?: string | undefined;
1636
+ "shadow-lg"?: string | undefined;
1637
+ "letter-spacing"?: string | undefined;
1638
+ "letter-spacing-wide"?: string | undefined;
1639
+ "font-weight"?: string | undefined;
1640
+ "text-transform"?: string | undefined;
1641
+ } | undefined;
1642
+ } | undefined;
1643
+ stylePinned?: boolean | undefined;
1644
+ } | {
1645
+ type: "draft.style";
1646
+ palette?: {
1647
+ hues: [number, ({
1648
+ mode: "derived";
1649
+ } | {
1650
+ mode: "pinned";
1651
+ h: number;
1652
+ } | undefined)?, ({
1653
+ mode: "derived";
1654
+ } | {
1655
+ mode: "pinned";
1656
+ h: number;
1657
+ } | undefined)?];
1658
+ character: {
1659
+ chroma: number;
1660
+ contrast: number;
1661
+ neutralTint: number;
1662
+ surfaceLift: number;
1663
+ fillLevel: number;
1664
+ scheme: "analogous" | "complementary" | "split-complementary" | "triadic";
1665
+ paper?: number | undefined;
1666
+ fillLift?: number | undefined;
1667
+ };
1668
+ } | undefined;
1669
+ font?: string | undefined;
1670
+ ornament?: {
1671
+ pad: {
1672
+ x: number;
1673
+ y: number;
1674
+ };
1675
+ pins?: {
1676
+ spacing?: string | undefined;
1677
+ "font-size-base"?: string | undefined;
1678
+ radius?: string | undefined;
1679
+ "radius-sm"?: string | undefined;
1680
+ "radius-lg"?: string | undefined;
1681
+ "border-width"?: string | undefined;
1682
+ shadow?: string | undefined;
1683
+ "shadow-sm"?: string | undefined;
1684
+ "shadow-lg"?: string | undefined;
1685
+ "letter-spacing"?: string | undefined;
1686
+ "letter-spacing-wide"?: string | undefined;
1687
+ "font-weight"?: string | undefined;
1688
+ "text-transform"?: string | undefined;
1689
+ } | undefined;
1690
+ } | undefined;
1579
1691
  } | {
1580
1692
  type: "app.acl.active.invite";
1581
1693
  role: "editor";
@@ -1732,101 +1844,6 @@ export declare const AppSettings: import("arktype/internal/variants/object.ts").
1732
1844
  } | {
1733
1845
  type: "active.colorTheme";
1734
1846
  colorTheme: string;
1735
- } | {
1736
- type: "active.style";
1737
- palette?: {
1738
- hues: [number, ({
1739
- mode: "derived";
1740
- } | {
1741
- mode: "pinned";
1742
- h: number;
1743
- } | undefined)?, ({
1744
- mode: "derived";
1745
- } | {
1746
- mode: "pinned";
1747
- h: number;
1748
- } | undefined)?];
1749
- character: {
1750
- chroma: number;
1751
- contrast: number;
1752
- neutralTint: number;
1753
- surfaceLift: number;
1754
- fillLevel: number;
1755
- scheme: "analogous" | "complementary" | "split-complementary" | "triadic";
1756
- paper?: number | undefined;
1757
- fillLift?: number | undefined;
1758
- };
1759
- } | undefined;
1760
- font?: string | undefined;
1761
- ornament?: {
1762
- pad: {
1763
- x: number;
1764
- y: number;
1765
- };
1766
- pins?: {
1767
- spacing?: string | undefined;
1768
- "font-size-base"?: string | undefined;
1769
- radius?: string | undefined;
1770
- "radius-sm"?: string | undefined;
1771
- "radius-lg"?: string | undefined;
1772
- "border-width"?: string | undefined;
1773
- shadow?: string | undefined;
1774
- "shadow-sm"?: string | undefined;
1775
- "shadow-lg"?: string | undefined;
1776
- "letter-spacing"?: string | undefined;
1777
- "letter-spacing-wide"?: string | undefined;
1778
- "font-weight"?: string | undefined;
1779
- "text-transform"?: string | undefined;
1780
- } | undefined;
1781
- } | undefined;
1782
- stylePinned?: boolean | undefined;
1783
- } | {
1784
- type: "draft.style";
1785
- palette?: {
1786
- hues: [number, ({
1787
- mode: "derived";
1788
- } | {
1789
- mode: "pinned";
1790
- h: number;
1791
- } | undefined)?, ({
1792
- mode: "derived";
1793
- } | {
1794
- mode: "pinned";
1795
- h: number;
1796
- } | undefined)?];
1797
- character: {
1798
- chroma: number;
1799
- contrast: number;
1800
- neutralTint: number;
1801
- surfaceLift: number;
1802
- fillLevel: number;
1803
- scheme: "analogous" | "complementary" | "split-complementary" | "triadic";
1804
- paper?: number | undefined;
1805
- fillLift?: number | undefined;
1806
- };
1807
- } | undefined;
1808
- font?: string | undefined;
1809
- ornament?: {
1810
- pad: {
1811
- x: number;
1812
- y: number;
1813
- };
1814
- pins?: {
1815
- spacing?: string | undefined;
1816
- "font-size-base"?: string | undefined;
1817
- radius?: string | undefined;
1818
- "radius-sm"?: string | undefined;
1819
- "radius-lg"?: string | undefined;
1820
- "border-width"?: string | undefined;
1821
- shadow?: string | undefined;
1822
- "shadow-sm"?: string | undefined;
1823
- "shadow-lg"?: string | undefined;
1824
- "letter-spacing"?: string | undefined;
1825
- "letter-spacing-wide"?: string | undefined;
1826
- "font-weight"?: string | undefined;
1827
- "text-transform"?: string | undefined;
1828
- } | undefined;
1829
- } | undefined;
1830
1847
  } | {
1831
1848
  type: "active.codegen-theme";
1832
1849
  theme: string;
@@ -1860,9 +1877,16 @@ export declare const AppSettings: import("arktype/internal/variants/object.ts").
1860
1877
  } | {
1861
1878
  type: "active.privacy-sensitive";
1862
1879
  sensitive: boolean;
1880
+ joinStampsSince?: string | undefined;
1863
1881
  } | {
1864
1882
  type: "active.anon-write";
1865
1883
  mode: "explicit" | "legacy" | "off";
1884
+ } | {
1885
+ type: "active.editor-writes-only";
1886
+ enable: boolean;
1887
+ } | {
1888
+ type: "active.app-nature";
1889
+ nature: "collaborative" | "open" | "sensitive";
1866
1890
  } | {
1867
1891
  type: "active.posture";
1868
1892
  posture: "gated" | "open" | "private";
@@ -1983,6 +2007,13 @@ export declare const AppSettings: import("arktype/internal/variants/object.ts").
1983
2007
  type: "active.seed-control";
1984
2008
  dontRun?: boolean | undefined;
1985
2009
  suppressed?: string[] | undefined;
2010
+ } | {
2011
+ type: "active.db-acl";
2012
+ dbName: string;
2013
+ acl: {
2014
+ read?: ("anyone" | "editors" | "members" | "readers" | "signed-in" | "submitters")[] | undefined;
2015
+ write?: ("anyone" | "editors" | "members" | "readers" | "signed-in" | "submitters")[] | undefined;
2016
+ };
1986
2017
  } | {
1987
2018
  type: "active.cached-suggestion";
1988
2019
  key: string;
@@ -2170,6 +2201,7 @@ export declare const AppSettings: import("arktype/internal/variants/object.ts").
2170
2201
  setBy?: string | undefined;
2171
2202
  }[] | undefined;
2172
2203
  privacySensitive?: boolean | undefined;
2204
+ appNature?: "collaborative" | "open" | "sensitive" | undefined;
2173
2205
  };
2174
2206
  publicAccess?: {
2175
2207
  type: "app.public.access";
@@ -2185,6 +2217,7 @@ export declare const AppSettings: import("arktype/internal/variants/object.ts").
2185
2217
  autoAcceptRole?: "editor" | "submitter" | "viewer" | undefined;
2186
2218
  } | undefined;
2187
2219
  anonWrite?: "explicit" | "legacy" | "off" | undefined;
2220
+ editorWritesOnly?: boolean | undefined;
2188
2221
  posture?: "gated" | "open" | "private" | undefined;
2189
2222
  postureSeeded?: boolean | undefined;
2190
2223
  dbAcls?: {
@@ -2234,6 +2267,7 @@ export type DbEnvelopeRow = typeof dbEnvelopeRow.infer;
2234
2267
  export declare const appEnvelopeReadout: import("arktype/internal/variants/object.ts").ObjectType<{
2235
2268
  posture: "gated" | "open" | "private";
2236
2269
  anonWrite: "explicit" | "legacy" | "off";
2270
+ editorWritesOnly?: boolean | undefined;
2237
2271
  wildcard: {
2238
2272
  read?: ("anyone" | "editors" | "members" | "readers" | "signed-in" | "submitters")[] | undefined;
2239
2273
  write?: ("anyone" | "editors" | "members" | "readers" | "signed-in" | "submitters")[] | undefined;
@@ -2263,12 +2297,100 @@ export declare const resEnsureAppSettings: import("arktype/internal/variants/obj
2263
2297
  error?: string | undefined;
2264
2298
  settings: {
2265
2299
  entries: ({
2266
- type: "active.db-acl";
2267
- dbName: string;
2268
- acl: {
2269
- read?: ("anyone" | "editors" | "members" | "readers" | "signed-in" | "submitters")[] | undefined;
2270
- write?: ("anyone" | "editors" | "members" | "readers" | "signed-in" | "submitters")[] | undefined;
2271
- };
2300
+ type: "active.style";
2301
+ palette?: {
2302
+ hues: [number, ({
2303
+ mode: "derived";
2304
+ } | {
2305
+ mode: "pinned";
2306
+ h: number;
2307
+ } | undefined)?, ({
2308
+ mode: "derived";
2309
+ } | {
2310
+ mode: "pinned";
2311
+ h: number;
2312
+ } | undefined)?];
2313
+ character: {
2314
+ chroma: number;
2315
+ contrast: number;
2316
+ neutralTint: number;
2317
+ surfaceLift: number;
2318
+ fillLevel: number;
2319
+ scheme: "analogous" | "complementary" | "split-complementary" | "triadic";
2320
+ paper?: number | undefined;
2321
+ fillLift?: number | undefined;
2322
+ };
2323
+ } | undefined;
2324
+ font?: string | undefined;
2325
+ ornament?: {
2326
+ pad: {
2327
+ x: number;
2328
+ y: number;
2329
+ };
2330
+ pins?: {
2331
+ spacing?: string | undefined;
2332
+ "font-size-base"?: string | undefined;
2333
+ radius?: string | undefined;
2334
+ "radius-sm"?: string | undefined;
2335
+ "radius-lg"?: string | undefined;
2336
+ "border-width"?: string | undefined;
2337
+ shadow?: string | undefined;
2338
+ "shadow-sm"?: string | undefined;
2339
+ "shadow-lg"?: string | undefined;
2340
+ "letter-spacing"?: string | undefined;
2341
+ "letter-spacing-wide"?: string | undefined;
2342
+ "font-weight"?: string | undefined;
2343
+ "text-transform"?: string | undefined;
2344
+ } | undefined;
2345
+ } | undefined;
2346
+ stylePinned?: boolean | undefined;
2347
+ } | {
2348
+ type: "draft.style";
2349
+ palette?: {
2350
+ hues: [number, ({
2351
+ mode: "derived";
2352
+ } | {
2353
+ mode: "pinned";
2354
+ h: number;
2355
+ } | undefined)?, ({
2356
+ mode: "derived";
2357
+ } | {
2358
+ mode: "pinned";
2359
+ h: number;
2360
+ } | undefined)?];
2361
+ character: {
2362
+ chroma: number;
2363
+ contrast: number;
2364
+ neutralTint: number;
2365
+ surfaceLift: number;
2366
+ fillLevel: number;
2367
+ scheme: "analogous" | "complementary" | "split-complementary" | "triadic";
2368
+ paper?: number | undefined;
2369
+ fillLift?: number | undefined;
2370
+ };
2371
+ } | undefined;
2372
+ font?: string | undefined;
2373
+ ornament?: {
2374
+ pad: {
2375
+ x: number;
2376
+ y: number;
2377
+ };
2378
+ pins?: {
2379
+ spacing?: string | undefined;
2380
+ "font-size-base"?: string | undefined;
2381
+ radius?: string | undefined;
2382
+ "radius-sm"?: string | undefined;
2383
+ "radius-lg"?: string | undefined;
2384
+ "border-width"?: string | undefined;
2385
+ shadow?: string | undefined;
2386
+ "shadow-sm"?: string | undefined;
2387
+ "shadow-lg"?: string | undefined;
2388
+ "letter-spacing"?: string | undefined;
2389
+ "letter-spacing-wide"?: string | undefined;
2390
+ "font-weight"?: string | undefined;
2391
+ "text-transform"?: string | undefined;
2392
+ } | undefined;
2393
+ } | undefined;
2272
2394
  } | {
2273
2395
  type: "app.acl.active.invite";
2274
2396
  role: "editor";
@@ -2425,101 +2547,6 @@ export declare const resEnsureAppSettings: import("arktype/internal/variants/obj
2425
2547
  } | {
2426
2548
  type: "active.colorTheme";
2427
2549
  colorTheme: string;
2428
- } | {
2429
- type: "active.style";
2430
- palette?: {
2431
- hues: [number, ({
2432
- mode: "derived";
2433
- } | {
2434
- mode: "pinned";
2435
- h: number;
2436
- } | undefined)?, ({
2437
- mode: "derived";
2438
- } | {
2439
- mode: "pinned";
2440
- h: number;
2441
- } | undefined)?];
2442
- character: {
2443
- chroma: number;
2444
- contrast: number;
2445
- neutralTint: number;
2446
- surfaceLift: number;
2447
- fillLevel: number;
2448
- scheme: "analogous" | "complementary" | "split-complementary" | "triadic";
2449
- paper?: number | undefined;
2450
- fillLift?: number | undefined;
2451
- };
2452
- } | undefined;
2453
- font?: string | undefined;
2454
- ornament?: {
2455
- pad: {
2456
- x: number;
2457
- y: number;
2458
- };
2459
- pins?: {
2460
- spacing?: string | undefined;
2461
- "font-size-base"?: string | undefined;
2462
- radius?: string | undefined;
2463
- "radius-sm"?: string | undefined;
2464
- "radius-lg"?: string | undefined;
2465
- "border-width"?: string | undefined;
2466
- shadow?: string | undefined;
2467
- "shadow-sm"?: string | undefined;
2468
- "shadow-lg"?: string | undefined;
2469
- "letter-spacing"?: string | undefined;
2470
- "letter-spacing-wide"?: string | undefined;
2471
- "font-weight"?: string | undefined;
2472
- "text-transform"?: string | undefined;
2473
- } | undefined;
2474
- } | undefined;
2475
- stylePinned?: boolean | undefined;
2476
- } | {
2477
- type: "draft.style";
2478
- palette?: {
2479
- hues: [number, ({
2480
- mode: "derived";
2481
- } | {
2482
- mode: "pinned";
2483
- h: number;
2484
- } | undefined)?, ({
2485
- mode: "derived";
2486
- } | {
2487
- mode: "pinned";
2488
- h: number;
2489
- } | undefined)?];
2490
- character: {
2491
- chroma: number;
2492
- contrast: number;
2493
- neutralTint: number;
2494
- surfaceLift: number;
2495
- fillLevel: number;
2496
- scheme: "analogous" | "complementary" | "split-complementary" | "triadic";
2497
- paper?: number | undefined;
2498
- fillLift?: number | undefined;
2499
- };
2500
- } | undefined;
2501
- font?: string | undefined;
2502
- ornament?: {
2503
- pad: {
2504
- x: number;
2505
- y: number;
2506
- };
2507
- pins?: {
2508
- spacing?: string | undefined;
2509
- "font-size-base"?: string | undefined;
2510
- radius?: string | undefined;
2511
- "radius-sm"?: string | undefined;
2512
- "radius-lg"?: string | undefined;
2513
- "border-width"?: string | undefined;
2514
- shadow?: string | undefined;
2515
- "shadow-sm"?: string | undefined;
2516
- "shadow-lg"?: string | undefined;
2517
- "letter-spacing"?: string | undefined;
2518
- "letter-spacing-wide"?: string | undefined;
2519
- "font-weight"?: string | undefined;
2520
- "text-transform"?: string | undefined;
2521
- } | undefined;
2522
- } | undefined;
2523
2550
  } | {
2524
2551
  type: "active.codegen-theme";
2525
2552
  theme: string;
@@ -2553,9 +2580,16 @@ export declare const resEnsureAppSettings: import("arktype/internal/variants/obj
2553
2580
  } | {
2554
2581
  type: "active.privacy-sensitive";
2555
2582
  sensitive: boolean;
2583
+ joinStampsSince?: string | undefined;
2556
2584
  } | {
2557
2585
  type: "active.anon-write";
2558
2586
  mode: "explicit" | "legacy" | "off";
2587
+ } | {
2588
+ type: "active.editor-writes-only";
2589
+ enable: boolean;
2590
+ } | {
2591
+ type: "active.app-nature";
2592
+ nature: "collaborative" | "open" | "sensitive";
2559
2593
  } | {
2560
2594
  type: "active.posture";
2561
2595
  posture: "gated" | "open" | "private";
@@ -2676,6 +2710,13 @@ export declare const resEnsureAppSettings: import("arktype/internal/variants/obj
2676
2710
  type: "active.seed-control";
2677
2711
  dontRun?: boolean | undefined;
2678
2712
  suppressed?: string[] | undefined;
2713
+ } | {
2714
+ type: "active.db-acl";
2715
+ dbName: string;
2716
+ acl: {
2717
+ read?: ("anyone" | "editors" | "members" | "readers" | "signed-in" | "submitters")[] | undefined;
2718
+ write?: ("anyone" | "editors" | "members" | "readers" | "signed-in" | "submitters")[] | undefined;
2719
+ };
2679
2720
  } | {
2680
2721
  type: "active.cached-suggestion";
2681
2722
  key: string;
@@ -2863,6 +2904,7 @@ export declare const resEnsureAppSettings: import("arktype/internal/variants/obj
2863
2904
  setBy?: string | undefined;
2864
2905
  }[] | undefined;
2865
2906
  privacySensitive?: boolean | undefined;
2907
+ appNature?: "collaborative" | "open" | "sensitive" | undefined;
2866
2908
  };
2867
2909
  publicAccess?: {
2868
2910
  type: "app.public.access";
@@ -2878,6 +2920,7 @@ export declare const resEnsureAppSettings: import("arktype/internal/variants/obj
2878
2920
  autoAcceptRole?: "editor" | "submitter" | "viewer" | undefined;
2879
2921
  } | undefined;
2880
2922
  anonWrite?: "explicit" | "legacy" | "off" | undefined;
2923
+ editorWritesOnly?: boolean | undefined;
2881
2924
  posture?: "gated" | "open" | "private" | undefined;
2882
2925
  postureSeeded?: boolean | undefined;
2883
2926
  dbAcls?: {
@@ -2907,6 +2950,7 @@ export declare const resEnsureAppSettings: import("arktype/internal/variants/obj
2907
2950
  envelope?: {
2908
2951
  posture: "gated" | "open" | "private";
2909
2952
  anonWrite: "explicit" | "legacy" | "off";
2953
+ editorWritesOnly?: boolean | undefined;
2910
2954
  wildcard: {
2911
2955
  read?: ("anyone" | "editors" | "members" | "readers" | "signed-in" | "submitters")[] | undefined;
2912
2956
  write?: ("anyone" | "editors" | "members" | "readers" | "signed-in" | "submitters")[] | undefined;
package/settings.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type } from "arktype";
2
2
  import { dashAuthType, Role } from "./common.js";
3
- import { AIParams, ActiveEntry, EnablePublicAccess, EnableRequest, ActiveACL, KVString, SecretMeta, Style } from "./invite.js";
3
+ import { AIParams, ActiveEntry, AppNature, EnablePublicAccess, EnableRequest, ActiveACL, KVString, SecretMeta, Style, } from "./invite.js";
4
4
  import { anonWriteMode, dbAcl, dbPosture, postureIntent } from "./db-acls.js";
5
5
  import { cachedSuggestionRecord, cachedSuggestionBlessRecord, } from "./cached-suggestion.js";
6
6
  import { lazyType } from "./lazy-type.js";
@@ -438,6 +438,18 @@ export const reqEnsureAppSettingsAnonWrite = lazyType(() => type({
438
438
  export function isReqEnsureAppSettingsAnonWrite(obj) {
439
439
  return !(reqEnsureAppSettingsAnonWrite(obj) instanceof type.errors);
440
440
  }
441
+ export const reqEnsureAppSettingsEditorWritesOnly = lazyType(() => type({
442
+ editorWritesOnly: "boolean",
443
+ }).and(reqEnsureAppSettingsBase));
444
+ export function isReqEnsureAppSettingsEditorWritesOnly(obj) {
445
+ return !(reqEnsureAppSettingsEditorWritesOnly(obj) instanceof type.errors);
446
+ }
447
+ export const reqEnsureAppSettingsAppNature = lazyType(() => type({
448
+ appNature: AppNature,
449
+ }).and(reqEnsureAppSettingsBase));
450
+ export function isReqEnsureAppSettingsAppNature(obj) {
451
+ return !(reqEnsureAppSettingsAppNature(obj) instanceof type.errors);
452
+ }
441
453
  export const reqEnsureAppSettingsPosture = lazyType(() => type({
442
454
  posture: postureIntent,
443
455
  "anonWrite?": anonWriteMode,
@@ -471,6 +483,8 @@ export function isReqEnsureAppSettings(obj) {
471
483
  isReqEnsureAppSettingsRecommendedMask(obj) ||
472
484
  isReqEnsureAppSettingsPrivacySensitive(obj) ||
473
485
  isReqEnsureAppSettingsAnonWrite(obj) ||
486
+ isReqEnsureAppSettingsEditorWritesOnly(obj) ||
487
+ isReqEnsureAppSettingsAppNature(obj) ||
474
488
  isReqEnsureAppSettingsPosture(obj) ||
475
489
  isReqEnsureAppSettingsBase(obj));
476
490
  }
@@ -493,10 +507,12 @@ export const AppSettings = lazyType(() => type({
493
507
  env: KVString.array(),
494
508
  "secrets?": SecretMeta.array(),
495
509
  "privacySensitive?": "boolean",
510
+ "appNature?": AppNature,
496
511
  },
497
512
  publicAccess: EnablePublicAccess.optional(),
498
513
  enableRequest: EnableRequest.optional(),
499
514
  "anonWrite?": anonWriteMode,
515
+ "editorWritesOnly?": "boolean",
500
516
  "posture?": dbPosture,
501
517
  "postureSeeded?": "boolean",
502
518
  "dbAcls?": type({ "[string]": dbAcl }),
@@ -514,6 +530,7 @@ export const dbEnvelopeRow = lazyType(() => type({
514
530
  export const appEnvelopeReadout = lazyType(() => type({
515
531
  posture: dbPosture,
516
532
  anonWrite: anonWriteMode,
533
+ "editorWritesOnly?": "boolean",
517
534
  wildcard: dbAcl,
518
535
  dbs: dbEnvelopeRow.array(),
519
536
  }));