@ikenga/contract 0.9.1 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- export declare const IKENGA_API_VERSION: 2;
2
+ export declare const IKENGA_API_VERSION: 3;
3
3
  export declare const IKENGA_API_MIN_SUPPORTED: 1;
4
4
  export declare const AuthorSchema: z.ZodObject<{
5
5
  name: z.ZodString;
@@ -438,12 +438,19 @@ export declare const WebviewCapabilitySchema: z.ZodObject<{
438
438
  child_webviews: z.ZodDefault<z.ZodBoolean>;
439
439
  /** Named cookie/data partitions; empty = the implicit "default" partition. */
440
440
  partitions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
441
+ /** Browser engines this pkg may open panes with. `"webkit"` is the in-shell
442
+ * child-webview; `"chrome"` is Managed mode (installed Chrome over CDP, its
443
+ * own OS window). Defaults to `["webkit"]` so existing manifests are
444
+ * unchanged. Mirrors `engines` in `WebviewCapability` (manifest.rs). */
445
+ engines: z.ZodDefault<z.ZodArray<z.ZodEnum<["webkit", "chrome"]>, "many">>;
441
446
  }, "strip", z.ZodTypeAny, {
442
447
  child_webviews: boolean;
443
448
  partitions: string[];
449
+ engines: ("webkit" | "chrome")[];
444
450
  }, {
445
451
  child_webviews?: boolean | undefined;
446
452
  partitions?: string[] | undefined;
453
+ engines?: ("webkit" | "chrome")[] | undefined;
447
454
  }>;
448
455
  export type WebviewCapability = z.infer<typeof WebviewCapabilitySchema>;
449
456
  /** Agent-ops host-bridge capability (api ≥ 2). Opt-in to the privileged
@@ -455,6 +462,105 @@ export type WebviewCapability = z.infer<typeof WebviewCapabilitySchema>;
455
462
  * `AgentOpsCapability` in `shell/src-tauri/src/pkg/manifest.rs`. */
456
463
  export declare const AgentOpsCapabilitySchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
457
464
  export type AgentOpsCapability = z.infer<typeof AgentOpsCapabilitySchema>;
465
+ /** host.fetch capability (ADR-017, TRUSTED-only). Host-mediated HTTP proxy;
466
+ * the shell makes the request and attaches auth from Stronghold — the key
467
+ * never enters the iframe. URL allowlist = `permissions.net`. Mirrors
468
+ * `HttpCapability` in `shell/src-tauri/src/pkg/manifest.rs`. */
469
+ export declare const HttpCapabilitySchema: z.ZodObject<{
470
+ /** Name of a `capabilities.secrets` declaration whose resolved value the
471
+ * shell attaches as the auth header. Omit = unauthenticated proxy. */
472
+ auth_secret: z.ZodOptional<z.ZodString>;
473
+ /** Header name for the auth secret. Default "Authorization". */
474
+ auth_header: z.ZodDefault<z.ZodString>;
475
+ }, "strict", z.ZodTypeAny, {
476
+ auth_header: string;
477
+ auth_secret?: string | undefined;
478
+ }, {
479
+ auth_secret?: string | undefined;
480
+ auth_header?: string | undefined;
481
+ }>;
482
+ export type HttpCapability = z.infer<typeof HttpCapabilitySchema>;
483
+ /** One named-secret declaration. `vault_key` is resolved host-side and never
484
+ * reaches the iframe; the iframe sees only `hostContext.secrets[name]`.
485
+ * Mirrors `NamedSecret` in `shell/src-tauri/src/pkg/manifest.rs`. */
486
+ export declare const NamedSecretSchema: z.ZodObject<{
487
+ name: z.ZodString;
488
+ /** Vault key (must be within permissions["vault.keys"]). Host-only. */
489
+ vault_key: z.ZodString;
490
+ /** When true, mount fails if the key is missing (Supabase `required`). */
491
+ required: z.ZodDefault<z.ZodBoolean>;
492
+ /** Optional value-format hint: "jwt" | "bearer" | "raw". String, not enum. */
493
+ format: z.ZodOptional<z.ZodString>;
494
+ }, "strict", z.ZodTypeAny, {
495
+ name: string;
496
+ required: boolean;
497
+ vault_key: string;
498
+ format?: string | undefined;
499
+ }, {
500
+ name: string;
501
+ vault_key: string;
502
+ format?: string | undefined;
503
+ required?: boolean | undefined;
504
+ }>;
505
+ export type NamedSecret = z.infer<typeof NamedSecretSchema>;
506
+ /** Named-secret injection capability (ADR-017, TRUSTED-only). Generalizes the
507
+ * Supabase hostContext handshake. Mirrors `SecretsCapability` in
508
+ * `shell/src-tauri/src/pkg/manifest.rs`. */
509
+ export declare const SecretsCapabilitySchema: z.ZodObject<{
510
+ declarations: z.ZodDefault<z.ZodArray<z.ZodObject<{
511
+ name: z.ZodString;
512
+ /** Vault key (must be within permissions["vault.keys"]). Host-only. */
513
+ vault_key: z.ZodString;
514
+ /** When true, mount fails if the key is missing (Supabase `required`). */
515
+ required: z.ZodDefault<z.ZodBoolean>;
516
+ /** Optional value-format hint: "jwt" | "bearer" | "raw". String, not enum. */
517
+ format: z.ZodOptional<z.ZodString>;
518
+ }, "strict", z.ZodTypeAny, {
519
+ name: string;
520
+ required: boolean;
521
+ vault_key: string;
522
+ format?: string | undefined;
523
+ }, {
524
+ name: string;
525
+ vault_key: string;
526
+ format?: string | undefined;
527
+ required?: boolean | undefined;
528
+ }>, "many">>;
529
+ }, "strict", z.ZodTypeAny, {
530
+ declarations: {
531
+ name: string;
532
+ required: boolean;
533
+ vault_key: string;
534
+ format?: string | undefined;
535
+ }[];
536
+ }, {
537
+ declarations?: {
538
+ name: string;
539
+ vault_key: string;
540
+ format?: string | undefined;
541
+ required?: boolean | undefined;
542
+ }[] | undefined;
543
+ }>;
544
+ export type SecretsCapability = z.infer<typeof SecretsCapabilitySchema>;
545
+ /** Scoped Tauri invoke passthrough (ADR-017, TRUSTED-only). Presence gates
546
+ * `host.invoke`; `commands` is the named-command allowlist matched (glob) by
547
+ * `permissions_check::check_shell_execute` against the `host.invoke` command.
548
+ *
549
+ * D-06: the allowlist is `invoke`'s OWN field, NOT `permissions["shell.execute"]`.
550
+ * Reusing `shell.execute` would trip `requires_trust` → the pkg only ever reaches
551
+ * user-`Granted`, never `AutoTrusted`, so `is_trusted_for_elevated()` is false and
552
+ * `host.invoke` would always deny. Keeping the allowlist here lets a signed/builtin
553
+ * pkg declare invokable commands while leaving `shell.execute` empty → AutoTrusted →
554
+ * elevated. POLICY: named commands only, never `*` (not a general shell).
555
+ * Mirrors `InvokeCapability` in `shell/src-tauri/src/pkg/manifest.rs`. */
556
+ export declare const InvokeCapabilitySchema: z.ZodObject<{
557
+ commands: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
558
+ }, "strict", z.ZodTypeAny, {
559
+ commands: string[];
560
+ }, {
561
+ commands?: string[] | undefined;
562
+ }>;
563
+ export type InvokeCapability = z.infer<typeof InvokeCapabilitySchema>;
458
564
  export declare const WindowBlockSchema: z.ZodObject<{
459
565
  label: z.ZodString;
460
566
  url: z.ZodString;
@@ -908,14 +1014,79 @@ export declare const ManifestSchema: z.ZodObject<{
908
1014
  child_webviews: z.ZodDefault<z.ZodBoolean>;
909
1015
  /** Named cookie/data partitions; empty = the implicit "default" partition. */
910
1016
  partitions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1017
+ /** Browser engines this pkg may open panes with. `"webkit"` is the in-shell
1018
+ * child-webview; `"chrome"` is Managed mode (installed Chrome over CDP, its
1019
+ * own OS window). Defaults to `["webkit"]` so existing manifests are
1020
+ * unchanged. Mirrors `engines` in `WebviewCapability` (manifest.rs). */
1021
+ engines: z.ZodDefault<z.ZodArray<z.ZodEnum<["webkit", "chrome"]>, "many">>;
911
1022
  }, "strip", z.ZodTypeAny, {
912
1023
  child_webviews: boolean;
913
1024
  partitions: string[];
1025
+ engines: ("webkit" | "chrome")[];
914
1026
  }, {
915
1027
  child_webviews?: boolean | undefined;
916
1028
  partitions?: string[] | undefined;
1029
+ engines?: ("webkit" | "chrome")[] | undefined;
917
1030
  }>>;
918
1031
  agentOps: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
1032
+ /** host.fetch proxy (ADR-017). Inert unless the pkg is trusted. */
1033
+ http: z.ZodOptional<z.ZodObject<{
1034
+ /** Name of a `capabilities.secrets` declaration whose resolved value the
1035
+ * shell attaches as the auth header. Omit = unauthenticated proxy. */
1036
+ auth_secret: z.ZodOptional<z.ZodString>;
1037
+ /** Header name for the auth secret. Default "Authorization". */
1038
+ auth_header: z.ZodDefault<z.ZodString>;
1039
+ }, "strict", z.ZodTypeAny, {
1040
+ auth_header: string;
1041
+ auth_secret?: string | undefined;
1042
+ }, {
1043
+ auth_secret?: string | undefined;
1044
+ auth_header?: string | undefined;
1045
+ }>>;
1046
+ /** Named-secret injection (ADR-017). Inert unless trusted. */
1047
+ secrets: z.ZodOptional<z.ZodObject<{
1048
+ declarations: z.ZodDefault<z.ZodArray<z.ZodObject<{
1049
+ name: z.ZodString;
1050
+ /** Vault key (must be within permissions["vault.keys"]). Host-only. */
1051
+ vault_key: z.ZodString;
1052
+ /** When true, mount fails if the key is missing (Supabase `required`). */
1053
+ required: z.ZodDefault<z.ZodBoolean>;
1054
+ /** Optional value-format hint: "jwt" | "bearer" | "raw". String, not enum. */
1055
+ format: z.ZodOptional<z.ZodString>;
1056
+ }, "strict", z.ZodTypeAny, {
1057
+ name: string;
1058
+ required: boolean;
1059
+ vault_key: string;
1060
+ format?: string | undefined;
1061
+ }, {
1062
+ name: string;
1063
+ vault_key: string;
1064
+ format?: string | undefined;
1065
+ required?: boolean | undefined;
1066
+ }>, "many">>;
1067
+ }, "strict", z.ZodTypeAny, {
1068
+ declarations: {
1069
+ name: string;
1070
+ required: boolean;
1071
+ vault_key: string;
1072
+ format?: string | undefined;
1073
+ }[];
1074
+ }, {
1075
+ declarations?: {
1076
+ name: string;
1077
+ vault_key: string;
1078
+ format?: string | undefined;
1079
+ required?: boolean | undefined;
1080
+ }[] | undefined;
1081
+ }>>;
1082
+ /** host.invoke passthrough (ADR-017). Inert unless trusted. */
1083
+ invoke: z.ZodOptional<z.ZodObject<{
1084
+ commands: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1085
+ }, "strict", z.ZodTypeAny, {
1086
+ commands: string[];
1087
+ }, {
1088
+ commands?: string[] | undefined;
1089
+ }>>;
919
1090
  }, "strip", z.ZodTypeAny, {
920
1091
  supabase?: {
921
1092
  required: boolean;
@@ -926,8 +1097,24 @@ export declare const ManifestSchema: z.ZodObject<{
926
1097
  webview?: {
927
1098
  child_webviews: boolean;
928
1099
  partitions: string[];
1100
+ engines: ("webkit" | "chrome")[];
929
1101
  } | undefined;
930
1102
  agentOps?: {} | undefined;
1103
+ http?: {
1104
+ auth_header: string;
1105
+ auth_secret?: string | undefined;
1106
+ } | undefined;
1107
+ secrets?: {
1108
+ declarations: {
1109
+ name: string;
1110
+ required: boolean;
1111
+ vault_key: string;
1112
+ format?: string | undefined;
1113
+ }[];
1114
+ } | undefined;
1115
+ invoke?: {
1116
+ commands: string[];
1117
+ } | undefined;
931
1118
  }, {
932
1119
  supabase?: {
933
1120
  required?: boolean | undefined;
@@ -938,8 +1125,24 @@ export declare const ManifestSchema: z.ZodObject<{
938
1125
  webview?: {
939
1126
  child_webviews?: boolean | undefined;
940
1127
  partitions?: string[] | undefined;
1128
+ engines?: ("webkit" | "chrome")[] | undefined;
941
1129
  } | undefined;
942
1130
  agentOps?: {} | undefined;
1131
+ http?: {
1132
+ auth_secret?: string | undefined;
1133
+ auth_header?: string | undefined;
1134
+ } | undefined;
1135
+ secrets?: {
1136
+ declarations?: {
1137
+ name: string;
1138
+ vault_key: string;
1139
+ format?: string | undefined;
1140
+ required?: boolean | undefined;
1141
+ }[] | undefined;
1142
+ } | undefined;
1143
+ invoke?: {
1144
+ commands?: string[] | undefined;
1145
+ } | undefined;
943
1146
  }>>;
944
1147
  /**
945
1148
  * Engine-adapter manifest block. Present iff this pkg is an engine-*
@@ -1099,6 +1302,12 @@ export declare const ManifestSchema: z.ZodObject<{
1099
1302
  ref?: string | undefined;
1100
1303
  source?: "git" | "npx" | "catalog" | "local" | undefined;
1101
1304
  }>, "many">>;
1305
+ /** Optional ed25519 signature over the normalized manifest JSON (sort keys,
1306
+ * strip `signature` before signing). Format `"ed25519:<base64>"`. Present
1307
+ * on notarized registry pkgs; verified at install against the publisher key
1308
+ * the signed registry index named. Absent → pkg isn't trusted (no elevated
1309
+ * caps). Mirrors `signature: Option<String>` on the Rust `Manifest`. */
1310
+ signature: z.ZodOptional<z.ZodString>;
1102
1311
  }, "strip", z.ZodTypeAny, {
1103
1312
  mcp: {
1104
1313
  args: string[];
@@ -1190,8 +1399,48 @@ export declare const ManifestSchema: z.ZodObject<{
1190
1399
  webview?: {
1191
1400
  child_webviews: boolean;
1192
1401
  partitions: string[];
1402
+ engines: ("webkit" | "chrome")[];
1193
1403
  } | undefined;
1194
1404
  agentOps?: {} | undefined;
1405
+ http?: {
1406
+ auth_header: string;
1407
+ auth_secret?: string | undefined;
1408
+ } | undefined;
1409
+ secrets?: {
1410
+ declarations: {
1411
+ name: string;
1412
+ required: boolean;
1413
+ vault_key: string;
1414
+ format?: string | undefined;
1415
+ }[];
1416
+ } | undefined;
1417
+ invoke?: {
1418
+ commands: string[];
1419
+ } | undefined;
1420
+ } | undefined;
1421
+ engine?: {
1422
+ capabilities: {
1423
+ mcp: boolean;
1424
+ streaming: boolean;
1425
+ toolUse: boolean;
1426
+ thinking: boolean;
1427
+ artifacts: boolean;
1428
+ fileAttachments: boolean;
1429
+ imageInput: boolean;
1430
+ slashCommands: boolean;
1431
+ modelSwitching: boolean;
1432
+ promptCaching: boolean;
1433
+ agenticTools: boolean;
1434
+ sessionResume: boolean;
1435
+ };
1436
+ agentId: string;
1437
+ onboarding: {
1438
+ requiredVaultKeys: string[];
1439
+ requiredEnvVars: string[];
1440
+ authCommand?: string | undefined;
1441
+ docsUrl?: string | undefined;
1442
+ };
1443
+ display?: string | undefined;
1195
1444
  } | undefined;
1196
1445
  kind?: string | undefined;
1197
1446
  migrations?: string | undefined;
@@ -1219,30 +1468,7 @@ export declare const ManifestSchema: z.ZodObject<{
1219
1468
  decorations?: boolean | undefined;
1220
1469
  menu?: string | undefined;
1221
1470
  } | undefined;
1222
- engine?: {
1223
- capabilities: {
1224
- mcp: boolean;
1225
- streaming: boolean;
1226
- toolUse: boolean;
1227
- thinking: boolean;
1228
- artifacts: boolean;
1229
- fileAttachments: boolean;
1230
- imageInput: boolean;
1231
- slashCommands: boolean;
1232
- modelSwitching: boolean;
1233
- promptCaching: boolean;
1234
- agenticTools: boolean;
1235
- sessionResume: boolean;
1236
- };
1237
- agentId: string;
1238
- onboarding: {
1239
- requiredVaultKeys: string[];
1240
- requiredEnvVars: string[];
1241
- authCommand?: string | undefined;
1242
- docsUrl?: string | undefined;
1243
- };
1244
- display?: string | undefined;
1245
- } | undefined;
1471
+ signature?: string | undefined;
1246
1472
  }, {
1247
1473
  id: string;
1248
1474
  name: string;
@@ -1280,8 +1506,48 @@ export declare const ManifestSchema: z.ZodObject<{
1280
1506
  webview?: {
1281
1507
  child_webviews?: boolean | undefined;
1282
1508
  partitions?: string[] | undefined;
1509
+ engines?: ("webkit" | "chrome")[] | undefined;
1283
1510
  } | undefined;
1284
1511
  agentOps?: {} | undefined;
1512
+ http?: {
1513
+ auth_secret?: string | undefined;
1514
+ auth_header?: string | undefined;
1515
+ } | undefined;
1516
+ secrets?: {
1517
+ declarations?: {
1518
+ name: string;
1519
+ vault_key: string;
1520
+ format?: string | undefined;
1521
+ required?: boolean | undefined;
1522
+ }[] | undefined;
1523
+ } | undefined;
1524
+ invoke?: {
1525
+ commands?: string[] | undefined;
1526
+ } | undefined;
1527
+ } | undefined;
1528
+ engine?: {
1529
+ capabilities: {
1530
+ mcp: boolean;
1531
+ streaming: boolean;
1532
+ toolUse: boolean;
1533
+ thinking: boolean;
1534
+ artifacts: boolean;
1535
+ fileAttachments: boolean;
1536
+ imageInput: boolean;
1537
+ slashCommands: boolean;
1538
+ modelSwitching: boolean;
1539
+ promptCaching: boolean;
1540
+ agenticTools: boolean;
1541
+ sessionResume: boolean;
1542
+ };
1543
+ agentId: string;
1544
+ display?: string | undefined;
1545
+ onboarding?: {
1546
+ requiredVaultKeys?: string[] | undefined;
1547
+ requiredEnvVars?: string[] | undefined;
1548
+ authCommand?: string | undefined;
1549
+ docsUrl?: string | undefined;
1550
+ } | undefined;
1285
1551
  } | undefined;
1286
1552
  kind?: string | undefined;
1287
1553
  permissions?: {
@@ -1359,34 +1625,11 @@ export declare const ManifestSchema: z.ZodObject<{
1359
1625
  decorations?: boolean | undefined;
1360
1626
  menu?: string | undefined;
1361
1627
  } | undefined;
1362
- engine?: {
1363
- capabilities: {
1364
- mcp: boolean;
1365
- streaming: boolean;
1366
- toolUse: boolean;
1367
- thinking: boolean;
1368
- artifacts: boolean;
1369
- fileAttachments: boolean;
1370
- imageInput: boolean;
1371
- slashCommands: boolean;
1372
- modelSwitching: boolean;
1373
- promptCaching: boolean;
1374
- agenticTools: boolean;
1375
- sessionResume: boolean;
1376
- };
1377
- agentId: string;
1378
- display?: string | undefined;
1379
- onboarding?: {
1380
- requiredVaultKeys?: string[] | undefined;
1381
- requiredEnvVars?: string[] | undefined;
1382
- authCommand?: string | undefined;
1383
- docsUrl?: string | undefined;
1384
- } | undefined;
1385
- } | undefined;
1386
1628
  screenshots?: {
1387
1629
  path: string;
1388
1630
  caption?: string | undefined;
1389
1631
  }[] | undefined;
1632
+ signature?: string | undefined;
1390
1633
  }>;
1391
1634
  export type Manifest = z.infer<typeof ManifestSchema>;
1392
1635
  /** Alias retained for symmetry with the Rust side / external consumers. */
@@ -1761,14 +2004,79 @@ export declare const PkgManifestSchema: z.ZodObject<{
1761
2004
  child_webviews: z.ZodDefault<z.ZodBoolean>;
1762
2005
  /** Named cookie/data partitions; empty = the implicit "default" partition. */
1763
2006
  partitions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2007
+ /** Browser engines this pkg may open panes with. `"webkit"` is the in-shell
2008
+ * child-webview; `"chrome"` is Managed mode (installed Chrome over CDP, its
2009
+ * own OS window). Defaults to `["webkit"]` so existing manifests are
2010
+ * unchanged. Mirrors `engines` in `WebviewCapability` (manifest.rs). */
2011
+ engines: z.ZodDefault<z.ZodArray<z.ZodEnum<["webkit", "chrome"]>, "many">>;
1764
2012
  }, "strip", z.ZodTypeAny, {
1765
2013
  child_webviews: boolean;
1766
2014
  partitions: string[];
2015
+ engines: ("webkit" | "chrome")[];
1767
2016
  }, {
1768
2017
  child_webviews?: boolean | undefined;
1769
2018
  partitions?: string[] | undefined;
2019
+ engines?: ("webkit" | "chrome")[] | undefined;
1770
2020
  }>>;
1771
2021
  agentOps: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
2022
+ /** host.fetch proxy (ADR-017). Inert unless the pkg is trusted. */
2023
+ http: z.ZodOptional<z.ZodObject<{
2024
+ /** Name of a `capabilities.secrets` declaration whose resolved value the
2025
+ * shell attaches as the auth header. Omit = unauthenticated proxy. */
2026
+ auth_secret: z.ZodOptional<z.ZodString>;
2027
+ /** Header name for the auth secret. Default "Authorization". */
2028
+ auth_header: z.ZodDefault<z.ZodString>;
2029
+ }, "strict", z.ZodTypeAny, {
2030
+ auth_header: string;
2031
+ auth_secret?: string | undefined;
2032
+ }, {
2033
+ auth_secret?: string | undefined;
2034
+ auth_header?: string | undefined;
2035
+ }>>;
2036
+ /** Named-secret injection (ADR-017). Inert unless trusted. */
2037
+ secrets: z.ZodOptional<z.ZodObject<{
2038
+ declarations: z.ZodDefault<z.ZodArray<z.ZodObject<{
2039
+ name: z.ZodString;
2040
+ /** Vault key (must be within permissions["vault.keys"]). Host-only. */
2041
+ vault_key: z.ZodString;
2042
+ /** When true, mount fails if the key is missing (Supabase `required`). */
2043
+ required: z.ZodDefault<z.ZodBoolean>;
2044
+ /** Optional value-format hint: "jwt" | "bearer" | "raw". String, not enum. */
2045
+ format: z.ZodOptional<z.ZodString>;
2046
+ }, "strict", z.ZodTypeAny, {
2047
+ name: string;
2048
+ required: boolean;
2049
+ vault_key: string;
2050
+ format?: string | undefined;
2051
+ }, {
2052
+ name: string;
2053
+ vault_key: string;
2054
+ format?: string | undefined;
2055
+ required?: boolean | undefined;
2056
+ }>, "many">>;
2057
+ }, "strict", z.ZodTypeAny, {
2058
+ declarations: {
2059
+ name: string;
2060
+ required: boolean;
2061
+ vault_key: string;
2062
+ format?: string | undefined;
2063
+ }[];
2064
+ }, {
2065
+ declarations?: {
2066
+ name: string;
2067
+ vault_key: string;
2068
+ format?: string | undefined;
2069
+ required?: boolean | undefined;
2070
+ }[] | undefined;
2071
+ }>>;
2072
+ /** host.invoke passthrough (ADR-017). Inert unless trusted. */
2073
+ invoke: z.ZodOptional<z.ZodObject<{
2074
+ commands: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2075
+ }, "strict", z.ZodTypeAny, {
2076
+ commands: string[];
2077
+ }, {
2078
+ commands?: string[] | undefined;
2079
+ }>>;
1772
2080
  }, "strip", z.ZodTypeAny, {
1773
2081
  supabase?: {
1774
2082
  required: boolean;
@@ -1779,8 +2087,24 @@ export declare const PkgManifestSchema: z.ZodObject<{
1779
2087
  webview?: {
1780
2088
  child_webviews: boolean;
1781
2089
  partitions: string[];
2090
+ engines: ("webkit" | "chrome")[];
1782
2091
  } | undefined;
1783
2092
  agentOps?: {} | undefined;
2093
+ http?: {
2094
+ auth_header: string;
2095
+ auth_secret?: string | undefined;
2096
+ } | undefined;
2097
+ secrets?: {
2098
+ declarations: {
2099
+ name: string;
2100
+ required: boolean;
2101
+ vault_key: string;
2102
+ format?: string | undefined;
2103
+ }[];
2104
+ } | undefined;
2105
+ invoke?: {
2106
+ commands: string[];
2107
+ } | undefined;
1784
2108
  }, {
1785
2109
  supabase?: {
1786
2110
  required?: boolean | undefined;
@@ -1791,8 +2115,24 @@ export declare const PkgManifestSchema: z.ZodObject<{
1791
2115
  webview?: {
1792
2116
  child_webviews?: boolean | undefined;
1793
2117
  partitions?: string[] | undefined;
2118
+ engines?: ("webkit" | "chrome")[] | undefined;
1794
2119
  } | undefined;
1795
2120
  agentOps?: {} | undefined;
2121
+ http?: {
2122
+ auth_secret?: string | undefined;
2123
+ auth_header?: string | undefined;
2124
+ } | undefined;
2125
+ secrets?: {
2126
+ declarations?: {
2127
+ name: string;
2128
+ vault_key: string;
2129
+ format?: string | undefined;
2130
+ required?: boolean | undefined;
2131
+ }[] | undefined;
2132
+ } | undefined;
2133
+ invoke?: {
2134
+ commands?: string[] | undefined;
2135
+ } | undefined;
1796
2136
  }>>;
1797
2137
  /**
1798
2138
  * Engine-adapter manifest block. Present iff this pkg is an engine-*
@@ -1952,6 +2292,12 @@ export declare const PkgManifestSchema: z.ZodObject<{
1952
2292
  ref?: string | undefined;
1953
2293
  source?: "git" | "npx" | "catalog" | "local" | undefined;
1954
2294
  }>, "many">>;
2295
+ /** Optional ed25519 signature over the normalized manifest JSON (sort keys,
2296
+ * strip `signature` before signing). Format `"ed25519:<base64>"`. Present
2297
+ * on notarized registry pkgs; verified at install against the publisher key
2298
+ * the signed registry index named. Absent → pkg isn't trusted (no elevated
2299
+ * caps). Mirrors `signature: Option<String>` on the Rust `Manifest`. */
2300
+ signature: z.ZodOptional<z.ZodString>;
1955
2301
  }, "strip", z.ZodTypeAny, {
1956
2302
  mcp: {
1957
2303
  args: string[];
@@ -2043,8 +2389,48 @@ export declare const PkgManifestSchema: z.ZodObject<{
2043
2389
  webview?: {
2044
2390
  child_webviews: boolean;
2045
2391
  partitions: string[];
2392
+ engines: ("webkit" | "chrome")[];
2046
2393
  } | undefined;
2047
2394
  agentOps?: {} | undefined;
2395
+ http?: {
2396
+ auth_header: string;
2397
+ auth_secret?: string | undefined;
2398
+ } | undefined;
2399
+ secrets?: {
2400
+ declarations: {
2401
+ name: string;
2402
+ required: boolean;
2403
+ vault_key: string;
2404
+ format?: string | undefined;
2405
+ }[];
2406
+ } | undefined;
2407
+ invoke?: {
2408
+ commands: string[];
2409
+ } | undefined;
2410
+ } | undefined;
2411
+ engine?: {
2412
+ capabilities: {
2413
+ mcp: boolean;
2414
+ streaming: boolean;
2415
+ toolUse: boolean;
2416
+ thinking: boolean;
2417
+ artifacts: boolean;
2418
+ fileAttachments: boolean;
2419
+ imageInput: boolean;
2420
+ slashCommands: boolean;
2421
+ modelSwitching: boolean;
2422
+ promptCaching: boolean;
2423
+ agenticTools: boolean;
2424
+ sessionResume: boolean;
2425
+ };
2426
+ agentId: string;
2427
+ onboarding: {
2428
+ requiredVaultKeys: string[];
2429
+ requiredEnvVars: string[];
2430
+ authCommand?: string | undefined;
2431
+ docsUrl?: string | undefined;
2432
+ };
2433
+ display?: string | undefined;
2048
2434
  } | undefined;
2049
2435
  kind?: string | undefined;
2050
2436
  migrations?: string | undefined;
@@ -2072,30 +2458,7 @@ export declare const PkgManifestSchema: z.ZodObject<{
2072
2458
  decorations?: boolean | undefined;
2073
2459
  menu?: string | undefined;
2074
2460
  } | undefined;
2075
- engine?: {
2076
- capabilities: {
2077
- mcp: boolean;
2078
- streaming: boolean;
2079
- toolUse: boolean;
2080
- thinking: boolean;
2081
- artifacts: boolean;
2082
- fileAttachments: boolean;
2083
- imageInput: boolean;
2084
- slashCommands: boolean;
2085
- modelSwitching: boolean;
2086
- promptCaching: boolean;
2087
- agenticTools: boolean;
2088
- sessionResume: boolean;
2089
- };
2090
- agentId: string;
2091
- onboarding: {
2092
- requiredVaultKeys: string[];
2093
- requiredEnvVars: string[];
2094
- authCommand?: string | undefined;
2095
- docsUrl?: string | undefined;
2096
- };
2097
- display?: string | undefined;
2098
- } | undefined;
2461
+ signature?: string | undefined;
2099
2462
  }, {
2100
2463
  id: string;
2101
2464
  name: string;
@@ -2133,8 +2496,48 @@ export declare const PkgManifestSchema: z.ZodObject<{
2133
2496
  webview?: {
2134
2497
  child_webviews?: boolean | undefined;
2135
2498
  partitions?: string[] | undefined;
2499
+ engines?: ("webkit" | "chrome")[] | undefined;
2136
2500
  } | undefined;
2137
2501
  agentOps?: {} | undefined;
2502
+ http?: {
2503
+ auth_secret?: string | undefined;
2504
+ auth_header?: string | undefined;
2505
+ } | undefined;
2506
+ secrets?: {
2507
+ declarations?: {
2508
+ name: string;
2509
+ vault_key: string;
2510
+ format?: string | undefined;
2511
+ required?: boolean | undefined;
2512
+ }[] | undefined;
2513
+ } | undefined;
2514
+ invoke?: {
2515
+ commands?: string[] | undefined;
2516
+ } | undefined;
2517
+ } | undefined;
2518
+ engine?: {
2519
+ capabilities: {
2520
+ mcp: boolean;
2521
+ streaming: boolean;
2522
+ toolUse: boolean;
2523
+ thinking: boolean;
2524
+ artifacts: boolean;
2525
+ fileAttachments: boolean;
2526
+ imageInput: boolean;
2527
+ slashCommands: boolean;
2528
+ modelSwitching: boolean;
2529
+ promptCaching: boolean;
2530
+ agenticTools: boolean;
2531
+ sessionResume: boolean;
2532
+ };
2533
+ agentId: string;
2534
+ display?: string | undefined;
2535
+ onboarding?: {
2536
+ requiredVaultKeys?: string[] | undefined;
2537
+ requiredEnvVars?: string[] | undefined;
2538
+ authCommand?: string | undefined;
2539
+ docsUrl?: string | undefined;
2540
+ } | undefined;
2138
2541
  } | undefined;
2139
2542
  kind?: string | undefined;
2140
2543
  permissions?: {
@@ -2212,34 +2615,11 @@ export declare const PkgManifestSchema: z.ZodObject<{
2212
2615
  decorations?: boolean | undefined;
2213
2616
  menu?: string | undefined;
2214
2617
  } | undefined;
2215
- engine?: {
2216
- capabilities: {
2217
- mcp: boolean;
2218
- streaming: boolean;
2219
- toolUse: boolean;
2220
- thinking: boolean;
2221
- artifacts: boolean;
2222
- fileAttachments: boolean;
2223
- imageInput: boolean;
2224
- slashCommands: boolean;
2225
- modelSwitching: boolean;
2226
- promptCaching: boolean;
2227
- agenticTools: boolean;
2228
- sessionResume: boolean;
2229
- };
2230
- agentId: string;
2231
- display?: string | undefined;
2232
- onboarding?: {
2233
- requiredVaultKeys?: string[] | undefined;
2234
- requiredEnvVars?: string[] | undefined;
2235
- authCommand?: string | undefined;
2236
- docsUrl?: string | undefined;
2237
- } | undefined;
2238
- } | undefined;
2239
2618
  screenshots?: {
2240
2619
  path: string;
2241
2620
  caption?: string | undefined;
2242
2621
  }[] | undefined;
2622
+ signature?: string | undefined;
2243
2623
  }>;
2244
2624
  export type PkgManifest = Manifest;
2245
2625
  /** Convert a reverse-DNS id to a slug: `com.ikenga.studio` → `com-ikenga-studio`. */