@agent-network-protocol/dsh-anp-identity 0.1.6 → 0.1.8

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.
Files changed (116) hide show
  1. package/BOUNDARY.md +30 -5
  2. package/PUBLICATION.md +181 -0
  3. package/README.md +73 -1
  4. package/README.zh.md +44 -1
  5. package/V7-MANAGEMENT.md +18 -0
  6. package/cordis.patch.yml +9 -0
  7. package/examples/fresh-bootstrap.cordis.patch.yml +38 -0
  8. package/lib/authorization-types.d.ts +6 -0
  9. package/lib/authorization-types.d.ts.map +1 -1
  10. package/lib/authorization.d.ts.map +1 -1
  11. package/lib/authorization.js +23 -6
  12. package/lib/authorization.js.map +1 -1
  13. package/lib/catalog.d.ts +3 -1
  14. package/lib/catalog.d.ts.map +1 -1
  15. package/lib/catalog.js +15 -3
  16. package/lib/catalog.js.map +1 -1
  17. package/lib/client/controller.d.ts +18 -0
  18. package/lib/client/controller.d.ts.map +1 -1
  19. package/lib/client/controller.js +89 -5
  20. package/lib/client/controller.js.map +1 -1
  21. package/lib/client/views.d.ts.map +1 -1
  22. package/lib/client/views.js +37 -6
  23. package/lib/client/views.js.map +1 -1
  24. package/lib/client-metadata.d.ts +3 -0
  25. package/lib/client-metadata.d.ts.map +1 -0
  26. package/lib/client-metadata.js +11 -0
  27. package/lib/client-metadata.js.map +1 -0
  28. package/lib/client.js +260 -14
  29. package/lib/client.js.map +4 -4
  30. package/lib/host-management-secret.d.ts +41 -0
  31. package/lib/host-management-secret.d.ts.map +1 -0
  32. package/lib/host-management-secret.js +92 -0
  33. package/lib/host-management-secret.js.map +1 -0
  34. package/lib/index.d.ts +73 -3
  35. package/lib/index.d.ts.map +1 -1
  36. package/lib/index.js +331 -22
  37. package/lib/index.js.map +1 -1
  38. package/lib/initial-registration-proof.d.ts +13 -0
  39. package/lib/initial-registration-proof.d.ts.map +1 -0
  40. package/lib/initial-registration-proof.js +48 -0
  41. package/lib/initial-registration-proof.js.map +1 -0
  42. package/lib/installed-consumer.d.ts +25 -0
  43. package/lib/installed-consumer.d.ts.map +1 -0
  44. package/lib/installed-consumer.js +66 -0
  45. package/lib/installed-consumer.js.map +1 -0
  46. package/lib/management-credentials.d.ts +15 -0
  47. package/lib/management-credentials.d.ts.map +1 -0
  48. package/lib/management-credentials.js +126 -0
  49. package/lib/management-credentials.js.map +1 -0
  50. package/lib/management-driver.d.ts +83 -0
  51. package/lib/management-driver.d.ts.map +1 -0
  52. package/lib/management-driver.js +405 -0
  53. package/lib/management-driver.js.map +1 -0
  54. package/lib/management-remote.d.ts +27 -1
  55. package/lib/management-remote.d.ts.map +1 -1
  56. package/lib/management-remote.js +69 -3
  57. package/lib/management-remote.js.map +1 -1
  58. package/lib/management-types.d.ts +7 -0
  59. package/lib/management-types.d.ts.map +1 -1
  60. package/lib/pap-callback.d.ts +110 -0
  61. package/lib/pap-callback.d.ts.map +1 -0
  62. package/lib/pap-callback.js +51 -0
  63. package/lib/pap-callback.js.map +1 -0
  64. package/lib/protocol-bootstrap.d.ts +24 -0
  65. package/lib/protocol-bootstrap.d.ts.map +1 -0
  66. package/lib/protocol-bootstrap.js +34 -0
  67. package/lib/protocol-bootstrap.js.map +1 -0
  68. package/lib/protocol-client.d.ts +137 -0
  69. package/lib/protocol-client.d.ts.map +1 -0
  70. package/lib/protocol-client.js +11 -0
  71. package/lib/protocol-client.js.map +1 -0
  72. package/lib/provider-api.d.ts +6 -2
  73. package/lib/provider-api.d.ts.map +1 -1
  74. package/lib/provider-api.js.map +1 -1
  75. package/lib/publication-http.d.ts +19 -0
  76. package/lib/publication-http.d.ts.map +1 -0
  77. package/lib/publication-http.js +183 -0
  78. package/lib/publication-http.js.map +1 -0
  79. package/lib/publication-types.d.ts +161 -0
  80. package/lib/publication-types.d.ts.map +1 -0
  81. package/lib/publication-types.js +35 -0
  82. package/lib/publication-types.js.map +1 -0
  83. package/lib/publication.d.ts +21 -0
  84. package/lib/publication.d.ts.map +1 -0
  85. package/lib/publication.js +235 -0
  86. package/lib/publication.js.map +1 -0
  87. package/lib/registration-bootstrap.d.ts +56 -0
  88. package/lib/registration-bootstrap.d.ts.map +1 -0
  89. package/lib/registration-bootstrap.js +523 -0
  90. package/lib/registration-bootstrap.js.map +1 -0
  91. package/lib/registration-service-settings.d.ts +12 -0
  92. package/lib/registration-service-settings.d.ts.map +1 -0
  93. package/lib/registration-service-settings.js +124 -0
  94. package/lib/registration-service-settings.js.map +1 -0
  95. package/lib/registration-service-types.d.ts +11 -0
  96. package/lib/registration-service-types.d.ts.map +1 -0
  97. package/lib/registration-service-types.js +3 -0
  98. package/lib/registration-service-types.js.map +1 -0
  99. package/lib/remote.d.ts.map +1 -1
  100. package/lib/remote.js +11 -2
  101. package/lib/remote.js.map +1 -1
  102. package/lib/target-policy.d.ts +35 -0
  103. package/lib/target-policy.d.ts.map +1 -0
  104. package/lib/target-policy.js +319 -0
  105. package/lib/target-policy.js.map +1 -0
  106. package/lib/user-client.d.ts +6 -0
  107. package/lib/user-client.d.ts.map +1 -1
  108. package/lib/user-client.js.map +1 -1
  109. package/lib/user-operation.d.ts.map +1 -1
  110. package/lib/user-operation.js +9 -0
  111. package/lib/user-operation.js.map +1 -1
  112. package/lib/user-service.d.ts +8 -1
  113. package/lib/user-service.d.ts.map +1 -1
  114. package/lib/user-service.js +58 -4
  115. package/lib/user-service.js.map +1 -1
  116. package/package.json +51 -29
