@adonis-agora/agent 0.94.0 → 0.96.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.
Files changed (156) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/assets/spa/assets/{index-DUq09Q_k.js → index-DBu17cDY.js} +1 -1
  3. package/dist/assets/spa/index.html +1 -1
  4. package/dist/providers/poppy_connections_provider.d.ts +1 -1
  5. package/dist/providers/poppy_connections_provider.js +1 -1
  6. package/dist/providers/poppy_provider.d.ts +1 -1
  7. package/dist/providers/poppy_provider.d.ts.map +1 -1
  8. package/dist/providers/poppy_provider.js +6 -6
  9. package/dist/providers/poppy_provider.js.map +1 -1
  10. package/dist/src/index.d.ts +1 -1
  11. package/dist/src/index.js +1 -1
  12. package/dist/src/mcp/auth.d.ts +3 -3
  13. package/dist/src/mcp/auth.d.ts.map +1 -1
  14. package/dist/src/mcp/auth.js +2 -29
  15. package/dist/src/mcp/auth.js.map +1 -1
  16. package/dist/src/mcp/discovery.d.ts +3 -3
  17. package/dist/src/mcp/discovery.d.ts.map +1 -1
  18. package/dist/src/mcp/discovery.js +2 -2
  19. package/dist/src/poppy/auth.d.ts +20 -16
  20. package/dist/src/poppy/auth.d.ts.map +1 -1
  21. package/dist/src/poppy/auth.js.map +1 -1
  22. package/dist/src/poppy/conversations.d.ts +25 -25
  23. package/dist/src/poppy/conversations.d.ts.map +1 -1
  24. package/dist/src/poppy/conversations.js +37 -37
  25. package/dist/src/poppy/conversations.js.map +1 -1
  26. package/dist/src/poppy/define_config.d.ts +7 -7
  27. package/dist/src/poppy/define_config.d.ts.map +1 -1
  28. package/dist/src/poppy/define_config.js +1 -1
  29. package/dist/src/poppy/endpoints.d.ts +2 -2
  30. package/dist/src/poppy/endpoints.js +1 -1
  31. package/dist/src/poppy/handler.d.ts +5 -5
  32. package/dist/src/poppy/handler.d.ts.map +1 -1
  33. package/dist/src/poppy/handler.js +23 -21
  34. package/dist/src/poppy/handler.js.map +1 -1
  35. package/dist/src/poppy/index.d.ts +2 -2
  36. package/dist/src/poppy/index.d.ts.map +1 -1
  37. package/dist/src/poppy/index.js +1 -1
  38. package/dist/src/poppy/index.js.map +1 -1
  39. package/dist/src/poppy/protocol.d.ts +30 -23
  40. package/dist/src/poppy/protocol.d.ts.map +1 -1
  41. package/dist/src/poppy/protocol.js +16 -17
  42. package/dist/src/poppy/protocol.js.map +1 -1
  43. package/dist/src/poppy/redis-store.d.ts +1 -1
  44. package/dist/src/poppy/redis-store.js +1 -1
  45. package/dist/src/poppy/store.d.ts +7 -7
  46. package/dist/src/poppy/store.js +1 -1
  47. package/dist/src/poppy-client/api.d.ts +5 -4
  48. package/dist/src/poppy-client/api.d.ts.map +1 -1
  49. package/dist/src/poppy-client/api.js +14 -9
  50. package/dist/src/poppy-client/api.js.map +1 -1
  51. package/dist/src/poppy-client/browser.d.ts +12 -18
  52. package/dist/src/poppy-client/browser.d.ts.map +1 -1
  53. package/dist/src/poppy-client/browser.js +33 -73
  54. package/dist/src/poppy-client/browser.js.map +1 -1
  55. package/dist/src/poppy-client/cli/main.d.ts.map +1 -1
  56. package/dist/src/poppy-client/cli/main.js +48 -56
  57. package/dist/src/poppy-client/cli/main.js.map +1 -1
  58. package/dist/src/poppy-client/company.d.ts +43 -28
  59. package/dist/src/poppy-client/company.d.ts.map +1 -1
  60. package/dist/src/poppy-client/company.js +216 -160
  61. package/dist/src/poppy-client/company.js.map +1 -1
  62. package/dist/src/poppy-client/conversations.d.ts +12 -13
  63. package/dist/src/poppy-client/conversations.d.ts.map +1 -1
  64. package/dist/src/poppy-client/conversations.js +24 -22
  65. package/dist/src/poppy-client/conversations.js.map +1 -1
  66. package/dist/src/poppy-client/discovery.d.ts +32 -10
  67. package/dist/src/poppy-client/discovery.d.ts.map +1 -1
  68. package/dist/src/poppy-client/discovery.js +134 -68
  69. package/dist/src/poppy-client/discovery.js.map +1 -1
  70. package/dist/src/poppy-client/dpop.d.ts +2 -1
  71. package/dist/src/poppy-client/dpop.d.ts.map +1 -1
  72. package/dist/src/poppy-client/dpop.js +2 -1
  73. package/dist/src/poppy-client/dpop.js.map +1 -1
  74. package/dist/src/poppy-client/errors.d.ts +5 -4
  75. package/dist/src/poppy-client/errors.d.ts.map +1 -1
  76. package/dist/src/poppy-client/errors.js +5 -4
  77. package/dist/src/poppy-client/errors.js.map +1 -1
  78. package/dist/src/poppy-client/http.d.ts +4 -2
  79. package/dist/src/poppy-client/http.d.ts.map +1 -1
  80. package/dist/src/poppy-client/http.js +9 -5
  81. package/dist/src/poppy-client/http.js.map +1 -1
  82. package/dist/src/poppy-client/identity.d.ts +15 -15
  83. package/dist/src/poppy-client/identity.d.ts.map +1 -1
  84. package/dist/src/poppy-client/identity.js +17 -33
  85. package/dist/src/poppy-client/identity.js.map +1 -1
  86. package/dist/src/poppy-client/index.d.ts +6 -3
  87. package/dist/src/poppy-client/index.d.ts.map +1 -1
  88. package/dist/src/poppy-client/index.js +6 -3
  89. package/dist/src/poppy-client/index.js.map +1 -1
  90. package/dist/src/poppy-client/llm.js +4 -4
  91. package/dist/src/poppy-client/llm.js.map +1 -1
  92. package/dist/src/poppy-client/mcp.d.ts +3 -4
  93. package/dist/src/poppy-client/mcp.d.ts.map +1 -1
  94. package/dist/src/poppy-client/mcp.js +26 -38
  95. package/dist/src/poppy-client/mcp.js.map +1 -1
  96. package/dist/src/poppy-client/safe_fetch.d.ts +30 -0
  97. package/dist/src/poppy-client/safe_fetch.d.ts.map +1 -0
  98. package/dist/src/poppy-client/safe_fetch.js +210 -0
  99. package/dist/src/poppy-client/safe_fetch.js.map +1 -0
  100. package/dist/src/poppy-client/session_jwt.d.ts +20 -0
  101. package/dist/src/poppy-client/session_jwt.d.ts.map +1 -0
  102. package/dist/src/poppy-client/session_jwt.js +37 -0
  103. package/dist/src/poppy-client/session_jwt.js.map +1 -0
  104. package/dist/src/poppy-client/signin.d.ts +34 -11
  105. package/dist/src/poppy-client/signin.d.ts.map +1 -1
  106. package/dist/src/poppy-client/signin.js +134 -80
  107. package/dist/src/poppy-client/signin.js.map +1 -1
  108. package/dist/src/poppy-client/store.d.ts +23 -11
  109. package/dist/src/poppy-client/store.d.ts.map +1 -1
  110. package/dist/src/poppy-client/store.js +1 -1
  111. package/dist/src/poppy-client/store.js.map +1 -1
  112. package/dist/src/poppy-client/task_coverage.d.ts +13 -0
  113. package/dist/src/poppy-client/task_coverage.d.ts.map +1 -0
  114. package/dist/src/poppy-client/task_coverage.js +66 -0
  115. package/dist/src/poppy-client/task_coverage.js.map +1 -0
  116. package/dist/src/poppy-client/token_client.d.ts +36 -33
  117. package/dist/src/poppy-client/token_client.d.ts.map +1 -1
  118. package/dist/src/poppy-client/token_client.js +47 -47
  119. package/dist/src/poppy-client/token_client.js.map +1 -1
  120. package/dist/src/poppy-client/types.d.ts +81 -42
  121. package/dist/src/poppy-client/types.d.ts.map +1 -1
  122. package/dist/src/poppy-client/types.js +1 -1
  123. package/dist/src/poppy-client/util.d.ts +12 -3
  124. package/dist/src/poppy-client/util.d.ts.map +1 -1
  125. package/dist/src/poppy-client/util.js +29 -9
  126. package/dist/src/poppy-client/util.js.map +1 -1
  127. package/dist/src/poppy-connections/config.d.ts +2 -2
  128. package/dist/src/poppy-connections/config.js +1 -1
  129. package/dist/src/poppy-connections/config.js.map +1 -1
  130. package/dist/src/poppy-connections/crypto.d.ts +2 -2
  131. package/dist/src/poppy-connections/crypto.js +2 -2
  132. package/dist/src/poppy-connections/index.d.ts +1 -1
  133. package/dist/src/poppy-connections/index.js +1 -1
  134. package/dist/src/poppy-connections/service.d.ts +11 -10
  135. package/dist/src/poppy-connections/service.d.ts.map +1 -1
  136. package/dist/src/poppy-connections/service.js +33 -21
  137. package/dist/src/poppy-connections/service.js.map +1 -1
  138. package/dist/src/poppy-connections/store.d.ts +2 -2
  139. package/dist/src/poppy-connections/tools.d.ts.map +1 -1
  140. package/dist/src/poppy-connections/tools.js +5 -4
  141. package/dist/src/poppy-connections/tools.js.map +1 -1
  142. package/dist/src/rag/index.d.ts +1 -0
  143. package/dist/src/rag/index.d.ts.map +1 -1
  144. package/dist/src/rag/index.js +1 -0
  145. package/dist/src/rag/index.js.map +1 -1
  146. package/dist/src/rag/pg-vector-store.d.ts +8 -0
  147. package/dist/src/rag/pg-vector-store.d.ts.map +1 -1
  148. package/dist/src/rag/pg-vector-store.js +14 -5
  149. package/dist/src/rag/pg-vector-store.js.map +1 -1
  150. package/dist/src/rag/with-rag.d.ts +75 -0
  151. package/dist/src/rag/with-rag.d.ts.map +1 -0
  152. package/dist/src/rag/with-rag.js +132 -0
  153. package/dist/src/rag/with-rag.js.map +1 -0
  154. package/package.json +9 -9
  155. package/skills/agent-governance/SKILL.md +3 -3
  156. package/skills/agent-tools/SKILL.md +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe_fetch.js","sourceRoot":"","sources":["../../../src/poppy-client/safe_fetch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { type StoredKey } from './keys.js';
