@floegence/redevplugin-ui 0.6.7 → 0.6.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/contracts.gen.d.ts +4 -4
- package/dist/contracts.gen.js +4 -4
- package/dist/openapi.gen.d.ts +604 -1
- package/dist/platform.d.ts +15 -1
- package/dist/platform.js +106 -0
- package/dist/surface.d.ts +17 -0
- package/dist/surface.js +164 -24
- package/dist/trusted-parent.d.ts +1 -1
- package/package.json +2 -2
package/dist/openapi.gen.d.ts
CHANGED
|
@@ -19,6 +19,91 @@ export interface paths {
|
|
|
19
19
|
patch?: never;
|
|
20
20
|
trace?: never;
|
|
21
21
|
};
|
|
22
|
+
"/_redevplugin/api/plugins/external-packages/inspect": {
|
|
23
|
+
parameters: {
|
|
24
|
+
query?: never;
|
|
25
|
+
header?: never;
|
|
26
|
+
path?: never;
|
|
27
|
+
cookie?: never;
|
|
28
|
+
};
|
|
29
|
+
get?: never;
|
|
30
|
+
put?: never;
|
|
31
|
+
/** @description Resolves and inspects a package from a caller-selected URL or GitHub repository without installing it. Package identity, hashes, provenance, signature state, approval, and update eligibility are computed by the platform and cannot be supplied by the caller. */
|
|
32
|
+
post: operations["inspectExternalPackage"];
|
|
33
|
+
delete?: never;
|
|
34
|
+
options?: never;
|
|
35
|
+
head?: never;
|
|
36
|
+
patch?: never;
|
|
37
|
+
trace?: never;
|
|
38
|
+
};
|
|
39
|
+
"/_redevplugin/api/plugins/external-packages/upload/inspect": {
|
|
40
|
+
parameters: {
|
|
41
|
+
query?: never;
|
|
42
|
+
header?: never;
|
|
43
|
+
path?: never;
|
|
44
|
+
cookie?: never;
|
|
45
|
+
};
|
|
46
|
+
get?: never;
|
|
47
|
+
put?: never;
|
|
48
|
+
/** @description Uploads and inspects a package for installation without committing it. Package identity, hashes, provenance, signature state, approval, and update eligibility are computed by the platform and cannot be supplied by the caller. The returned inspection is committed and reconciled through the shared external-package commit/query routes. */
|
|
49
|
+
post: operations["inspectUploadedExternalPackageInstall"];
|
|
50
|
+
delete?: never;
|
|
51
|
+
options?: never;
|
|
52
|
+
head?: never;
|
|
53
|
+
patch?: never;
|
|
54
|
+
trace?: never;
|
|
55
|
+
};
|
|
56
|
+
"/_redevplugin/api/plugins/{plugin_instance_id}/external-packages/upload/inspect": {
|
|
57
|
+
parameters: {
|
|
58
|
+
query?: never;
|
|
59
|
+
header?: never;
|
|
60
|
+
path?: never;
|
|
61
|
+
cookie?: never;
|
|
62
|
+
};
|
|
63
|
+
get?: never;
|
|
64
|
+
/** @description Uploads and inspects a package for an optimistic-concurrency-controlled update without committing it. Package identity, hashes, provenance, signature state, approval, and update eligibility are computed by the platform and cannot be supplied by the caller. The returned inspection is committed and reconciled through the shared external-package commit/query routes. */
|
|
65
|
+
put: operations["inspectUploadedExternalPackageUpdate"];
|
|
66
|
+
post?: never;
|
|
67
|
+
delete?: never;
|
|
68
|
+
options?: never;
|
|
69
|
+
head?: never;
|
|
70
|
+
patch?: never;
|
|
71
|
+
trace?: never;
|
|
72
|
+
};
|
|
73
|
+
"/_redevplugin/api/plugins/external-packages/commit": {
|
|
74
|
+
parameters: {
|
|
75
|
+
query?: never;
|
|
76
|
+
header?: never;
|
|
77
|
+
path?: never;
|
|
78
|
+
cookie?: never;
|
|
79
|
+
};
|
|
80
|
+
get?: never;
|
|
81
|
+
put?: never;
|
|
82
|
+
/** @description Commits one unexpired inspection after the user confirms its exact server-computed digest. An absent signature does not make a package ineligible for installation; signature assessment affects trust classification and automatic-update eligibility only. */
|
|
83
|
+
post: operations["commitExternalPackage"];
|
|
84
|
+
delete?: never;
|
|
85
|
+
options?: never;
|
|
86
|
+
head?: never;
|
|
87
|
+
patch?: never;
|
|
88
|
+
trace?: never;
|
|
89
|
+
};
|
|
90
|
+
"/_redevplugin/api/plugins/external-packages/commit/query": {
|
|
91
|
+
parameters: {
|
|
92
|
+
query?: never;
|
|
93
|
+
header?: never;
|
|
94
|
+
path?: never;
|
|
95
|
+
cookie?: never;
|
|
96
|
+
};
|
|
97
|
+
get?: never;
|
|
98
|
+
put?: never;
|
|
99
|
+
/** @description Reconciles the commit result for one inspection without repeating the mutation. */
|
|
100
|
+
post: operations["queryExternalPackageCommit"];
|
|
101
|
+
delete?: never;
|
|
102
|
+
options?: never;
|
|
103
|
+
head?: never;
|
|
104
|
+
patch?: never;
|
|
105
|
+
trace?: never;
|
|
106
|
+
};
|
|
22
107
|
"/_redevplugin/api/plugins/install-release-ref": {
|
|
23
108
|
parameters: {
|
|
24
109
|
query?: never;
|
|
@@ -320,6 +405,7 @@ export interface paths {
|
|
|
320
405
|
};
|
|
321
406
|
get?: never;
|
|
322
407
|
put?: never;
|
|
408
|
+
/** @description Atomically observes and revokes one exact authenticated surface. An active surface becomes closed, a retained closure confirms closed, and an absent result is authoritative inactivity; transport failures remain an unknown mutation outcome. */
|
|
323
409
|
post: operations["disposePluginSurface"];
|
|
324
410
|
delete?: never;
|
|
325
411
|
options?: never;
|
|
@@ -634,6 +720,23 @@ export interface paths {
|
|
|
634
720
|
patch?: never;
|
|
635
721
|
trace?: never;
|
|
636
722
|
};
|
|
723
|
+
"/_redevplugin/api/plugins/permissions/requirements/query": {
|
|
724
|
+
parameters: {
|
|
725
|
+
query?: never;
|
|
726
|
+
header?: never;
|
|
727
|
+
path?: never;
|
|
728
|
+
cookie?: never;
|
|
729
|
+
};
|
|
730
|
+
get?: never;
|
|
731
|
+
put?: never;
|
|
732
|
+
/** @description Projects required permissions only from the active plugin version's Host-verified capability contracts. */
|
|
733
|
+
post: operations["getPluginPermissionRequirements"];
|
|
734
|
+
delete?: never;
|
|
735
|
+
options?: never;
|
|
736
|
+
head?: never;
|
|
737
|
+
patch?: never;
|
|
738
|
+
trace?: never;
|
|
739
|
+
};
|
|
637
740
|
"/_redevplugin/api/plugins/permissions/grant": {
|
|
638
741
|
parameters: {
|
|
639
742
|
query?: never;
|
|
@@ -890,6 +993,16 @@ export interface components {
|
|
|
890
993
|
ok: true;
|
|
891
994
|
data: components["schemas"]["PluginRecord"];
|
|
892
995
|
};
|
|
996
|
+
ExternalPackageInspectionSuccessResponse: {
|
|
997
|
+
/** @constant */
|
|
998
|
+
ok: true;
|
|
999
|
+
data: components["schemas"]["ExternalPackageInspection"];
|
|
1000
|
+
};
|
|
1001
|
+
ExternalPackageCommitSuccessResponse: {
|
|
1002
|
+
/** @constant */
|
|
1003
|
+
ok: true;
|
|
1004
|
+
data: components["schemas"]["ExternalPackageCommitResult"];
|
|
1005
|
+
};
|
|
893
1006
|
PluginCatalogSuccessResponse: {
|
|
894
1007
|
/** @constant */
|
|
895
1008
|
ok: true;
|
|
@@ -898,7 +1011,7 @@ export interface components {
|
|
|
898
1011
|
PluginFeaturesSuccessResponse: {
|
|
899
1012
|
/** @constant */
|
|
900
1013
|
ok: true;
|
|
901
|
-
data: ("release" | "runtime" | "capability" | "connectivity" | "secrets" | "core_action")[];
|
|
1014
|
+
data: ("release" | "runtime" | "capability" | "connectivity" | "secrets" | "core_action" | "external_package")[];
|
|
902
1015
|
};
|
|
903
1016
|
CompatibilitySuccessResponse: {
|
|
904
1017
|
/** @constant */
|
|
@@ -975,6 +1088,11 @@ export interface components {
|
|
|
975
1088
|
ok: true;
|
|
976
1089
|
data: components["schemas"]["PluginPermissionList"];
|
|
977
1090
|
};
|
|
1091
|
+
PermissionRequirementsSuccessResponse: {
|
|
1092
|
+
/** @constant */
|
|
1093
|
+
ok: true;
|
|
1094
|
+
data: components["schemas"]["PluginPermissionRequirements"];
|
|
1095
|
+
};
|
|
978
1096
|
PermissionMutationSuccessResponse: {
|
|
979
1097
|
/** @constant */
|
|
980
1098
|
ok: true;
|
|
@@ -1214,6 +1332,11 @@ export interface components {
|
|
|
1214
1332
|
SurfaceDisposeResult: {
|
|
1215
1333
|
/** @constant */
|
|
1216
1334
|
disposed: true;
|
|
1335
|
+
/** @enum {string} */
|
|
1336
|
+
state: "closed" | "absent";
|
|
1337
|
+
/** @enum {string} */
|
|
1338
|
+
previous_state: "active" | "closed" | "absent";
|
|
1339
|
+
revoked: boolean;
|
|
1217
1340
|
};
|
|
1218
1341
|
SessionScopeRevokeCounts: components["schemas"]["SessionScopeV1RevokeCounts"];
|
|
1219
1342
|
SessionScopeRevokeResult: components["schemas"]["SessionScopeV1PublicRevokeResult"];
|
|
@@ -1264,6 +1387,26 @@ export interface components {
|
|
|
1264
1387
|
PluginPermissionList: {
|
|
1265
1388
|
permissions: components["schemas"]["PluginPermissionGrant"][];
|
|
1266
1389
|
};
|
|
1390
|
+
PluginPermissionRequirementMethod: {
|
|
1391
|
+
method: string;
|
|
1392
|
+
required_permissions: string[];
|
|
1393
|
+
};
|
|
1394
|
+
PluginPermissionRequirementContract: {
|
|
1395
|
+
contract_id: string;
|
|
1396
|
+
contract_version: string;
|
|
1397
|
+
contract_sha256: string;
|
|
1398
|
+
capability_id: string;
|
|
1399
|
+
capability_version: string;
|
|
1400
|
+
methods: components["schemas"]["PluginPermissionRequirementMethod"][];
|
|
1401
|
+
};
|
|
1402
|
+
PluginPermissionRequirements: {
|
|
1403
|
+
plugin_instance_id: string;
|
|
1404
|
+
plugin_version: string;
|
|
1405
|
+
active_fingerprint: string;
|
|
1406
|
+
management_revision: number;
|
|
1407
|
+
contracts: components["schemas"]["PluginPermissionRequirementContract"][];
|
|
1408
|
+
required_permissions: string[];
|
|
1409
|
+
};
|
|
1267
1410
|
AuthorizationRevisions: {
|
|
1268
1411
|
policy_revision: number;
|
|
1269
1412
|
management_revision: number;
|
|
@@ -1515,6 +1658,315 @@ export interface components {
|
|
|
1515
1658
|
/** Format: date-time */
|
|
1516
1659
|
updated_at?: string;
|
|
1517
1660
|
};
|
|
1661
|
+
/** @description Closed install or update intent. Update concurrency values are supplied by the caller, while package identity is always derived from the inspected artifact. */
|
|
1662
|
+
ExternalPackageIntentRequest: {
|
|
1663
|
+
/** @constant */
|
|
1664
|
+
action: "install";
|
|
1665
|
+
} | {
|
|
1666
|
+
/** @constant */
|
|
1667
|
+
action: "update";
|
|
1668
|
+
plugin_instance_id: string;
|
|
1669
|
+
expected_management_revision: number;
|
|
1670
|
+
};
|
|
1671
|
+
/** @description Server-resolved install or update intent. The platform generates the install instance identifier during inspection. */
|
|
1672
|
+
ExternalPackageIntent: {
|
|
1673
|
+
/** @constant */
|
|
1674
|
+
action: "install";
|
|
1675
|
+
plugin_instance_id: string;
|
|
1676
|
+
} | {
|
|
1677
|
+
/** @constant */
|
|
1678
|
+
action: "update";
|
|
1679
|
+
plugin_instance_id: string;
|
|
1680
|
+
expected_management_revision: number;
|
|
1681
|
+
};
|
|
1682
|
+
/** @description Caller-selected external source. Redirect resolution, package hashes, identity, and provenance are derived by the platform. */
|
|
1683
|
+
ExternalPackageSource: {
|
|
1684
|
+
/** @constant */
|
|
1685
|
+
kind: "package_url";
|
|
1686
|
+
/** Format: uri */
|
|
1687
|
+
url: string;
|
|
1688
|
+
} | {
|
|
1689
|
+
/** @constant */
|
|
1690
|
+
kind: "github_repository";
|
|
1691
|
+
/** Format: uri */
|
|
1692
|
+
url: string;
|
|
1693
|
+
/** @description Optional exact release tag. When omitted, the resolver selects the repository's latest eligible release. */
|
|
1694
|
+
tag?: string;
|
|
1695
|
+
};
|
|
1696
|
+
/** @description Requests server-side inspection. Trust, hashes, package identity, approval, provenance, signature assessment, and update eligibility are intentionally not caller-controlled. */
|
|
1697
|
+
InspectExternalPackageRequest: {
|
|
1698
|
+
intent: components["schemas"]["ExternalPackageIntentRequest"];
|
|
1699
|
+
source: components["schemas"]["ExternalPackageSource"];
|
|
1700
|
+
};
|
|
1701
|
+
/** @description Confirms the exact immutable inspection. The digest cannot override any inspected fact. */
|
|
1702
|
+
CommitExternalPackageRequest: {
|
|
1703
|
+
inspection_id: string;
|
|
1704
|
+
confirmation_digest: string;
|
|
1705
|
+
};
|
|
1706
|
+
QueryExternalPackageCommitRequest: {
|
|
1707
|
+
inspection_id: string;
|
|
1708
|
+
commit_id?: string;
|
|
1709
|
+
};
|
|
1710
|
+
/** @description Cryptographic signature fact computed over the inspected artifact. The absent state is installable and affects trust classification and automatic-update eligibility only. */
|
|
1711
|
+
ExternalPackageSignatureAssessment: {
|
|
1712
|
+
/** @enum {string} */
|
|
1713
|
+
state: "verified" | "absent" | "unknown_signer" | "invalid" | "revoked" | "unavailable";
|
|
1714
|
+
reason_codes: string[];
|
|
1715
|
+
assessed_hashes: components["schemas"]["TrustHashSet"];
|
|
1716
|
+
algorithm?: string;
|
|
1717
|
+
key_id?: string;
|
|
1718
|
+
/** Format: date-time */
|
|
1719
|
+
assessed_at: string;
|
|
1720
|
+
assessment_epoch?: string;
|
|
1721
|
+
};
|
|
1722
|
+
/** @description Credential-free redirect projection. Userinfo, query strings, and fragments are never exposed. */
|
|
1723
|
+
ExternalPackageRedirectHop: {
|
|
1724
|
+
/** Format: uri */
|
|
1725
|
+
origin: string;
|
|
1726
|
+
path: string;
|
|
1727
|
+
};
|
|
1728
|
+
/** @description Stable, credential-free source provenance computed after URL, GitHub release, or uploaded-package resolution. Upload identifiers are opaque server-generated values and cannot be supplied by callers. */
|
|
1729
|
+
ExternalPackageSourceProvenance: {
|
|
1730
|
+
/** @constant */
|
|
1731
|
+
kind: "package_url";
|
|
1732
|
+
/** Format: uri */
|
|
1733
|
+
source_origin: string;
|
|
1734
|
+
source_path: string;
|
|
1735
|
+
redirect_chain: components["schemas"]["ExternalPackageRedirectHop"][];
|
|
1736
|
+
package_sha256: string;
|
|
1737
|
+
/** Format: date-time */
|
|
1738
|
+
resolved_at: string;
|
|
1739
|
+
} | {
|
|
1740
|
+
/** @constant */
|
|
1741
|
+
kind: "package_upload";
|
|
1742
|
+
/** @description Opaque server-generated identifier for the staged uploaded artifact. */
|
|
1743
|
+
upload_id: string;
|
|
1744
|
+
package_sha256: string;
|
|
1745
|
+
/** Format: date-time */
|
|
1746
|
+
resolved_at: string;
|
|
1747
|
+
} | {
|
|
1748
|
+
/** @constant */
|
|
1749
|
+
kind: "github_repository";
|
|
1750
|
+
/** @description Stable GitHub repository database ID encoded as decimal text. */
|
|
1751
|
+
repository_id: string;
|
|
1752
|
+
/** @description Stable GitHub release database ID encoded as decimal text. */
|
|
1753
|
+
release_id: string;
|
|
1754
|
+
/** @description Stable GitHub release asset database ID encoded as decimal text. */
|
|
1755
|
+
asset_id: string;
|
|
1756
|
+
/** Format: uri */
|
|
1757
|
+
repository_url: string;
|
|
1758
|
+
/** @description Display-only owner login; repository_id remains authoritative across renames. */
|
|
1759
|
+
owner: string;
|
|
1760
|
+
/** @description Display-only repository name; repository_id remains authoritative across renames. */
|
|
1761
|
+
repository: string;
|
|
1762
|
+
resolved_commit_sha: string;
|
|
1763
|
+
release_tag?: string;
|
|
1764
|
+
asset_name?: string;
|
|
1765
|
+
package_sha256: string;
|
|
1766
|
+
/** Format: date-time */
|
|
1767
|
+
resolved_at: string;
|
|
1768
|
+
};
|
|
1769
|
+
/** @description Execution decision independent from signature state. Session and owner hashes are excluded from this public projection. */
|
|
1770
|
+
ExternalPackageExecutionApproval: {
|
|
1771
|
+
/** @enum {string} */
|
|
1772
|
+
state: "pending" | "user_approved" | "policy_approved" | "policy_blocked";
|
|
1773
|
+
reason_codes: string[];
|
|
1774
|
+
/** Format: date-time */
|
|
1775
|
+
assessed_at: string;
|
|
1776
|
+
/** Format: date-time */
|
|
1777
|
+
approved_at?: string;
|
|
1778
|
+
};
|
|
1779
|
+
/** @description Automatic-update decision. Unsigned or otherwise unverified packages remain installable but are normally manual-only. */
|
|
1780
|
+
ExternalPackageUpdateEligibility: {
|
|
1781
|
+
/** @enum {string} */
|
|
1782
|
+
state: "manual_only" | "automatic_eligible";
|
|
1783
|
+
reason_codes: string[];
|
|
1784
|
+
/** Format: date-time */
|
|
1785
|
+
assessed_at: string;
|
|
1786
|
+
};
|
|
1787
|
+
ExternalPackagePermissionSummary: {
|
|
1788
|
+
permission_id: string;
|
|
1789
|
+
methods: string[];
|
|
1790
|
+
};
|
|
1791
|
+
ExternalPackageMethodRouteSummary: {
|
|
1792
|
+
/** @enum {string} */
|
|
1793
|
+
kind: "capability" | "worker" | "core_action";
|
|
1794
|
+
binding_id?: string;
|
|
1795
|
+
target_method?: string;
|
|
1796
|
+
worker_id?: string;
|
|
1797
|
+
action_id?: string;
|
|
1798
|
+
};
|
|
1799
|
+
ExternalPackageConfirmationSummary: {
|
|
1800
|
+
/** @enum {string} */
|
|
1801
|
+
mode: "none" | "required" | "risk_based";
|
|
1802
|
+
preflight_method?: string;
|
|
1803
|
+
request_hash_fields: string[];
|
|
1804
|
+
plan_hash_required: boolean;
|
|
1805
|
+
};
|
|
1806
|
+
ExternalPackageCancelSummary: {
|
|
1807
|
+
cancelable: boolean;
|
|
1808
|
+
/** @enum {string} */
|
|
1809
|
+
disable_behavior: "cancel" | "orphan" | "wait";
|
|
1810
|
+
/** @enum {string} */
|
|
1811
|
+
uninstall_behavior: "cancel_then_block_delete" | "force_cleanup_allowed";
|
|
1812
|
+
ack_timeout_ms: number;
|
|
1813
|
+
};
|
|
1814
|
+
ExternalPackageMethodSummary: {
|
|
1815
|
+
method: string;
|
|
1816
|
+
route: components["schemas"]["ExternalPackageMethodRouteSummary"];
|
|
1817
|
+
/** @enum {string} */
|
|
1818
|
+
effect: "read" | "write" | "delete" | "execute" | "admin";
|
|
1819
|
+
/** @enum {string} */
|
|
1820
|
+
execution: "sync" | "operation" | "subscription";
|
|
1821
|
+
dangerous: boolean;
|
|
1822
|
+
preflight_only: boolean;
|
|
1823
|
+
required_permissions: string[];
|
|
1824
|
+
confirmation: components["schemas"]["ExternalPackageConfirmationSummary"];
|
|
1825
|
+
cancel?: components["schemas"]["ExternalPackageCancelSummary"];
|
|
1826
|
+
};
|
|
1827
|
+
ExternalPackageCapabilityContractSummary: {
|
|
1828
|
+
binding_id: string;
|
|
1829
|
+
capability_id: string;
|
|
1830
|
+
capability_version: string;
|
|
1831
|
+
contract_sha256: string;
|
|
1832
|
+
};
|
|
1833
|
+
ExternalPackageWorkerSummary: {
|
|
1834
|
+
worker_id: string;
|
|
1835
|
+
artifact: string;
|
|
1836
|
+
/** @constant */
|
|
1837
|
+
abi: "redevplugin-wasm-worker-v2";
|
|
1838
|
+
/** @constant */
|
|
1839
|
+
mode: "job";
|
|
1840
|
+
scope: components["schemas"]["ResourceScopeKind"];
|
|
1841
|
+
memory_limit_bytes: number;
|
|
1842
|
+
idle_timeout_ms: number;
|
|
1843
|
+
};
|
|
1844
|
+
ExternalPackageNetworkMethodAccessSummary: {
|
|
1845
|
+
method: string;
|
|
1846
|
+
operations: ("http" | "http_stream" | "websocket_round_trip" | "tcp_round_trip" | "udp_round_trip")[];
|
|
1847
|
+
http_methods: ("GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS")[];
|
|
1848
|
+
};
|
|
1849
|
+
ExternalPackageNetworkSummary: {
|
|
1850
|
+
connector_id: string;
|
|
1851
|
+
/** @enum {string} */
|
|
1852
|
+
transport: "http" | "websocket" | "tcp" | "udp";
|
|
1853
|
+
scope: components["schemas"]["ResourceScopeKind"];
|
|
1854
|
+
destinations: string[];
|
|
1855
|
+
auth_declared: boolean;
|
|
1856
|
+
tls_declared: boolean;
|
|
1857
|
+
method_access: components["schemas"]["ExternalPackageNetworkMethodAccessSummary"][];
|
|
1858
|
+
};
|
|
1859
|
+
ExternalPackageStorageMethodAccessSummary: {
|
|
1860
|
+
method: string;
|
|
1861
|
+
operations: ("read" | "write" | "delete" | "list" | "get" | "put" | "query" | "exec")[];
|
|
1862
|
+
};
|
|
1863
|
+
ExternalPackageStorageSummary: {
|
|
1864
|
+
store_id: string;
|
|
1865
|
+
/** @enum {string} */
|
|
1866
|
+
kind: "kv" | "files" | "sqlite";
|
|
1867
|
+
scope: components["schemas"]["ResourceScopeKind"];
|
|
1868
|
+
quota_bytes: number;
|
|
1869
|
+
quota_files?: number;
|
|
1870
|
+
schema_version: number;
|
|
1871
|
+
method_access: components["schemas"]["ExternalPackageStorageMethodAccessSummary"][];
|
|
1872
|
+
};
|
|
1873
|
+
ExternalPackageSecretRefSummary: {
|
|
1874
|
+
setting_key: string;
|
|
1875
|
+
secret_ref: string;
|
|
1876
|
+
scope: components["schemas"]["ResourceScopeKind"];
|
|
1877
|
+
};
|
|
1878
|
+
ExternalPackageCoreActionSummary: {
|
|
1879
|
+
method: string;
|
|
1880
|
+
action_id: string;
|
|
1881
|
+
/** @enum {string} */
|
|
1882
|
+
effect: "read" | "write" | "delete" | "execute" | "admin";
|
|
1883
|
+
};
|
|
1884
|
+
ExternalPackageIntentSummary: {
|
|
1885
|
+
intent_id: string;
|
|
1886
|
+
method: string;
|
|
1887
|
+
};
|
|
1888
|
+
ExternalPackageSurfaceSummary: {
|
|
1889
|
+
surface_id: string;
|
|
1890
|
+
/** @enum {string} */
|
|
1891
|
+
kind: "view" | "command" | "background";
|
|
1892
|
+
/** @enum {string} */
|
|
1893
|
+
intent: "primary" | "secondary" | "utility";
|
|
1894
|
+
label: string;
|
|
1895
|
+
entry: string;
|
|
1896
|
+
icon?: string;
|
|
1897
|
+
default_size?: components["schemas"]["ExternalPackageSizeSummary"];
|
|
1898
|
+
};
|
|
1899
|
+
ExternalPackageSizeSummary: {
|
|
1900
|
+
width: number;
|
|
1901
|
+
height: number;
|
|
1902
|
+
};
|
|
1903
|
+
/** @description Closed, display-ready projection of every security-relevant declaration in the inspected manifest. */
|
|
1904
|
+
ExternalPackageSecuritySummary: {
|
|
1905
|
+
summary_sha256: string;
|
|
1906
|
+
permissions: components["schemas"]["ExternalPackagePermissionSummary"][];
|
|
1907
|
+
methods: components["schemas"]["ExternalPackageMethodSummary"][];
|
|
1908
|
+
capability_contracts: components["schemas"]["ExternalPackageCapabilityContractSummary"][];
|
|
1909
|
+
workers: components["schemas"]["ExternalPackageWorkerSummary"][];
|
|
1910
|
+
network: components["schemas"]["ExternalPackageNetworkSummary"][];
|
|
1911
|
+
storage: components["schemas"]["ExternalPackageStorageSummary"][];
|
|
1912
|
+
secret_refs: components["schemas"]["ExternalPackageSecretRefSummary"][];
|
|
1913
|
+
core_actions: components["schemas"]["ExternalPackageCoreActionSummary"][];
|
|
1914
|
+
intents: components["schemas"]["ExternalPackageIntentSummary"][];
|
|
1915
|
+
surfaces: components["schemas"]["ExternalPackageSurfaceSummary"][];
|
|
1916
|
+
};
|
|
1917
|
+
/** @description Immutable inspection projection. Package identity and all four trust/security facts are server-derived. */
|
|
1918
|
+
ExternalPackageInspection: {
|
|
1919
|
+
inspection_id: string;
|
|
1920
|
+
/** Format: date-time */
|
|
1921
|
+
expires_at: string;
|
|
1922
|
+
intent: components["schemas"]["ExternalPackageIntent"];
|
|
1923
|
+
publisher_id: string;
|
|
1924
|
+
plugin_id: string;
|
|
1925
|
+
version: components["schemas"]["StrictSemVer"];
|
|
1926
|
+
inspected_hashes: components["schemas"]["TrustHashSet"];
|
|
1927
|
+
signature_assessment: components["schemas"]["ExternalPackageSignatureAssessment"];
|
|
1928
|
+
source_provenance: components["schemas"]["ExternalPackageSourceProvenance"];
|
|
1929
|
+
execution_approval: components["schemas"]["ExternalPackageExecutionApproval"];
|
|
1930
|
+
update_eligibility: components["schemas"]["ExternalPackageUpdateEligibility"];
|
|
1931
|
+
security_summary: components["schemas"]["ExternalPackageSecuritySummary"];
|
|
1932
|
+
confirmation_digest: string;
|
|
1933
|
+
};
|
|
1934
|
+
/** @description Immutable successful commit evidence. */
|
|
1935
|
+
ExternalPackageCommitReceipt: {
|
|
1936
|
+
commit_id: string;
|
|
1937
|
+
inspection_id: string;
|
|
1938
|
+
package_sha256: string;
|
|
1939
|
+
management_revision: number;
|
|
1940
|
+
/** Format: date-time */
|
|
1941
|
+
committed_at: string;
|
|
1942
|
+
};
|
|
1943
|
+
/** @description Closed commit reconciliation union. A committed result repeats all four facts so clients never infer them from legacy trust_state alone. A failed result is terminal evidence that a durable commit did not occur and requires a fresh inspection before retrying. */
|
|
1944
|
+
ExternalPackageCommitResult: {
|
|
1945
|
+
/** @constant */
|
|
1946
|
+
status: "committed";
|
|
1947
|
+
inspection_id: string;
|
|
1948
|
+
intent: components["schemas"]["ExternalPackageIntent"];
|
|
1949
|
+
receipt: components["schemas"]["ExternalPackageCommitReceipt"];
|
|
1950
|
+
plugin: components["schemas"]["PluginRecord"];
|
|
1951
|
+
signature_assessment: components["schemas"]["ExternalPackageSignatureAssessment"];
|
|
1952
|
+
source_provenance: components["schemas"]["ExternalPackageSourceProvenance"];
|
|
1953
|
+
execution_approval: components["schemas"]["ExternalPackageExecutionApproval"];
|
|
1954
|
+
update_eligibility: components["schemas"]["ExternalPackageUpdateEligibility"];
|
|
1955
|
+
security_summary: components["schemas"]["ExternalPackageSecuritySummary"];
|
|
1956
|
+
} | {
|
|
1957
|
+
/** @constant */
|
|
1958
|
+
status: "in_progress";
|
|
1959
|
+
inspection_id: string;
|
|
1960
|
+
intent: components["schemas"]["ExternalPackageIntent"];
|
|
1961
|
+
retry_after_ms: number;
|
|
1962
|
+
} | {
|
|
1963
|
+
/** @constant */
|
|
1964
|
+
status: "failed";
|
|
1965
|
+
inspection_id: string;
|
|
1966
|
+
intent: components["schemas"]["ExternalPackageIntent"];
|
|
1967
|
+
/** @constant */
|
|
1968
|
+
failure_code: "host_restarted_before_commit";
|
|
1969
|
+
};
|
|
1518
1970
|
/** @enum {string} */
|
|
1519
1971
|
TrustState: "verified" | "unsigned_local" | "untrusted" | "needs_review" | "trust_unavailable" | "blocked_security";
|
|
1520
1972
|
TrustHashSet: {
|
|
@@ -1551,6 +2003,11 @@ export interface components {
|
|
|
1551
2003
|
[key: string]: unknown;
|
|
1552
2004
|
};
|
|
1553
2005
|
local_import_provenance?: components["schemas"]["LocalImportProvenance"];
|
|
2006
|
+
signature_assessment?: components["schemas"]["ExternalPackageSignatureAssessment"];
|
|
2007
|
+
source_provenance?: components["schemas"]["ExternalPackageSourceProvenance"];
|
|
2008
|
+
execution_approval?: components["schemas"]["ExternalPackageExecutionApproval"];
|
|
2009
|
+
update_eligibility?: components["schemas"]["ExternalPackageUpdateEligibility"];
|
|
2010
|
+
security_summary?: components["schemas"]["ExternalPackageSecuritySummary"];
|
|
1554
2011
|
capability_contracts?: components["schemas"]["CapabilityContractPin"][];
|
|
1555
2012
|
manifest: components["schemas"]["ManifestV5"];
|
|
1556
2013
|
package_entries: components["schemas"]["PackageEntry"][];
|
|
@@ -1578,6 +2035,11 @@ export interface components {
|
|
|
1578
2035
|
[key: string]: unknown;
|
|
1579
2036
|
};
|
|
1580
2037
|
local_import_provenance?: components["schemas"]["LocalImportProvenance"];
|
|
2038
|
+
signature_assessment?: components["schemas"]["ExternalPackageSignatureAssessment"];
|
|
2039
|
+
source_provenance?: components["schemas"]["ExternalPackageSourceProvenance"];
|
|
2040
|
+
execution_approval?: components["schemas"]["ExternalPackageExecutionApproval"];
|
|
2041
|
+
update_eligibility?: components["schemas"]["ExternalPackageUpdateEligibility"];
|
|
2042
|
+
security_summary?: components["schemas"]["ExternalPackageSecuritySummary"];
|
|
1581
2043
|
capability_contracts?: components["schemas"]["CapabilityContractPin"][];
|
|
1582
2044
|
/** @enum {string} */
|
|
1583
2045
|
enable_state: "disabled" | "enabled" | "disabled_by_policy" | "disabled_incompatible";
|
|
@@ -1691,6 +2153,9 @@ export interface components {
|
|
|
1691
2153
|
plugin_instance_id?: string;
|
|
1692
2154
|
active_only?: boolean;
|
|
1693
2155
|
};
|
|
2156
|
+
PermissionRequirementsQueryRequest: {
|
|
2157
|
+
plugin_instance_id: string;
|
|
2158
|
+
};
|
|
1694
2159
|
ListDiagnosticsQueryRequest: {
|
|
1695
2160
|
plugin_id?: string;
|
|
1696
2161
|
plugin_instance_id?: string;
|
|
@@ -2782,6 +3247,24 @@ export interface components {
|
|
|
2782
3247
|
"application/json": components["schemas"]["PluginRecordSuccessResponse"];
|
|
2783
3248
|
};
|
|
2784
3249
|
};
|
|
3250
|
+
/** @description Immutable server-computed package inspection and confirmation boundary. */
|
|
3251
|
+
ExternalPackageInspectionResponse: {
|
|
3252
|
+
headers: {
|
|
3253
|
+
[name: string]: unknown;
|
|
3254
|
+
};
|
|
3255
|
+
content: {
|
|
3256
|
+
"application/json": components["schemas"]["ExternalPackageInspectionSuccessResponse"];
|
|
3257
|
+
};
|
|
3258
|
+
};
|
|
3259
|
+
/** @description External package commit reconciliation result with explicit trust, approval, provenance, and update facts. */
|
|
3260
|
+
ExternalPackageCommitResponse: {
|
|
3261
|
+
headers: {
|
|
3262
|
+
[name: string]: unknown;
|
|
3263
|
+
};
|
|
3264
|
+
content: {
|
|
3265
|
+
"application/json": components["schemas"]["ExternalPackageCommitSuccessResponse"];
|
|
3266
|
+
};
|
|
3267
|
+
};
|
|
2785
3268
|
/** @description Installed plugin catalog response with typed registry records. */
|
|
2786
3269
|
PluginCatalogResponse: {
|
|
2787
3270
|
headers: {
|
|
@@ -2944,6 +3427,15 @@ export interface components {
|
|
|
2944
3427
|
"application/json": components["schemas"]["PermissionListSuccessResponse"];
|
|
2945
3428
|
};
|
|
2946
3429
|
};
|
|
3430
|
+
/** @description Active-version permission requirements derived from Host-verified capability contracts. */
|
|
3431
|
+
PermissionRequirementsResponse: {
|
|
3432
|
+
headers: {
|
|
3433
|
+
[name: string]: unknown;
|
|
3434
|
+
};
|
|
3435
|
+
content: {
|
|
3436
|
+
"application/json": components["schemas"]["PermissionRequirementsSuccessResponse"];
|
|
3437
|
+
};
|
|
3438
|
+
};
|
|
2947
3439
|
/** @description Permission grant mutation result. */
|
|
2948
3440
|
PermissionMutationResponse: {
|
|
2949
3441
|
headers: {
|
|
@@ -3041,6 +3533,21 @@ export interface components {
|
|
|
3041
3533
|
SurfaceInstanceID: string;
|
|
3042
3534
|
};
|
|
3043
3535
|
requestBodies: {
|
|
3536
|
+
InspectExternalPackageRequest: {
|
|
3537
|
+
content: {
|
|
3538
|
+
"application/json": components["schemas"]["InspectExternalPackageRequest"];
|
|
3539
|
+
};
|
|
3540
|
+
};
|
|
3541
|
+
CommitExternalPackageRequest: {
|
|
3542
|
+
content: {
|
|
3543
|
+
"application/json": components["schemas"]["CommitExternalPackageRequest"];
|
|
3544
|
+
};
|
|
3545
|
+
};
|
|
3546
|
+
QueryExternalPackageCommitRequest: {
|
|
3547
|
+
content: {
|
|
3548
|
+
"application/json": components["schemas"]["QueryExternalPackageCommitRequest"];
|
|
3549
|
+
};
|
|
3550
|
+
};
|
|
3044
3551
|
InstallReleaseRefRequest: {
|
|
3045
3552
|
content: {
|
|
3046
3553
|
"application/json": components["schemas"]["InstallReleaseRefRequest"];
|
|
@@ -3111,6 +3618,11 @@ export interface components {
|
|
|
3111
3618
|
"application/json": components["schemas"]["ListPermissionsQueryRequest"];
|
|
3112
3619
|
};
|
|
3113
3620
|
};
|
|
3621
|
+
PermissionRequirementsQueryRequest: {
|
|
3622
|
+
content: {
|
|
3623
|
+
"application/json": components["schemas"]["PermissionRequirementsQueryRequest"];
|
|
3624
|
+
};
|
|
3625
|
+
};
|
|
3114
3626
|
ListDiagnosticsQueryRequest: {
|
|
3115
3627
|
content: {
|
|
3116
3628
|
"application/json": components["schemas"]["ListDiagnosticsQueryRequest"];
|
|
@@ -3293,6 +3805,84 @@ export interface operations {
|
|
|
3293
3805
|
default: components["responses"]["MutationPlatformErrorResponse"];
|
|
3294
3806
|
};
|
|
3295
3807
|
};
|
|
3808
|
+
inspectExternalPackage: {
|
|
3809
|
+
parameters: {
|
|
3810
|
+
query?: never;
|
|
3811
|
+
header?: never;
|
|
3812
|
+
path?: never;
|
|
3813
|
+
cookie?: never;
|
|
3814
|
+
};
|
|
3815
|
+
requestBody: components["requestBodies"]["InspectExternalPackageRequest"];
|
|
3816
|
+
responses: {
|
|
3817
|
+
200: components["responses"]["ExternalPackageInspectionResponse"];
|
|
3818
|
+
default: components["responses"]["MutationPlatformErrorResponse"];
|
|
3819
|
+
};
|
|
3820
|
+
};
|
|
3821
|
+
inspectUploadedExternalPackageInstall: {
|
|
3822
|
+
parameters: {
|
|
3823
|
+
query?: never;
|
|
3824
|
+
header?: never;
|
|
3825
|
+
path?: never;
|
|
3826
|
+
cookie?: never;
|
|
3827
|
+
};
|
|
3828
|
+
requestBody: {
|
|
3829
|
+
content: {
|
|
3830
|
+
"application/vnd.redevplugin.package+zip": string;
|
|
3831
|
+
};
|
|
3832
|
+
};
|
|
3833
|
+
responses: {
|
|
3834
|
+
200: components["responses"]["ExternalPackageInspectionResponse"];
|
|
3835
|
+
default: components["responses"]["MutationPlatformErrorResponse"];
|
|
3836
|
+
};
|
|
3837
|
+
};
|
|
3838
|
+
inspectUploadedExternalPackageUpdate: {
|
|
3839
|
+
parameters: {
|
|
3840
|
+
query?: never;
|
|
3841
|
+
header: {
|
|
3842
|
+
/** @description Canonical decimal management revision. Duplicate, combined, empty, or whitespace-padded values are rejected. */
|
|
3843
|
+
"X-ReDevPlugin-Expected-Management-Revision": number;
|
|
3844
|
+
};
|
|
3845
|
+
path: {
|
|
3846
|
+
plugin_instance_id: components["parameters"]["PluginInstanceID"];
|
|
3847
|
+
};
|
|
3848
|
+
cookie?: never;
|
|
3849
|
+
};
|
|
3850
|
+
requestBody: {
|
|
3851
|
+
content: {
|
|
3852
|
+
"application/vnd.redevplugin.package+zip": string;
|
|
3853
|
+
};
|
|
3854
|
+
};
|
|
3855
|
+
responses: {
|
|
3856
|
+
200: components["responses"]["ExternalPackageInspectionResponse"];
|
|
3857
|
+
default: components["responses"]["MutationPlatformErrorResponse"];
|
|
3858
|
+
};
|
|
3859
|
+
};
|
|
3860
|
+
commitExternalPackage: {
|
|
3861
|
+
parameters: {
|
|
3862
|
+
query?: never;
|
|
3863
|
+
header?: never;
|
|
3864
|
+
path?: never;
|
|
3865
|
+
cookie?: never;
|
|
3866
|
+
};
|
|
3867
|
+
requestBody: components["requestBodies"]["CommitExternalPackageRequest"];
|
|
3868
|
+
responses: {
|
|
3869
|
+
200: components["responses"]["ExternalPackageCommitResponse"];
|
|
3870
|
+
default: components["responses"]["MutationPlatformErrorResponse"];
|
|
3871
|
+
};
|
|
3872
|
+
};
|
|
3873
|
+
queryExternalPackageCommit: {
|
|
3874
|
+
parameters: {
|
|
3875
|
+
query?: never;
|
|
3876
|
+
header?: never;
|
|
3877
|
+
path?: never;
|
|
3878
|
+
cookie?: never;
|
|
3879
|
+
};
|
|
3880
|
+
requestBody: components["requestBodies"]["QueryExternalPackageCommitRequest"];
|
|
3881
|
+
responses: {
|
|
3882
|
+
200: components["responses"]["ExternalPackageCommitResponse"];
|
|
3883
|
+
default: components["responses"]["PlatformErrorResponse"];
|
|
3884
|
+
};
|
|
3885
|
+
};
|
|
3296
3886
|
installReleaseRef: {
|
|
3297
3887
|
parameters: {
|
|
3298
3888
|
query?: never;
|
|
@@ -3807,6 +4397,19 @@ export interface operations {
|
|
|
3807
4397
|
default: components["responses"]["PlatformErrorResponse"];
|
|
3808
4398
|
};
|
|
3809
4399
|
};
|
|
4400
|
+
getPluginPermissionRequirements: {
|
|
4401
|
+
parameters: {
|
|
4402
|
+
query?: never;
|
|
4403
|
+
header?: never;
|
|
4404
|
+
path?: never;
|
|
4405
|
+
cookie?: never;
|
|
4406
|
+
};
|
|
4407
|
+
requestBody: components["requestBodies"]["PermissionRequirementsQueryRequest"];
|
|
4408
|
+
responses: {
|
|
4409
|
+
200: components["responses"]["PermissionRequirementsResponse"];
|
|
4410
|
+
default: components["responses"]["PlatformErrorResponse"];
|
|
4411
|
+
};
|
|
4412
|
+
};
|
|
3810
4413
|
grantPluginPermission: {
|
|
3811
4414
|
parameters: {
|
|
3812
4415
|
query?: never;
|