@terminal3/t3n-sdk 4.17.0 → 4.18.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/index.d.ts CHANGED
@@ -2045,6 +2045,124 @@ declare class T3nClient {
2045
2045
  agentUri?: string;
2046
2046
  cardEntryId?: string;
2047
2047
  }>;
2048
+ /**
2049
+ * Normalise an organisation / user DID to the bare 40-hex form the
2050
+ * `tee:organisation` contract's `organisation_did` / `user_did` fields
2051
+ * expect (those take a hex string, not the `did:t3n:` display form).
2052
+ * Accepts `did:t3n:<40 hex>` or bare 40 hex.
2053
+ */
2054
+ private static didToCompactHex;
2055
+ /**
2056
+ * Dispatch a `tee:organisation/contracts` function over the authenticated
2057
+ * `action.execute` path (org-scoped writes are gated in-contract on the
2058
+ * caller's org-admin membership). Shared glue for the
2059
+ * organisation-lifecycle wrappers below.
2060
+ */
2061
+ private executeOrganisationContract;
2062
+ /**
2063
+ * Rename or change the status of an organisation the caller administers.
2064
+ * Dispatches `organisation-update`; the contract gates on the caller being
2065
+ * an org-admin of `orgDid`. Omitted fields are left unchanged.
2066
+ *
2067
+ * @param orgDid - the target organisation (`did:t3n:<hex>` or bare hex)
2068
+ * @param updates - `name` and/or `status` (`"Active"` | `"Suspended"`)
2069
+ */
2070
+ updateOrganisation(orgDid: string, updates: {
2071
+ name?: string;
2072
+ status?: "Active" | "Suspended";
2073
+ }): Promise<void>;
2074
+ /**
2075
+ * Delete an organisation the caller administers, footprint and all.
2076
+ *
2077
+ * A single `organisation-delete` dispatch tears down both stores the org
2078
+ * spans: the contract removes the `OrganisationRecord`, memberships, and
2079
+ * `OrgPolicyMeta`, and purges the org's `tee:org-data` footprint (every
2080
+ * grant, writer list, data entry, and index row keyed under the org DID)
2081
+ * in-contract, in the same consensus tx. Purge and delete therefore commit
2082
+ * or roll back together — a purge failure aborts the whole delete, so a
2083
+ * successful call never strands org-data.
2084
+ *
2085
+ * The org record's emptiness guards still apply (the org must have no
2086
+ * non-admin members and no children).
2087
+ *
2088
+ * @param orgDid - the target organisation (`did:t3n:<hex>` or bare hex)
2089
+ * @throws if the session is not authenticated, or if `organisation-delete`
2090
+ * refuses (including a refused in-contract org-data purge)
2091
+ */
2092
+ deleteOrganisation(orgDid: string): Promise<void>;
2093
+ /**
2094
+ * Dispatch a `tee:org-data/contracts` mutation on the authenticated session
2095
+ * and require a `MutationResponse` back. A successful mutation returns a
2096
+ * `MutationResponse` object; a refusal surfaces as a `"Code: message"` string
2097
+ * on an otherwise-2xx response. This surfaces the refusal reason verbatim and
2098
+ * then requires the success shape via `assertShape`, so any non-success
2099
+ * (refusal string, or any other malformed payload) throws rather than being
2100
+ * treated as success — letting callers abort a multi-step teardown.
2101
+ */
2102
+ private executeOrgDataMutation;
2103
+ /**
2104
+ * Attach an existing registered user to an organisation the caller
2105
+ * administers. Dispatches `user-add-organisation-attribution` (org-admin
2106
+ * gated).
2107
+ *
2108
+ * @param orgDid - the target organisation
2109
+ * @param userDid - the user to attach
2110
+ * @param opts.setAsOriginator - when the user has no originator yet, also
2111
+ * stamp this org as their write-once originator (backfill; ignored if one
2112
+ * is already set)
2113
+ */
2114
+ addOrganisationMember(orgDid: string, userDid: string, opts?: {
2115
+ setAsOriginator?: boolean;
2116
+ }): Promise<void>;
2117
+ /**
2118
+ * Detach a member from an organisation the caller administers (an org-admin
2119
+ * "kick") and revoke their standing org-data capability (detach cascade):
2120
+ *
2121
+ * 1. `user-remove-organisation-attribution` — drop the membership edge
2122
+ * (org-admin gated; idempotent on an already-absent membership). The host
2123
+ * membership gate makes the detach effective immediately.
2124
+ * 2. `org-remove-member-grants` — sweep the member from the org's
2125
+ * per-contract `UserGrant` lists, so the capability does not silently
2126
+ * reactivate if the member later rejoins.
2127
+ *
2128
+ * The member's `agent_auth` delegations are self-scoped (`AGENT_AUTH_MAP` is a
2129
+ * per-user document an admin cannot reach), so this cannot sweep them; the host
2130
+ * membership gate denies them regardless, and the member's own session can run
2131
+ * {@link revokeAgentAuthForOrg} for full cleanup.
2132
+ *
2133
+ * @param orgDid - the organisation
2134
+ * @param userDid - the member to detach
2135
+ */
2136
+ removeOrganisationMember(orgDid: string, userDid: string): Promise<void>;
2137
+ /**
2138
+ * Leave an organisation the caller is a member of (self-detach) and revoke
2139
+ * the caller's own standing capability for it (detach cascade):
2140
+ *
2141
+ * 1. `user-remove-organisation-attribution` with the caller's own DID as the
2142
+ * target — the contract's self-leave branch (`caller == target`) admits it
2143
+ * without org-admin rights. The host membership gate makes the detach
2144
+ * effective immediately.
2145
+ * 2. `org-remove-member-grants` — sweep the caller's own grants for the org
2146
+ * (the self-revocation branch, `caller == member`).
2147
+ * 3. `agent-auth-revoke-org` — drop the caller's own org-scoped agent
2148
+ * delegations.
2149
+ *
2150
+ * Steps 2–3 leave no stale capability rows that would reactivate on a rejoin.
2151
+ *
2152
+ * @param orgDid - the organisation to leave
2153
+ */
2154
+ leaveOrganisation(orgDid: string): Promise<void>;
2155
+ /**
2156
+ * Revoke the caller's own agent delegations scoped to one org
2157
+ * (detach-cascade `agent_auth` half). Dispatches
2158
+ * `agent-auth-revoke-org` on `tee:user/contracts` (**SelfOnly**): every
2159
+ * `ScriptGrant` targeting a `z:<orgTid>:*` contract is removed from the
2160
+ * caller's own agent-auth document.
2161
+ *
2162
+ * @param orgTid - the org's z-space tenant id (`did:t3n:<hex>` or bare
2163
+ * 40-hex) — i.e. the `<tid>` in the org's `z:<tid>:…` contract names
2164
+ */
2165
+ revokeAgentAuthForOrg(orgTid: string): Promise<void>;
2048
2166
  /**
2049
2167
  * Read the authenticated user's own agent-auth policy — the standing
2050
2168
  * grants delegated to agents. Dispatches `agent-auth-get` on
@@ -3024,6 +3142,14 @@ interface DeleteScopeInput {
3024
3142
  orgDid: string;
3025
3143
  scope: string;
3026
3144
  }
3145
+ interface PurgeOrgInput {
3146
+ orgDid: string;
3147
+ }
3148
+ interface RemoveMemberGrantsInput {
3149
+ orgDid: string;
3150
+ /** DID (`did:t3n:<40-hex>` or bare hex) to drop from every grant list. */
3151
+ memberDid: string;
3152
+ }
3027
3153
  interface PolicyGetInput {
3028
3154
  orgDid: string;
3029
3155
  }