2
+ export declare const SESSION_JWT_TYP = "poppy-session+jwt";
3
+ /**
4
+ * The `Poppy-Session` JWT for one request (5.2), signed with the delegated key and carrying its
5
+ * delegation in `pap_dlg`. `kid` is the delegated key's thumbprint, which `StoredKey.kid` holds.
6
+ */
7
+ export declare function signSessionJwt(input: {
8
+ key: StoredKey;
9
+ delegation: string;
10
+ clientId: string;
11
+ /** The Company's identifier (3.2). */
12
+ audience: string;
13
+ sid: string;
14
+ userId: string;
15
+ agentId?: string | undefined;
16
+ method: string;
17
+ url: string | URL;
18
+ accessToken?: string | undefined;
19
+ }): Promise<string>;
20
+ //# sourceMappingURL=session_jwt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session_jwt.d.ts","sourceRoot":"","sources":["../../../src/poppy-client/session_jwt.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAG7D,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,GAAG,EAAE,SAAS,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,GAAG,OAAO,CAAC,MAAM,CAAC,CAElB"}
@@ -0,0 +1,37 @@
1
+ import { SignJWT } from 'jose';
2
+ import { htuOf } from './dpop.js';
3
+ import { importSigningKey } from './keys.js';
4
+ import { nowSeconds, randomId, sha256b64url } from './util.js';
5
+ export const SESSION_JWT_TYP = 'poppy-session+jwt';
6
+ /**
7
+ * The `Poppy-Session` JWT for one request (5.2), signed with the delegated key and carrying its
8
+ * delegation in `pap_dlg`. `kid` is the delegated key's thumbprint, which `StoredKey.kid` holds.
9
+ */
10
+ export function signSessionJwt(input) {
11
+ return signWith(input);
12
+ }
13
+ async function signWith(input) {
14
+ const claims = {
15
+ iss: input.clientId,
16
+ aud: input.audience,
17
+ sid: input.sid,
18
+ sub: input.userId,
19
+ htm: input.method.toUpperCase(),
20
+ htu: htuOf(input.url),
21
+ iat: nowSeconds(),
22
+ jti: randomId(),
23
+ };
24
+ if (input.agentId)
25
+ claims.agent_id = input.agentId;
26
+ if (input.accessToken)
27
+ claims.ath = sha256b64url(input.accessToken);
28
+ return new SignJWT(claims)
29
+ .setProtectedHeader({
30
+ typ: SESSION_JWT_TYP,
31
+ alg: 'ES256',
32
+ kid: input.key.kid,
33
+ pap_dlg: input.delegation,
34
+ })
35
+ .sign(await importSigningKey(input.key));
36
+ }
37
+ //# sourceMappingURL=session_jwt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session_jwt.js","sourceRoot":"","sources":["../../../src/poppy-client/session_jwt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAkB,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE/D,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAEnD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAY9B;IACC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,KAA2C;IACjE,MAAM,MAAM,GAA4B;QACtC,GAAG,EAAE,KAAK,CAAC,QAAQ;QACnB,GAAG,EAAE,KAAK,CAAC,QAAQ;QACnB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,GAAG,EAAE,KAAK,CAAC,MAAM;QACjB,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE;QAC/B,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;QACrB,GAAG,EAAE,UAAU,EAAE;QACjB,GAAG,EAAE,QAAQ,EAAE;KAChB,CAAC;IACF,IAAI,KAAK,CAAC,OAAO;QAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;IACnD,IAAI,KAAK,CAAC,WAAW;QAAE,MAAM,CAAC,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpE,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;SACvB,kBAAkB,CAAC;QAClB,GAAG,EAAE,eAAe;QACpB,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG;QAClB,OAAO,EAAE,KAAK,CAAC,UAAU;KAC1B,CAAC;SACD,IAAI,CAAC,MAAM,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,6 +1,15 @@
1
1
  import type { CompanyClient, SignInResult } from './company.js';