@@ -0,0 +1,41 @@
1
+ import type { CredentialProvider } from '@deepseek-ai/dsh-credentials';
2
+ /** The actual Host credential service; reference and environment resolution are deliberately absent. */
3
+ export interface HostManagementSecretContext {
4
+ readonly credentials?: Pick<CredentialProvider, 'readRecord' | 'modifyRecord'> | undefined;
5
+ }
6
+ /** Stable Host partition and a current observation of protected broker state. */
7
+ export interface HostManagementSecretOptions {
8
+ context: HostManagementSecretContext;
9
+ /** Absolute, stable broker ciphertext directory, also checked by hasExistingCiphertext; normalize aliases in the installer. */
10
+ stateRoot: string;
11
+ /** Stable Host bootstrap identifier, never a request id; changing it requires an independent broker directory. */
12
+ bootstrapId: string;
13
+ /** Recheck actual encrypted broker state while the credential record is exclusively locked. */
14
+ hasExistingCiphertext(): Promise<boolean>;
15
+ /** The installer may reject a revoked Host context; service proxies are not generation identifiers. */
16
+ assertActive?(): void | Promise<void>;
17
+ }
18
+ /** Host-only key access; callers must clear each returned buffer after their cryptographic operation. */
19
+ export interface HostManagementSecret {
20
+ /** Return a new 32-byte buffer after an exclusive current-record check. */
21
+ getKey(): Promise<Buffer>;
22
+ /** Revoke future access and reject an in-flight result before it reaches the broker. */
23
+ dispose(): void;
24
+ }
25
+ /** Stable failure without provider errors, paths, records or secret material. */
26
+ export declare class HostManagementSecretError extends Error {
27
+ readonly name = "HostManagementSecretError";
28
+ readonly code = "credential_unavailable";
29
+ constructor();
30
+ }
31
+ /**
32
+ * Resolve one management-broker key through atomic credential-record operations.
33
+ * The provider must implement exclusive read/decide/write; credentials-local supplies a cross-process lock.
34
+ * Existing records are never rewritten. Missing keys cannot be recreated over encrypted broker data.
35
+ * This uses the configured Host provider's protection, not an OS Secret Service guarantee.
36
+ * The installer must dispose the accessor with its Host context and use assertActive for additional revocation.
37
+ * @param options - Host service, stable partition and live encrypted-state observation.
38
+ * @returns A disposable Host-only accessor; each successful request owns a separate key buffer.
39
+ */
40
+ export declare function createHostManagementSecret(options: HostManagementSecretOptions): HostManagementSecret;
41
+ //# sourceMappingURL=host-management-secret.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-management-secret.d.ts","sourceRoot":"","sources":["../src/host-management-secret.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAoB,MAAM,8BAA8B,CAAA;AAExF,wGAAwG;AACxG,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,YAAY,GAAG,cAAc,CAAC,GAAG,SAAS,CAAA;CAC3F;AAED,iFAAiF;AACjF,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,2BAA2B,CAAA;IACpC,+HAA+H;IAC/H,SAAS,EAAE,MAAM,CAAA;IACjB,kHAAkH;IAClH,WAAW,EAAE,MAAM,CAAA;IACnB,+FAA+F;IAC/F,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IACzC,uGAAuG;IACvG,YAAY,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACtC;AAED,yGAAyG;AACzG,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IACzB,wFAAwF;IACxF,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,iFAAiF;AACjF,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,+BAA8B;IAC3C,QAAQ,CAAC,IAAI,4BAA2B;;CAKzC;AAgBD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,2BAA2B,GAAG,oBAAoB,CA8CrG"}
@@ -0,0 +1,92 @@
1
+ /** Host-only management-broker encryption keys backed by the credential record seam. */
2
+ import { createHash, randomBytes } from 'node:crypto';
3
+ import { isAbsolute, resolve } from 'node:path';
4
+ import { credentialKey } from '@deepseek-ai/dsh-credentials';
5
+ /** Stable failure without provider errors, paths, records or secret material. */
6
+ export class HostManagementSecretError extends Error {
7
+ name = 'HostManagementSecretError';
8
+ code = 'credential_unavailable';
9
+ constructor() {
10
+ super('The management credential encryption key is unavailable.');
11
+ }
12
+ }
13
+ function decodeKey(record) {
14
+ if (!record || record.kind !== 'api-key'
15
+ || Object.keys(record).some(key => key !== 'kind' && key !== 'key')
16
+ || typeof record.key !== 'string' || !/^[A-Za-z0-9_-]{43}$/u.test(record.key)) {
17
+ throw new HostManagementSecretError();
18
+ }
19
+ const bytes = Buffer.from(record.key, 'base64url');
20
+ if (bytes.length !== 32 || bytes.toString('base64url') !== record.key) {
21
+ bytes.fill(0);
22
+ throw new HostManagementSecretError();
23
+ }
24
+ return bytes;
25
+ }
26
+ /**
27
+ * Resolve one management-broker key through atomic credential-record operations.
28
+ * The provider must implement exclusive read/decide/write; credentials-local supplies a cross-process lock.
29
+ * Existing records are never rewritten. Missing keys cannot be recreated over encrypted broker data.
30
+ * This uses the configured Host provider's protection, not an OS Secret Service guarantee.
31
+ * The installer must dispose the accessor with its Host context and use assertActive for additional revocation.
32
+ * @param options - Host service, stable partition and live encrypted-state observation.
33
+ * @returns A disposable Host-only accessor; each successful request owns a separate key buffer.
34
+ */
35
+ export function createHostManagementSecret(options) {
36
+ if (!isAbsolute(options.stateRoot) || options.bootstrapId.length === 0 || options.bootstrapId.length > 256) {
37
+ throw new HostManagementSecretError();
38
+ }
39
+ const partition = createHash('sha256').update(JSON.stringify([resolve(options.stateRoot), options.bootstrapId])).digest('hex');
40
+ const key = credentialKey('anp-identity-manager', `management-broker-${partition}`);
41
+ let disposed = false;
42
+ let observedKey = false;
43
+ const assertActive = async () => {
44
+ if (disposed || !options.context.credentials)
45
+ throw new HostManagementSecretError();
46
+ await options.assertActive?.();
47
+ if (disposed || !options.context.credentials)
48
+ throw new HostManagementSecretError();
49
+ };
50
+ return {
51
+ async getKey() {
52
+ let bytes;
53
+ try {
54
+ await assertActive();
55
+ const provider = options.context.credentials;
56
+ if (!provider)
57
+ throw new HostManagementSecretError();
58
+ // modifyRecord re-reads under the provider's writer lock; readRecord may be a process-local cache.
59
+ const record = await provider.modifyRecord(key, async (current) => {
60
+ await assertActive();
61
+ if (current !== undefined) {
62
+ const currentBytes = decodeKey(current);
63
+ currentBytes.fill(0);
64
+ return undefined;
65
+ }
66
+ if (observedKey || await options.hasExistingCiphertext())
67
+ throw new HostManagementSecretError();
68
+ await assertActive();
69
+ const generated = randomBytes(32);
70
+ try {
71
+ return { kind: 'api-key', key: generated.toString('base64url') };
72
+ }
73
+ finally {
74
+ generated.fill(0);
75
+ }
76
+ });
77
+ bytes = decodeKey(record);
78
+ observedKey = true;
79
+ await assertActive();
80
+ return Buffer.from(bytes);
81
+ }
82
+ catch {
83
+ throw new HostManagementSecretError();
84
+ }
85
+ finally {
86
+ bytes?.fill(0);
87
+ }
88
+ },
89
+ dispose() { disposed = true; },
90
+ };
91
+ }
92
+ //# sourceMappingURL=host-management-secret.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-management-secret.js","sourceRoot":"","sources":["../src/host-management-secret.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,6 +1,11 @@
1
- /** Host-only ANP Identity service for DeepSeek Harness. */
1
+ import type { RegistrationServiceSettings, UpdateRegistrationServiceSettings } from './registration-service-types.js';
2
+ import type { PapCallbackManagementOperations } from './pap-callback.js';
3
+ import { type ManagementCredentialBroker, type LocalRegistrationInput } from './management-driver.js';
4
+ import type { ProtocolUsePolicy, ProtocolIdentityClient, PapHostConsumer } from './protocol-client.js';
5
+ import type { PublicationBackend } from './publication-types.js';
2
6
  import { Service, type Context } from '@deepseek-ai/cordis';
