@calimero-network/mero-js 26.9.1 → 26.10.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.
- package/dist/admin-api/admin-client.d.ts +9 -1
- package/dist/admin-api/admin-client.js +14 -0
- package/dist/admin-api/admin-types.d.ts +45 -0
- package/dist/index.browser.mjs +1 -1
- package/dist/index.browser.mjs.map +2 -2
- package/dist/index.cjs +22 -0
- package/dist/index.cjs.map +2 -2
- package/dist/index.mjs +22 -0
- package/dist/index.mjs.map +2 -2
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HttpClient } from '../http-client/index.js';
|
|
2
|
-
import type { HealthStatus, ReadinessStatus, AdminAuthStatus, InstallApplicationRequest, InstallApplicationResponseData, InstallDevApplicationRequest, UninstallApplicationResponseData, ListApplicationsResponseData, GetApplicationResponseData, ApplicationVersionEntry, GetApplicationAbiResponseData, GetLatestVersionResponseData, ListPackagesResponseData, ListVersionsResponseData, CreateContextRequest, CreateContextResponseData, DeleteContextResponseData, GetContextsResponseData, Context, GenerateContextIdentityResponseData, GetContextIdentitiesResponseData, JoinContextResponseData, JoinSubgroupInheritanceResponseData, ContextGroupResponseData, ContextStorageResponseData, UpdateContextApplicationRequest, ResyncContextRequest, ResyncContextResponseData, ContextsWithExecutorsResponseData, UploadBlobRequest, UploadBlobResponseData, DeleteBlobResponseData, ListBlobsResponseData, GetBlobInfoResponseData, BlobReadOptions, CreateContextAliasRequest, CreateApplicationAliasRequest, CreateDeviceAliasRequest, CreateAliasResponseData, LookupAliasResponseData, DeleteAliasResponseData, ListAliasesResponseData, ListNamespacesResponseData, CreateNamespaceRequest, CreateNamespaceResponseData, DeleteNamespaceResponseData, CreateNamespaceInvitationRequest, CreateNamespaceInvitationResponseData, CreateRecursiveInvitationResponseData, JoinNamespaceRequest, JoinNamespaceResponseData, CreateGroupInNamespaceRequest, CreateGroupInNamespaceResponseData, SubgroupEntry, Namespace, NodeIdentity, AccountPairInitRequest, AccountPairInitResponseData, AccountPairCompleteRequest, AccountPairCompleteResponseData, AccountSignWithRootRequest, AccountSignWithRootResponseData, RelinkDeviceRequest, RelinkDeviceResponseData, RescopeDeviceRequest, RescopeDeviceResponseData, LabelDeviceRequest, LabelDeviceResponseData, AccountDeviceEntry, AccountApplicationEntry, RevokeAccountDeviceRequest, LinkAccountDeviceRequest, LinkAccountDeviceResponseData, RevokeAccountDeviceResponseData, MemberDevicesEntry, ListMemberDevicesOptions, GroupInfoResponseData, CreateGroupRequest, CreateGroupResponseData, DeleteGroupResponseData, ListGroupMembersResponseData, ListGroupContextsResponseData, AddGroupMembersRequest, RemoveGroupMembersRequest, UpdateMemberRoleRequest, MemberCapabilities, SetMemberCapabilitiesRequest, SetDefaultCapabilitiesRequest, SetMemberAutoFollowRequest, SetSubgroupVisibilityRequest, SetTeeAdmissionPolicyRequest, GetTeeAdmissionPolicyResponseData, SetTeeAuthoringPolicyRequest, TransferOwnershipRequest, ChangeNamespaceAdminRequest, OwnerDeleteGroupRequest, RootGuardedOpRequest, SetGroupMetadataRequest, SetMemberMetadataRequest, SetContextMetadataRequest, MetadataRecord, SyncGroupResponseData, ActivateGroupUpgradeRequest, ActivateGroupUpgradeResponseData, UpgradeGroupRequest, UpgradeGroupResponseData, GroupUpgradeStatusResponseData, MigrationStatus, NamespaceRevokedDevices, CascadeStatusEntry, RetryGroupUpgradeResponseData, ReparentGroupRequest, ReparentGroupResponseData, IssueOwnershipProofRequest, IssueNamespaceOwnershipProofRequest, IssueOwnershipProofResponseData, CreateGroupInvitationRequest, CreateGroupInvitationResponseData, CreateRecursiveGroupInvitationResponseData, JoinGroupRequest, JoinGroupResponseData, TeeInfoResponseData, TeeAttestRequest, TeeAttestResponseData, PerformIntentRequest, PerformIntentResponseData, IntentRelayInfo, QueryContextRequest, QueryContextResponseData, ListMemberDevicesResponseData, SealToAccountRequest, SealedEnvelope, AdmitJoinRequest, AdmitJoinResponseData, CreateAccessGrantRequest, AccessGrant, CreatedAccessGrant, RevokeAccessGrantResponseData, AccessGrantCallRequest, AccessGrantCallResponseData } from './admin-types.js';
|
|
2
|
+
import type { HealthStatus, ReadinessStatus, AdminAuthStatus, InstallApplicationRequest, InstallApplicationResponseData, InstallDevApplicationRequest, UninstallApplicationResponseData, ListApplicationsResponseData, GetApplicationResponseData, ApplicationVersionEntry, GetApplicationAbiResponseData, GetLatestVersionResponseData, ListPackagesResponseData, ListVersionsResponseData, CreateContextRequest, CreateContextResponseData, DeleteContextResponseData, GetContextsResponseData, Context, GenerateContextIdentityResponseData, GetContextIdentitiesResponseData, JoinContextResponseData, JoinSubgroupInheritanceResponseData, ContextGroupResponseData, ContextStorageResponseData, UpdateContextApplicationRequest, ResyncContextRequest, ResyncContextResponseData, ContextsWithExecutorsResponseData, UploadBlobRequest, UploadBlobResponseData, DeleteBlobResponseData, ListBlobsResponseData, GetBlobInfoResponseData, BlobReadOptions, CreateContextAliasRequest, CreateApplicationAliasRequest, CreateDeviceAliasRequest, CreateAliasResponseData, LookupAliasResponseData, DeleteAliasResponseData, ListAliasesResponseData, ListNamespacesResponseData, CreateNamespaceRequest, CreateNamespaceResponseData, OutboundApproval, SetOutboundApprovalRequest, SetOutboundApprovalResponseData, DeleteNamespaceResponseData, CreateNamespaceInvitationRequest, CreateNamespaceInvitationResponseData, CreateRecursiveInvitationResponseData, JoinNamespaceRequest, JoinNamespaceResponseData, CreateGroupInNamespaceRequest, CreateGroupInNamespaceResponseData, SubgroupEntry, Namespace, NodeIdentity, AccountPairInitRequest, AccountPairInitResponseData, AccountPairCompleteRequest, AccountPairCompleteResponseData, AccountSignWithRootRequest, AccountSignWithRootResponseData, RelinkDeviceRequest, RelinkDeviceResponseData, RescopeDeviceRequest, RescopeDeviceResponseData, LabelDeviceRequest, LabelDeviceResponseData, AccountDeviceEntry, AccountApplicationEntry, RevokeAccountDeviceRequest, LinkAccountDeviceRequest, LinkAccountDeviceResponseData, RevokeAccountDeviceResponseData, MemberDevicesEntry, ListMemberDevicesOptions, GroupInfoResponseData, CreateGroupRequest, CreateGroupResponseData, DeleteGroupResponseData, ListGroupMembersResponseData, ListGroupContextsResponseData, AddGroupMembersRequest, RemoveGroupMembersRequest, UpdateMemberRoleRequest, MemberCapabilities, SetMemberCapabilitiesRequest, SetDefaultCapabilitiesRequest, SetMemberAutoFollowRequest, SetSubgroupVisibilityRequest, SetTeeAdmissionPolicyRequest, GetTeeAdmissionPolicyResponseData, SetTeeAuthoringPolicyRequest, TransferOwnershipRequest, ChangeNamespaceAdminRequest, OwnerDeleteGroupRequest, RootGuardedOpRequest, SetGroupMetadataRequest, SetMemberMetadataRequest, SetContextMetadataRequest, MetadataRecord, SyncGroupResponseData, ActivateGroupUpgradeRequest, ActivateGroupUpgradeResponseData, UpgradeGroupRequest, UpgradeGroupResponseData, GroupUpgradeStatusResponseData, MigrationStatus, NamespaceRevokedDevices, CascadeStatusEntry, RetryGroupUpgradeResponseData, ReparentGroupRequest, ReparentGroupResponseData, IssueOwnershipProofRequest, IssueNamespaceOwnershipProofRequest, IssueOwnershipProofResponseData, CreateGroupInvitationRequest, CreateGroupInvitationResponseData, CreateRecursiveGroupInvitationResponseData, JoinGroupRequest, JoinGroupResponseData, TeeInfoResponseData, TeeAttestRequest, TeeAttestResponseData, PerformIntentRequest, PerformIntentResponseData, IntentRelayInfo, QueryContextRequest, QueryContextResponseData, ListMemberDevicesResponseData, SealToAccountRequest, SealedEnvelope, AdmitJoinRequest, AdmitJoinResponseData, CreateAccessGrantRequest, AccessGrant, CreatedAccessGrant, RevokeAccessGrantResponseData, AccessGrantCallRequest, AccessGrantCallResponseData } from './admin-types.js';
|
|
3
3
|
import { type RedeemOutcome } from './redeem-invitation.js';
|
|
4
4
|
/**
|
|
5
5
|
* Compare two version strings by SemVer 2.0 precedence, ascending: negative if
|
|
@@ -219,6 +219,14 @@ export declare class AdminApiClient {
|
|
|
219
219
|
getIntentRelay(contextId: string): Promise<IntentRelayInfo>;
|
|
220
220
|
listNamespacesForApplication(applicationId: string): Promise<ListNamespacesResponseData>;
|
|
221
221
|
createNamespace(request: CreateNamespaceRequest): Promise<CreateNamespaceResponseData>;
|
|
222
|
+
/** What `namespaceId` approves for outbound requests, one entry per publisher. */
|
|
223
|
+
listOutboundApprovals(namespaceId: string): Promise<OutboundApproval[]>;
|
|
224
|
+
/**
|
|
225
|
+
* Set what `namespaceId` approves for the publisher of `request.applicationId`
|
|
226
|
+
* to exactly `request.approve`: `'manifest'` or a list of URL prefixes, and
|
|
227
|
+
* `[]` revokes everything. Takes effect at the app's next run.
|
|
228
|
+
*/
|
|
229
|
+
setOutboundApproval(namespaceId: string, request: SetOutboundApprovalRequest): Promise<SetOutboundApprovalResponseData>;
|
|
222
230
|
deleteNamespace(namespaceId: string): Promise<DeleteNamespaceResponseData>;
|
|
223
231
|
createNamespaceInvitation(namespaceId: string, request?: CreateNamespaceInvitationRequest): Promise<CreateNamespaceInvitationResponseData | CreateRecursiveInvitationResponseData>;
|
|
224
232
|
/**
|
|
@@ -507,6 +507,20 @@ export class AdminApiClient {
|
|
|
507
507
|
async createNamespace(request) {
|
|
508
508
|
return unwrap(await this.httpClient.post('/admin-api/namespaces', request));
|
|
509
509
|
}
|
|
510
|
+
/** What `namespaceId` approves for outbound requests, one entry per publisher. */
|
|
511
|
+
async listOutboundApprovals(namespaceId) {
|
|
512
|
+
return unwrap(await this.httpClient.get(`/admin-api/namespaces/${pathSegment(namespaceId)}/outbound-approvals`));
|
|
513
|
+
}
|
|
514
|
+
/**
|
|
515
|
+
* Set what `namespaceId` approves for the publisher of `request.applicationId`
|
|
516
|
+
* to exactly `request.approve`: `'manifest'` or a list of URL prefixes, and
|
|
517
|
+
* `[]` revokes everything. Takes effect at the app's next run.
|
|
518
|
+
*/
|
|
519
|
+
async setOutboundApproval(namespaceId, request) {
|
|
520
|
+
return unwrap(await this.httpClient.put(`/admin-api/namespaces/${pathSegment(namespaceId)}/outbound-approvals`,
|
|
521
|
+
// Core declares this body `deny_unknown_fields`, so send exactly these.
|
|
522
|
+
{ applicationId: request.applicationId, approve: request.approve }));
|
|
523
|
+
}
|
|
510
524
|
async deleteNamespace(namespaceId) {
|
|
511
525
|
// Core requires `Content-Type: application/json` on this DELETE even though
|
|
512
526
|
// the body is always empty, so send the header and an empty JSON object.
|
|
@@ -672,11 +672,50 @@ export interface CreateNamespaceRequest {
|
|
|
672
672
|
name?: string;
|
|
673
673
|
/** Hex 32-byte blob id; pins the namespace to a specific installed version. */
|
|
674
674
|
appKey?: string;
|
|
675
|
+
/**
|
|
676
|
+
* Approve outbound requests for the app's publisher in the new namespace, in
|
|
677
|
+
* the same call. Absent approves none, and the app's requests are refused
|
|
678
|
+
* (`NotApproved`) until an admin approves them.
|
|
679
|
+
*/
|
|
680
|
+
approveOutbound?: OutboundSelection;
|
|
675
681
|
}
|
|
676
682
|
export interface CreateNamespaceResponseData {
|
|
677
683
|
namespaceId: string;
|
|
678
684
|
/** What the id was derived from. Absent on nodes that predate derived ids. */
|
|
679
685
|
founding?: NamespaceFounding;
|
|
686
|
+
/** What the namespace approves for the app's publisher; present only when the request set `approveOutbound`. */
|
|
687
|
+
outboundApproval?: OutboundApproval;
|
|
688
|
+
}
|
|
689
|
+
/**
|
|
690
|
+
* Which outbound URL prefixes a namespace approves for an app's publisher:
|
|
691
|
+
* `'manifest'` approves every prefix the app's manifest declares, a list
|
|
692
|
+
* approves exactly those prefixes. The node rejects any other string.
|
|
693
|
+
*/
|
|
694
|
+
export type OutboundSelection = 'manifest' | string[];
|
|
695
|
+
/**
|
|
696
|
+
* What a namespace approves for one publisher (the bundle signer): the URL
|
|
697
|
+
* prefixes its apps may send outbound requests under, and the prefixes an
|
|
698
|
+
* approver was shown.
|
|
699
|
+
*/
|
|
700
|
+
export interface OutboundApproval {
|
|
701
|
+
/** The publisher's signer id (`did:key`). */
|
|
702
|
+
signer: string;
|
|
703
|
+
prefixes: string[];
|
|
704
|
+
reviewed: string[];
|
|
705
|
+
}
|
|
706
|
+
/**
|
|
707
|
+
* `PUT /admin-api/namespaces/:namespaceId/outbound-approvals` — set what the
|
|
708
|
+
* namespace approves for an installed app's publisher to exactly `approve`.
|
|
709
|
+
* `[]` revokes everything.
|
|
710
|
+
*/
|
|
711
|
+
export interface SetOutboundApprovalRequest {
|
|
712
|
+
applicationId: string;
|
|
713
|
+
approve: OutboundSelection;
|
|
714
|
+
}
|
|
715
|
+
export interface SetOutboundApprovalResponseData extends OutboundApproval {
|
|
716
|
+
namespaceId: string;
|
|
717
|
+
/** `false` when nothing changed, so no op was published. */
|
|
718
|
+
published: boolean;
|
|
680
719
|
}
|
|
681
720
|
export interface DeleteNamespaceResponseData {
|
|
682
721
|
isDeleted: boolean;
|
|
@@ -1768,6 +1807,10 @@ export interface UpgradeGroupRequest {
|
|
|
1768
1807
|
/** Publish without first trialling the migration on the admin's own contexts.
|
|
1769
1808
|
* Server default: false, so a migration that fails the trial is refused with a 409. */
|
|
1770
1809
|
skipTrial?: boolean;
|
|
1810
|
+
/** Approve outbound requests for the target's publisher in the group's
|
|
1811
|
+
* namespace before upgrading. Added to what the namespace already approves;
|
|
1812
|
+
* a prefix the target declares that nobody approved waits (`AwaitingApproval`). */
|
|
1813
|
+
approveOutbound?: OutboundSelection;
|
|
1771
1814
|
}
|
|
1772
1815
|
export interface UpgradeGroupResponseData {
|
|
1773
1816
|
groupId: string;
|
|
@@ -1777,6 +1820,8 @@ export interface UpgradeGroupResponseData {
|
|
|
1777
1820
|
localContextsFailed?: number;
|
|
1778
1821
|
contextsTrialled?: number;
|
|
1779
1822
|
contextsNotHeld?: number;
|
|
1823
|
+
/** What the namespace approves for the target's publisher; present only when the request set `approveOutbound`. */
|
|
1824
|
+
outboundApproval?: OutboundApproval;
|
|
1780
1825
|
}
|
|
1781
1826
|
export type GroupUpgradeStatusResponseData = GroupUpgradeStatus | null;
|
|
1782
1827
|
export type RetryGroupUpgradeResponseData = UpgradeGroupResponseData;
|