2
+ import type { MediatedExtension } from './types.js';
2
3
  export type SignInType = 'direct' | 'device' | 'mediated';
3
- /** The sign-in types this Company offers that can grant every requested scope (4.4). */
4
+ export declare const MEDIATED_EXTENSION = "mediated-sign-in";
5
+ /** The `mediated-sign-in` extension, when both `poppy.json` and the issuer offer it. */
6
+ export declare function mediatedExtension(company: CompanyClient): MediatedExtension | undefined;
7
+ /** The sign-in types the Company offers (4): the issuer's grants, plus the extension. */
8
+ export declare function offeredSignInTypes(company: CompanyClient): SignInType[];
9
+ /**
10
+ * The sign-in types that can be used for `scope`. Direct and Device grant what the issuer's policies
11
+ * allow; only Mediated keeps its own list. They come in the order to prefer them (extension, 6).
12
+ */
4
13
  export declare function eligibleSignInTypes(company: CompanyClient, scope: string): SignInType[];
5
14
  export interface PendingDirectSignIn {
6
15
  url: string;
@@ -10,16 +19,21 @@ export interface PendingDirectSignIn {
10
19
  scope: string;
11
20
  issuer: string;
12
21
  }
13
- /** Step 1 of 4.5: PKCE (S256) + random `state`, and the authorization URL to open. */
22
+ /** Direct Sign-In (4.2): PKCE (S256) + random `state`, and the authorization URL to open. */
14
23
  export declare function startDirectSignIn(company: CompanyClient, scope: string): Promise<PendingDirectSignIn>;
15
24
  /**
16
- * Steps 3–4 of 4.5: checks `state` and the RFC 9207 `iss` (exact match with the issuer we
17
- * started with), then exchanges the code with PKCE, DPoP and `session_id`.
25
+ * The redirect back (4.2): checks `state` and the RFC 9207 `iss` (exact match with the issuer we
26
+ * started with), then exchanges the code with PKCE.
18
27
  */
19
28
  export declare function completeDirectSignIn(company: CompanyClient, pending: PendingDirectSignIn, callback: URLSearchParams): Promise<SignInResult>;
20
29
  export interface DeviceSignInOptions {
21
30
  /** Shows the link and code to the User. `device_code` is never passed here. */
31
+ /** MUST show the Company's name and domain with the link (4.3). */
22
32
  display: (info: {
33
+ organization: {
34
+ name: string;
35
+ domain: string;
36
+ };
23
37
  userCode: string;
24
38
  verificationUri: string;
25
39
  verificationUriComplete?: string | undefined;
@@ -30,10 +44,15 @@ export interface DeviceSignInOptions {
30
44
  sleep?: ((ms: number, signal?: AbortSignal) => Promise<void>) | undefined;
31
45
  onPoll?: ((status: 'authorization_pending' | 'slow_down', intervalSeconds: number) => void) | undefined;
32
46
  }
47
+ /**
48
+ * Before showing a device link (4.3): its host is the issuer's or one in `protected_resources`, or
49
+ * a subdomain of either. Otherwise a Company could pass off another's sign-in page as its own.
50
+ */
51
+ export declare function assertDeviceLinkHost(company: CompanyClient, link: string): void;
33
52
  /** RFC 8628 device flow: start, show the code, poll every `interval`, +5s on `slow_down`. */
34
53
  export declare function deviceSignIn(company: CompanyClient, scope: string, opts: DeviceSignInOptions): Promise<SignInResult>;
35
54
  /**
36
- * One device-code exchange (4.6), for a server that cannot hold a polling loop open (the user
55
+ * One device-code exchange (4.3), for a server that cannot hold a polling loop open (the user
37
56
  * comes back and says "approved"): `'pending'` while the User has not decided, the sign-in when
38
57
  * they approved. `access_denied` / `expired_token` throw.
39
58
  */
@@ -45,15 +64,19 @@ export type MediatedOutcome = {
45
64
  status: 'code_required';
46
65
  signInId: string;
47
66
  sentTo?: string | undefined;
48
- expiresAt?: string | undefined;
49
- } | {
50
- status: 'failed' | 'expired';
67
+ /** Seconds until the sign-in expires. */
68
+ expiresIn?: number | undefined;
69
+ }
70
+ /** `invalid_grant`, `expired_token`, `access_denied`. */
71
+ | {
72
+ status: 'failed' | 'expired' | 'denied';
51
73
  };
52
74
  /**
53
- * Mediated Sign-In (4.7). Credentials go ONLY to `auth.mediated.endpoint`, with the current
54
- * Session Token. Secret values are never logged or echoed by this module.
75
+ * Mediated Sign-In (extension). Credentials go ONLY to the issuer's token endpoint, with this
76
+ * grant. Secret values are never logged or echoed by this module. Transitional: prefer Direct or
77
+ * Device when they cover the task.
55
78
  */
56
79
  export declare function mediatedSignIn(company: CompanyClient, scope: string, credentials: Record<string, string>): Promise<MediatedOutcome>;
57
- /** Submits only the one-time code, to `{endpoint}/{sign_in_id}` (4.7). */
80
+ /** Sends the one-time code; the sign-in keeps the scopes of the first request (section 4). */
58
81
  export declare function submitMediatedCode(company: CompanyClient, scope: string, signInId: string, code: string): Promise<MediatedOutcome>;
59
82
  //# sourceMappingURL=signin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signin.d.ts","sourceRoot":"","sources":["../../../src/poppy-client/signin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAMhE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE1D,wFAAwF;AACxF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAOvF;AAmBD,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sFAAsF;AACtF,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,mBAAmB,CAAC,CAkB9B;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,YAAY,CAAC,CA2BvB;AAuBD,MAAM,WAAW,mBAAmB;IAClC,+EAA+E;IAC/E,OAAO,EAAE,CAAC,IAAI,EAAE;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,uBAAuB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7C,SAAS,EAAE,MAAM,CAAC;KACnB,KAAK,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,sBAAsB;IACtB,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IAC1E,MAAM,CAAC,EACH,CAAC,CAAC,MAAM,EAAE,uBAAuB,GAAG,WAAW,EAAE,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC,GAClF,SAAS,CAAC;CACf;AAED,6FAA6F;AAC7F,wBAAsB,YAAY,CAChC,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,YAAY,CAAC,CAsCvB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAYnC;AAID,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GAC5C;IACE,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,GACD;IAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAA;CAAE,CAAC;AA8CrC;;;GAGG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO,CAAC,eAAe,CAAC,CAc1B;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,eAAe,CAAC,CAG1B"}
1
+ {"version":3,"file":"signin.d.ts","sourceRoot":"","sources":["../../../src/poppy-client/signin.ts"],"names":[],"mappings":"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"}
@@ -1,36 +1,61 @@
1
1
  import { randomBytes } from 'node:crypto';
2
2
  import { OAuthError, PoppyError } from './errors.js';
3
- import { readJson } from './http.js';
3
+ import { GRANT_DEVICE_CODE, GRANT_MEDIATED_SIGN_IN } from './token_client.js';
4
4
  import { requireSecureUrl, scopeSet, sha256b64url, sleep } from './util.js';
5
- /** The sign-in types this Company offers that can grant every requested scope (4.4). */
5
+ export const MEDIATED_EXTENSION = 'mediated-sign-in';
6
+ /** The `mediated-sign-in` extension, when both `poppy.json` and the issuer offer it. */
7
+ export function mediatedExtension(company) {
8
+ const entry = company.document.extensions?.[MEDIATED_EXTENSION];
9
+ if (entry?.version !== '1' || !company.discovered.metadata)
10
+ return undefined;
11
+ if (!company.metadata.grant_types_supported.includes(GRANT_MEDIATED_SIGN_IN))
12
+ return undefined;
13
+ if (!Array.isArray(entry.fields) || !Array.isArray(entry.scopes))
14
+ return undefined;
15
+ return entry;
16
+ }
17
+ /** The sign-in types the Company offers (4): the issuer's grants, plus the extension. */
18
+ export function offeredSignInTypes(company) {
19
+ const grants = company.discovered.metadata?.grant_types_supported ?? [];
20
+ const out = [];
21
+ if (grants.includes('authorization_code'))
22
+ out.push('direct');
23
+ if (grants.includes(GRANT_DEVICE_CODE))
24
+ out.push('device');
25
+ if (mediatedExtension(company))
26
+ out.push('mediated');
27
+ return out;
28
+ }
29
+ /**
30
+ * The sign-in types that can be used for `scope`. Direct and Device grant what the issuer's policies
31
+ * allow; only Mediated keeps its own list. They come in the order to prefer them (extension, 6).
32
+ */
6
33
  export function eligibleSignInTypes(company, scope) {
7
- const auth = company.document.auth;
8
34
  const wanted = [...scopeSet(scope)];
9
- return ['direct', 'device', 'mediated'].filter((t) => {
10
- const cfg = auth[t];
11
- return cfg && wanted.every((s) => cfg.scopes.includes(s));
12
- });
35
+ return offeredSignInTypes(company).filter((t) => t !== 'mediated' ||
36
+ wanted.every((s) => (mediatedExtension(company)?.scopes ?? []).includes(s)));
13
37
  }
14
38
  function assertScopeAllowed(company, type, scope) {
15
- const cfg = company.document.auth[type];
16
- if (!cfg)
39
+ if (!offeredSignInTypes(company).includes(type)) {
17
40
  throw new PoppyError('unsupported_sign_in', `${type} sign-in is not offered`);
41
+ }
18
42
  if (scopeSet(scope).size === 0) {
19
- throw new PoppyError('invalid_scope', 'sign-in requests MUST include scope (4.4)');
43
+ throw new PoppyError('invalid_scope', 'sign-in requests MUST include scope (4.7)');
20
44
  }
21
- const extra = [...scopeSet(scope)].filter((s) => !cfg.scopes.includes(s));
45
+ if (type !== 'mediated')
46
+ return;
47
+ const offered = mediatedExtension(company)?.scopes ?? [];
48
+ const extra = [...scopeSet(scope)].filter((s) => !offered.includes(s));
22
49
  if (extra.length > 0) {
23
- throw new PoppyError('invalid_scope', `${type} sign-in can't grant ${extra.join(', ')} (offers: ${cfg.scopes.join(' ')})`);
50
+ throw new PoppyError('invalid_scope', `mediated sign-in can't grant ${extra.join(', ')} (offers: ${offered.join(' ')})`);
24
51
  }
25
52
  }
26
- /** Step 1 of 4.5: PKCE (S256) + random `state`, and the authorization URL to open. */
53
+ /** Direct Sign-In (4.2): PKCE (S256) + random `state`, and the authorization URL to open. */
27
54
  export async function startDirectSignIn(company, scope) {
28
55
  assertScopeAllowed(company, 'direct', scope);
29
56
  const endpoint = company.metadata.authorization_endpoint;
30
57
  if (!endpoint)
31
58
  throw new PoppyError('unsupported_sign_in', 'no authorization_endpoint');
32
- // Make sure there is a Session for the code exchange to sign in.
33
- await company.token();
34
59
  const state = randomBytes(16).toString('base64url');
35
60
  const codeVerifier = randomBytes(32).toString('base64url');
36
61
  const redirectUri = company.agent.identity.redirectUri;
@@ -42,11 +67,18 @@ export async function startDirectSignIn(company, scope) {
42
67
  url.searchParams.set('state', state);
43
68
  url.searchParams.set('code_challenge', sha256b64url(codeVerifier));
44
69
  url.searchParams.set('code_challenge_method', 'S256');
45
- return { url: url.toString(), state, codeVerifier, redirectUri, scope, issuer: company.issuer };
70
+ return {
71
+ url: url.toString(),
72
+ state,
73
+ codeVerifier,
74
+ redirectUri,
75
+ scope,
76
+ issuer: company.metadata.issuer,
77
+ };
46
78
  }
47
79
  /**
48
- * Steps 3–4 of 4.5: checks `state` and the RFC 9207 `iss` (exact match with the issuer we
49
- * started with), then exchanges the code with PKCE, DPoP and `session_id`.
80
+ * The redirect back (4.2): checks `state` and the RFC 9207 `iss` (exact match with the issuer we
81
+ * started with), then exchanges the code with PKCE.
50
82
  */
51
83
  export async function completeDirectSignIn(company, pending, callback) {
52
84
  if (callback.get('state') !== pending.state) {
@@ -63,37 +95,46 @@ export async function completeDirectSignIn(company, pending, callback) {
63
95
  const code = callback.get('code');
64
96
  if (!code)
65
97
  throw new PoppyError('invalid_callback', 'callback has neither code nor error');
66
- const resp = await withLiveSession(company, (sessionId) => company.tokens.authorizationCode({
98
+ const resp = await company.tokens.authorizationCode({
67
99
  code,
68
100
  redirectUri: pending.redirectUri,
69
101
  codeVerifier: pending.codeVerifier,
70
- sessionId,
71
- dpop: company.dpop,
72
- }));
102
+ scope: pending.scope,
103
+ dpop: company.tokenDpop(),
104
+ });
73
105
  return company.applySignIn(resp, 'direct', pending.scope);
74
106
  }
75
107
  /**
76
- * Runs a sign-in exchange with the current Session. The stored Session may have ended at the
77
- * Company (expired, ended, the Company's data reset) — 4.2: on `invalid_session` the agent starts a
78
- * new Session and the exchange is retried once with it (the code is not consumed by the refusal).
108
+ * Before showing a device link (4.3): its host is the issuer's or one in `protected_resources`, or
109
+ * a subdomain of either. Otherwise a Company could pass off another's sign-in page as its own.
79
110
  */
80
- async function withLiveSession(company, exchange) {
81
- const sessionId = (await company.token()).sessionId;
82
- try {
83
- return await exchange(sessionId);
84
- }
85
- catch (e) {
86
- if (!(e instanceof OAuthError) || e.code !== 'invalid_session')
87
- throw e;
88
- company.agent.log('invalid_session during sign-in: starting a new Session');
89
- return exchange((await company.token({ forceRenew: true })).sessionId);
111
+ export function assertDeviceLinkHost(company, link) {
112
+ requireSecureUrl(link, 'verification_uri', company.security);
113
+ const host = new URL(link).hostname.toLowerCase();
114
+ const allowed = [company.metadata.issuer, ...company.metadata.protected_resources].flatMap((u) => {
115
+ try {
116
+ return [new URL(u).hostname.toLowerCase()];
117
+ }
118
+ catch {
119
+ return [];
120
+ }
121
+ });
122
+ if (!allowed.some((h) => host === h || host.endsWith(`.${h}`))) {
123
+ throw new PoppyError('foreign_verification_uri', `${host} isn't this Company's sign-in host`);
90
124
  }
91
125
  }
92
126
  /** RFC 8628 device flow: start, show the code, poll every `interval`, +5s on `slow_down`. */
93
127
  export async function deviceSignIn(company, scope, opts) {
94
128
  assertScopeAllowed(company, 'device', scope);
95
129
  const d = await company.tokens.deviceAuthorization(scope);
130
+ assertDeviceLinkHost(company, d.verification_uri);
131
+ if (d.verification_uri_complete)
132
+ assertDeviceLinkHost(company, d.verification_uri_complete);
96
133
  opts.display({
134
+ organization: {
135
+ name: company.document.organization.name,
136
+ domain: company.document.organization.domain,
137
+ },
97
138
  userCode: d.user_code,
98
139
  verificationUri: d.verification_uri,
99
140
  verificationUriComplete: d.verification_uri_complete,
@@ -107,11 +148,11 @@ export async function deviceSignIn(company, scope, opts) {
107
148
  if (Date.now() > deadline)
108
149
  throw new OAuthError('expired_token');
109
150
  try {
110
- const resp = await withLiveSession(company, (sessionId) => company.tokens.deviceToken({
151
+ const resp = await company.tokens.deviceToken({
111
152
  deviceCode: d.device_code,
112
- sessionId,
113
- dpop: company.dpop,
114
- }));
153
+ scope,
154
+ dpop: company.tokenDpop(),
155
+ });
115
156
  return await company.applySignIn(resp, 'device', scope);
116
157
  }
117
158
  catch (e) {
@@ -131,13 +172,17 @@ export async function deviceSignIn(company, scope, opts) {
131
172
  }
132
173
  }
133
174
  /**
134
- * One device-code exchange (4.6), for a server that cannot hold a polling loop open (the user
175
+ * One device-code exchange (4.3), for a server that cannot hold a polling loop open (the user
135
176
  * comes back and says "approved"): `'pending'` while the User has not decided, the sign-in when
136
177
  * they approved. `access_denied` / `expired_token` throw.
137
178
  */
138
179
  export async function pollDeviceSignInOnce(company, deviceCode, scope) {
139
180
  try {
140
- const resp = await withLiveSession(company, (sessionId) => company.tokens.deviceToken({ deviceCode, sessionId, dpop: company.dpop }));
181
+ const resp = await company.tokens.deviceToken({
182
+ deviceCode,
183
+ scope,
184
+ dpop: company.tokenDpop(),
185
+ });
141
186
  return await company.applySignIn(resp, 'device', scope);
142
187
  }
143
188
  catch (e) {
@@ -147,52 +192,41 @@ export async function pollDeviceSignInOnce(company, deviceCode, scope) {
147
192
  throw e;
148
193
  }
149
194
  }
150
- async function mediatedRequest(company, url, body, scope) {
151
- const res = await company.fetch(url, {
152
- method: 'POST',
153
- headers: { 'content-type': 'application/json', accept: 'application/json' },
154
- body: JSON.stringify(body),
155
- });
156
- const json = await readJson(res);
157
- if (!json || typeof json.status !== 'string') {
158
- throw new PoppyError(json?.error ?? `http_${res.status}`, undefined, {
159
- status: res.status,
160
- description: 'mediated sign-in failed',
161
- });
162
- }
163
- switch (json.status) {
164
- case 'complete': {
165
- const resp = json;
166
- if (String(resp.token_type).toLowerCase() !== 'dpop') {
167
- throw new OAuthError('invalid_response', { description: 'expected a DPoP Session Token' });
168
- }
169
- return { status: 'complete', result: await company.applySignIn(resp, 'mediated', scope) };
170
- }
171
- case 'code_required':
172
- if (!json.sign_in_id || !/^[A-Za-z0-9_-]{1,256}$/.test(json.sign_in_id)) {
195
+ /** Maps the extension's OAuth errors (section 5). Anything else, like `invalid_scope`, throws. */
196
+ function mediatedFailure(e) {
197
+ if (!(e instanceof OAuthError))
198
+ throw e;
199
+ switch (e.code) {
200
+ case 'code_required': {
201
+ const signInId = e.details?.sign_in_id;
202
+ if (typeof signInId !== 'string' || !/^[A-Za-z0-9_-]{1,256}$/.test(signInId)) {
173
203
  throw new PoppyError('invalid_response', 'code_required without a valid sign_in_id');
174
204
  }
175
205
  return {
176
206
  status: 'code_required',
177
- signInId: json.sign_in_id,
178
- sentTo: json.code?.sent_to,
179
- expiresAt: json.expires_at,
207
+ signInId,
208
+ ...(typeof e.details?.sent_to === 'string' ? { sentTo: e.details.sent_to } : {}),
209
+ ...(typeof e.details?.expires_in === 'number' ? { expiresIn: e.details.expires_in } : {}),
180
210
  };
181
- case 'failed':
182
- case 'expired':
183
- return { status: json.status };
211
+ }
212
+ case 'invalid_grant':
213
+ return { status: 'failed' };
214
+ case 'expired_token':
215
+ return { status: 'expired' };
216
+ case 'access_denied':
217
+ return { status: 'denied' };
184
218
  default:
185
- throw new PoppyError('invalid_response', `unknown mediated status ${String(json.status)}`);
219
+ throw e;
186
220
  }
187
221
  }
188
222
  /**
189
- * Mediated Sign-In (4.7). Credentials go ONLY to `auth.mediated.endpoint`, with the current
190
- * Session Token. Secret values are never logged or echoed by this module.
223
+ * Mediated Sign-In (extension). Credentials go ONLY to the issuer's token endpoint, with this
224
+ * grant. Secret values are never logged or echoed by this module. Transitional: prefer Direct or
225
+ * Device when they cover the task.
191
226
  */
192
227
  export async function mediatedSignIn(company, scope, credentials) {
193
228
  assertScopeAllowed(company, 'mediated', scope);
194
- const mediated = company.document.auth.mediated;
195
- const endpoint = requireSecureUrl(mediated.endpoint, 'auth.mediated.endpoint', company.security);
229
+ const mediated = mediatedExtension(company);
196
230
  const missing = mediated.fields.filter((f) => typeof credentials[f.name] !== 'string');
197
231
  if (missing.length > 0) {
198
232
  throw new PoppyError('missing_credentials', `missing: ${missing.map((f) => f.name).join(', ')}`);
@@ -200,11 +234,31 @@ export async function mediatedSignIn(company, scope, credentials) {
200
234
  const sent = {};
201
235
  for (const f of mediated.fields)
202
236
  sent[f.name] = credentials[f.name] ?? '';
203
- return mediatedRequest(company, endpoint.toString(), { scope, credentials: sent }, scope);
237
+ try {
238
+ const resp = await company.tokens.mediated({
239
+ scope,
240
+ credentials: sent,
241
+ dpop: company.tokenDpop(),
242
+ });
243
+ return { status: 'complete', result: await company.applySignIn(resp, 'mediated', scope) };
244
+ }
245
+ catch (e) {
246
+ return mediatedFailure(e);
247
+ }
204
248
  }
205
- /** Submits only the one-time code, to `{endpoint}/{sign_in_id}` (4.7). */
206
- export function submitMediatedCode(company, scope, signInId, code) {
207
- const base = company.document.auth.mediated.endpoint.replace(/\/+$/, '');
208
- return mediatedRequest(company, `${base}/${encodeURIComponent(signInId)}`, { code }, scope);
249
+ /** Sends the one-time code; the sign-in keeps the scopes of the first request (section 4). */
250
+ export async function submitMediatedCode(company, scope, signInId, code) {
251
+ try {
252
+ const resp = await company.tokens.mediatedCode({
253
+ signInId,
254
+ code,
255
+ scope,
256
+ dpop: company.tokenDpop(),
257
+ });
258
+ return { status: 'complete', result: await company.applySignIn(resp, 'mediated', scope) };
259
+ }
260
+ catch (e) {
261
+ return mediatedFailure(e);
262
+ }
209
263
  }
210
264
  //# sourceMappingURL=signin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signin.js","sourceRoot":"","sources":["../../../src/poppy-client/signin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signin.js","sourceRoot":"","sources":["../../../src/poppy-client/signin.ts"],"names":[],"mappings":"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"}