3
7
  import z from '@deepseek-ai/schemastery';
8
+ import type { IdentityReference } from '@agent-network-protocol/anp-identity';
4
9
  import type { UserIdentityClient } from './user-client.js';
5
10
  import type { IdentityManagement } from './management-types.js';
6
11
  import { type AnpIdentityService as AnpIdentityServiceContract, type HostProviderLease, type ProviderRequest } from './provider-api.js';
@@ -17,26 +22,34 @@ declare module '@deepseek-ai/cordis' {
17
22
  }
18
23
  }
19
24
  export interface Config {
25
+ readonly signerMode?: 'local';
20
26
  /** Absolute ANP Identity Store root. Defaults below DSH_HOME. */
21
27
  readonly stateRoot?: string;
22
28
  /** Exact same-process consumer names permitted to acquire leases. */
23
29
  readonly allowConsumers?: string[];
24
30
  /** Narrow Host-only consumers permitted to acquire Provider leases. */
25
31
  readonly allowProviderConsumers?: string[];
26
- /** Exact HTTPS origins permitted per consumer for authenticated HTTP. */
32
+ /** HTTPS origins per consumer; explicit User consumers may opt into '*' with user approval. */
27
33
  readonly httpAllowedOrigins?: Record<string, string[]>;
28
34
  /** Run native Store recovery when a Provider opens. */
29
35
  readonly recoveryOnOpen?: boolean;
30
36
  /** Installed plugin identifiers requiring explicit user decisions instead of legacy access. */
37
+ readonly oauthAllowedAudiences?: Record<string, string[]>;
31
38
  readonly userConsumers?: string[];
39
+ readonly protocolPolicies?: ProtocolUsePolicy[];
32
40
  }