@@ -3179,6 +3305,22 @@ declare class OrgDataClient {
3179
3305
  * Requires admin access (unlike `deleteData` which requires writer access).
3180
3306
  */
3181
3307
  deleteScope(input: DeleteScopeInput): Promise<MutationResponse>;
3308
+ /**
3309
+ * Full teardown of an org's org-data footprint — every
3310
+ * grant, writer list, data entry, and index row keyed under the org DID.
3311
+ * Org-admin-gated. Run this **before** `T3nClient.deleteOrganisation`,
3312
+ * which removes the `OrgPolicyMeta` this call authorises against — together
3313
+ * they leave the org with no org-data residue. `deleted_entries` reports the
3314
+ * row count cleared.
3315
+ */
3316
+ purgeOrg(input: PurgeOrgInput): Promise<MutationResponse>;
3317
+ /**
3318
+ * Detach-cascade grant sweep: drop `memberDid` from every
3319
+ * one of the org's per-contract `UserGrant` lists. Authorised for an
3320
+ * org-admin of the subject, or the member removing their own grants.
3321
+ * `deleted_entries` reports how many contract grant lists were rewritten.
3322
+ */
3323
+ removeMemberGrants(input: RemoveMemberGrantsInput): Promise<MutationResponse>;
3182
3324
  /** Read the policy metadata for an org (admin-only). */
3183
3325
  policyGet(input: PolicyGetInput): Promise<OrgPolicyMeta>;
3184
3326
  /**
@@ -3300,6 +3442,10 @@ declare class SessionOrgDataClient {
3300
3442
  deleteData(input: DeleteDataInput): Promise<MutationResponse>;
3301
3443
  /** Mirrors {@link OrgDataClient.deleteScope}. */
3302
3444
  deleteScope(input: DeleteScopeInput): Promise<MutationResponse>;
3445
+ /** Mirrors {@link OrgDataClient.purgeOrg}. */
3446
+ purgeOrg(input: PurgeOrgInput): Promise<MutationResponse>;
3447
+ /** Mirrors {@link OrgDataClient.removeMemberGrants}. */
3448
+ removeMemberGrants(input: RemoveMemberGrantsInput): Promise<MutationResponse>;
3303
3449
  /** Mirrors {@link OrgDataClient.policyGet}. */
3304
3450
  policyGet(input: PolicyGetInput): Promise<OrgPolicyMeta>;
3305
3451
  /** Mirrors {@link OrgDataClient.policyView}. */
@@ -4138,4 +4284,4 @@ declare function validateTail(tail: string): string;
4138
4284
  declare function canonicalTenantName(tenantDid: string, tail: string): string;
4139
4285
 
4140
4286
  export { AGENT_CARDS_SCOPE, AuthMethod, AuthenticationError, BASE_UNITS_PER_TOKEN, ContractResponseError, DEFAULT_ENVIRONMENT, DEFAULT_INDIVIDUAL_THRESHOLD_CENTS, DEFAULT_KYC_POLL_CADENCE, HandshakeError, HttpTransport, KycStatusTimeoutError, LogLevel, MockTransport, NODE_URLS, OrgDataClient, OtpRateLimitedError, RpcError, SessionExpiredError, SessionOrgDataClient, SessionStateError, SessionStatus, SessionUsageReportClient, T3nClient, T3nError, TERMINAL_KYC_STATUSES, TOKEN_DECIMALS, TenantClient, TenantContractsNamespace, TenantMapsNamespace, TenantNamespace, TenantSdkValidationError, TenantTokenNamespace, UnsupportedTenantSdkOperationError, UserUpsertError, WasmError, WireEncodingError, Z_PAYROLL_AUDIT_READ_FUNCTIONS, Z_PAYROLL_RUN_FUNCTIONS, _b64uEncode, assertShape, b64uDecodeStrict, b64uEncodeBytes, bytesToString, canonicalTenantName, clearKeyCache, compactDidFromBytes, createDefaultHandlers, createEmailOtpAuthInput, createEthAuthInput, createLogger, createMlKemPublicKeyHandler, createOidcAuthInput, createOrgDataClientFromSession, createRandomHandler, createUsageReportClientFromSession, createWorkloadAuthInput, decodeWasmErrorMessage, deriveAgentCardEntryId, eth_get_address, extractWasmError, fetchDkgAttestation, fetchMlKemPublicKey, formatTokens, generateRandomString, generateUUID, getEnvironment, getEnvironmentName, getGlobalLogLevel, getLogger, getNodeUrl, getScriptVersion, isAgentCardResponse, isDataGetResponse, isDataListResponse, isMutationResponse, isObject, isOrgAdminStatus, isOrgContractGrants, isOrgPolicyMeta, isOrgPolicyView, isOrgUsageReport, isOrgWriters, isUnsafeTrustServer, loadConfig, loadWasmComponent, maskKeyMaterial, mergeAgentAuthEntries, mergeDiscoverDids, metamask_get_address, metamask_sign, parseAgentAuthGet, parseAgentAuthPolicy, parseContractResponse, redactSecrets, redactSecretsFromJson, requestToWire, setEnvironment, setGlobalLogLevel, setNodeUrl, stringToBytes, tenantDidHex, toAgentAuthUpdateWire, toBaseUnits, validateConfig, validateTail, verifyDkgAttestation, verifyTdxQuote };
4141
- export type { AdmitForOrgOptions, AgentAuthEntry, AgentAuthMergeResult, AgentAuthPolicy, AgentAuthScriptGrant, AgentAuthUpdateInput, AgentCardRefInput, AgentCardResponse, AgentCardSetInput, AuthInput, BalanceRow, ChargeReason, ClientAuth, ClientHandshake, ConfigValidationResult, ContractExecuteInput, ContractKind, ContractPublishInput, ContractRegisterResult, ContractResponseSchema, ContractSetDescriptorInput, CreatePolicyInput, DataGetInput, DataGetResponse, DataListInput, DataListResponse, DelegationGrantKind, DelegationGrantRef, DeleteDataInput, DeleteGrantsInput, DeleteScopeInput, Did, Direction, DkgAttestation, DkgVerifyResult, EmailOtpAuthInput, EmailOtpCredentials, Environment, EthAuthInput, ExecuteBusinessContractOptions, ExecuteOrgDataActionOptions, GetUsageOptions, GrantCheckParams, GrantCheckResult, GrantsGetInput, GuestToHostHandler, GuestToHostHandlers, HandshakeResult, JsonRpcRequest, JsonRpcResponse, KycPollCadence, KycPollOptions, KycStatus, KycStatusKind, ListContractsParams, ListContractsResult, ListContractsScope, ListedContract, Logger, MapCreateInput, MapLifecycleStatus, MapResponse, MapUpdateInput, MapVisibility, MutationResponse, OidcAuthInput, OidcCredentials, OrgAdminStatus, OrgContractGrants, OrgDataActionWire, OrgDataClientOptions, OrgPolicyMeta, OrgPolicyView, OrgUsageReport, OrgUsageReportInput, OrgWriters, OtpChannel, OtpMergeSuggestion, OtpRequestInput, OtpRequestResult, OtpVerifyInput, OtpVerifyResult, PayrollRunRequest, PeerQuoteResult, PolicyGetInput, QuoteVerifyResult, ReaderSet, SdkConfig, SessionCrypto, SessionId, SetGrantsInput, SetWritersInput, StringEncoding, SubmitUserInputArgs, SubmitUserInputResult, T3nClientConfig, TenantAdmitProjection, TenantAdmitStatus, TenantBaseClient, TenantClientConfig, TenantContractExecuteInput, TenantContractPublishInput, TenantContractSetDescriptorInput, TenantExecutionSession, TenantMapCreateInput, TenantMapUpdatePatch, TenantMeResponse, TenantSdkEnvironment, TenantSelfAdmitResult, TenantStatus, TenantTargetOptions, TokenTxKind, Transport, TrustAnchor, TrustAnchorOrUnsafe, UnsafeTrustServer, UpdateMetaInput, UsageEntry, UsagePage, UsageReportSignature, UserGrant, UserInputProfile, UserUpsertErrorKind, WasmComponent, WasmNextResult, WireBlock, WorkloadAuthInput, WriteDataInput, WriterSet, WritersGetInput };
4287
+ export type { AdmitForOrgOptions, AgentAuthEntry, AgentAuthMergeResult, AgentAuthPolicy, AgentAuthScriptGrant, AgentAuthUpdateInput, AgentCardRefInput, AgentCardResponse, AgentCardSetInput, AuthInput, BalanceRow, ChargeReason, ClientAuth, ClientHandshake, ConfigValidationResult, ContractExecuteInput, ContractKind, ContractPublishInput, ContractRegisterResult, ContractResponseSchema, ContractSetDescriptorInput, CreatePolicyInput, DataGetInput, DataGetResponse, DataListInput, DataListResponse, DelegationGrantKind, DelegationGrantRef, DeleteDataInput, DeleteGrantsInput, DeleteScopeInput, Did, Direction, DkgAttestation, DkgVerifyResult, EmailOtpAuthInput, EmailOtpCredentials, Environment, EthAuthInput, ExecuteBusinessContractOptions, ExecuteOrgDataActionOptions, GetUsageOptions, GrantCheckParams, GrantCheckResult, GrantsGetInput, GuestToHostHandler, GuestToHostHandlers, HandshakeResult, JsonRpcRequest, JsonRpcResponse, KycPollCadence, KycPollOptions, KycStatus, KycStatusKind, ListContractsParams, ListContractsResult, ListContractsScope, ListedContract, Logger, MapCreateInput, MapLifecycleStatus, MapResponse, MapUpdateInput, MapVisibility, MutationResponse, OidcAuthInput, OidcCredentials, OrgAdminStatus, OrgContractGrants, OrgDataActionWire, OrgDataClientOptions, OrgPolicyMeta, OrgPolicyView, OrgUsageReport, OrgUsageReportInput, OrgWriters, OtpChannel, OtpMergeSuggestion, OtpRequestInput, OtpRequestResult, OtpVerifyInput, OtpVerifyResult, PayrollRunRequest, PeerQuoteResult, PolicyGetInput, PurgeOrgInput, QuoteVerifyResult, ReaderSet, RemoveMemberGrantsInput, SdkConfig, SessionCrypto, SessionId, SetGrantsInput, SetWritersInput, StringEncoding, SubmitUserInputArgs, SubmitUserInputResult, T3nClientConfig, TenantAdmitProjection, TenantAdmitStatus, TenantBaseClient, TenantClientConfig, TenantContractExecuteInput, TenantContractPublishInput, TenantContractSetDescriptorInput, TenantExecutionSession, TenantMapCreateInput, TenantMapUpdatePatch, TenantMeResponse, TenantSdkEnvironment, TenantSelfAdmitResult, TenantStatus, TenantTargetOptions, TokenTxKind, Transport, TrustAnchor, TrustAnchorOrUnsafe, UnsafeTrustServer, UpdateMetaInput, UsageEntry, UsagePage, UsageReportSignature, UserGrant, UserInputProfile, UserUpsertErrorKind, WasmComponent, WasmNextResult, WireBlock, WorkloadAuthInput, WriteDataInput, WriterSet, WritersGetInput };