33
41
  export declare const Config: z<Config>;
34
42
  /** One multi-DID ANP Identity service with a replaceable native Provider. */
35
43
  export declare class AnpIdentityService extends Service implements AnpIdentityServiceContract {
36
44
  static Config: z<Config>;
37
45
  private readonly resolvedConfig;
46
+ private readonly registrationSettings;
38
47
  private readonly catalogStore;
39
48
  private providerSlot;
49
+ private readonly publications;
50
+ private readonly publicationBackends;
51
+ private readonly papCallbackAuthorities;
52
+ private readonly protocols;
40
53
  private readonly users;
41
54
  private readonly hostContext;
42
55
  private readonly disabledFences;
@@ -70,8 +83,55 @@ export declare class AnpIdentityService extends Service implements AnpIdentitySe
70
83
  private awaitProvider;
71
84
  /** Host-bound ordinary facade; request inputs never select a caller. */
72
85
  bindUserConsumer(context: Context): UserIdentityClient;
86
+ bindProtocolConsumer(context: Context): ProtocolIdentityClient;
87
+ /** Bind the actual installed PAP Host. Private callback access additionally requires its current opaque target.
88
+ * @param context - Original Loader-installed PAP plugin Context.
89
+ * @returns Public identity selection and target-bound, closed callback operations.
90
+ */
91
+ bindPapHostConsumer(context: Context): PapHostConsumer;
92
+ /** Install a real device-authorized backend; the document id comes from authenticated resolve. */
93
+ configureManagedPublicationBackend(context: Context, name: string, input: {
94
+ reference: IdentityReference;
95
+ origin: string;
96
+ credentials: ManagementCredentialBroker;
97
+ fetch?: typeof fetch;
98
+ }): Promise<{
99
+ backend: string;
100
+ documentId: string;
101
+ callbackManagement: PapCallbackManagementOperations;
102
+ dispose: () => void;
103
+ }>;
104
+ /** Register the public local Manifest through User Service and persist its verified management credential. */
105
+ registerLocalIdentity(context: Context, input: {
106
+ reference: IdentityReference;
107
+ origin: string;
108
+ credentials: ManagementCredentialBroker;
109
+ registration: LocalRegistrationInput;
110
+ managementAudience?: string;
111
+ handleDomain?: string;
112
+ fetch?: typeof fetch;
113
+ /** Optional tighter Host lifecycle fence, never a source of management authority. */
114
+ assertActive?: () => void;
115
+ }): Promise<{
116
+ did: string;
117
+ deviceId: string;
118
+ state: 'registered';
119
+ }>;
120
+ /** Manager-only registration preferences; ordinary consumer capabilities never expose these methods. */
121
+ registrationServiceSettings(context: Context): Promise<RegistrationServiceSettings>;
122
+ configureRegistrationService(context: Context, input: UpdateRegistrationServiceSettings): Promise<RegistrationServiceSettings>;
123
+ resolveRegistrationServiceOrigin(context: Context, key: string, fingerprint: string): Promise<string>;
124
+ /** Pin the actual ready provider for an approved local identity and the original manager Context.
125
+ * @param context - Original root-installed manager Context.
126
+ * @param reference - Local identity whose current provider is being pinned.
127
+ * @param additionalCheck - Optional stricter Host lifecycle check.
128
+ * @returns A synchronous fence that never switches to a replacement provider.
129
+ */
130
+ pinManagementContext(context: Context, reference: IdentityReference, additionalCheck?: () => void): Promise<() => void>;
73
131
  /** Host-only manager; the ordinary consumer facade never exposes this object. */
74
- acquireManagement(): IdentityManagement;
132
+ registerPublicationBackend(context: Context, name: string, backend: PublicationBackend): () => void;
133
+ private assertManagementContext;
134
+ acquireManagement(context?: Context, additionalCheck?: () => void): IdentityManagement;
75
135
  private assertNoHostAssociations;
76
136
  private managementIdentities;
77
137
  private installedEntries;
@@ -81,6 +141,8 @@ export declare class AnpIdentityService extends Service implements AnpIdentitySe
81
141
  private assertLegacyConsumer;
82
142
  private assertLegacyCallerContext;
83
143
  private withUserNative;
144
+ private withProtocolNative;
145
+ private withPublicationNative;
84
146
  private userSnapshot;
85
147
  private createConfirmed;
86
148
  private reconcileConfirmed;
@@ -89,4 +151,12 @@ export declare class AnpIdentityService extends Service implements AnpIdentitySe
89
151
  private disposeSlot;
90
152
  }
91
153
  export default AnpIdentityService;
154
+ export { createPublicationBackend } from './publication-http.js';
155
+ export type { PublicationConfig, PublicationBackend, OAuthClientIdentity } from './publication-types.js';
156
+ export { EncryptedManagementCredentialBroker } from './management-credentials.js';
157
+ export { createManagedPublicationDriver, registerLocalIdentity } from './management-driver.js';
158
+ export type { ManagementCredentialBroker, DeviceManagementCredential, LocalRegistrationInput } from './management-driver.js';
159
+ export type { PapHostConsumer } from './protocol-client.js';
160
+ export { PapCallbackManagementError } from './pap-callback.js';
161
+ export type { PapCallbackRegistration, PapCallbackClaim, PapCallbackRegistrationResult, PapCallbackClaimResult, PapCallbackRegisterOperation, PapCallbackClaimOperation, PapCallbackManagementOperations, PapCallbackManagementErrorCode } from './pap-callback.js';
92
162
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}