@aauth/proxy 0.5.0 → 1.0.1

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 (53) hide show
  1. package/dist/access-mode.d.ts +21 -0
  2. package/dist/access-mode.d.ts.map +1 -0
  3. package/dist/access-mode.js +64 -0
  4. package/dist/access-mode.js.map +1 -0
  5. package/dist/agent.d.ts +85 -6
  6. package/dist/agent.d.ts.map +1 -1
  7. package/dist/agent.js +393 -129
  8. package/dist/agent.js.map +1 -1
  9. package/dist/identity-local.d.ts.map +1 -1
  10. package/dist/identity-local.js +3 -0
  11. package/dist/identity-local.js.map +1 -1
  12. package/dist/identity.d.ts +1 -0
  13. package/dist/identity.d.ts.map +1 -1
  14. package/dist/index.d.ts +7 -4
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +4 -2
  17. package/dist/index.js.map +1 -1
  18. package/dist/jwt.d.ts +25 -0
  19. package/dist/jwt.d.ts.map +1 -0
  20. package/dist/jwt.js +77 -0
  21. package/dist/jwt.js.map +1 -0
  22. package/dist/resource.d.ts +8 -3
  23. package/dist/resource.d.ts.map +1 -1
  24. package/dist/resource.js +30 -10
  25. package/dist/resource.js.map +1 -1
  26. package/dist/store.d.ts +34 -2
  27. package/dist/store.d.ts.map +1 -1
  28. package/dist/store.js +0 -0
  29. package/dist/store.js.map +1 -1
  30. package/dist/tools.d.ts.map +1 -1
  31. package/dist/tools.js +60 -14
  32. package/dist/tools.js.map +1 -1
  33. package/dist/vocab/annotations.d.ts +30 -0
  34. package/dist/vocab/annotations.d.ts.map +1 -0
  35. package/dist/vocab/annotations.js +70 -0
  36. package/dist/vocab/annotations.js.map +1 -0
  37. package/dist/vocab/index.d.ts +1 -1
  38. package/dist/vocab/index.d.ts.map +1 -1
  39. package/dist/vocab/index.js +11 -5
  40. package/dist/vocab/index.js.map +1 -1
  41. package/dist/vocab/openapi.d.ts +4 -0
  42. package/dist/vocab/openapi.d.ts.map +1 -1
  43. package/dist/vocab/openapi.js +13 -0
  44. package/dist/vocab/openapi.js.map +1 -1
  45. package/dist/vocab/types.d.ts +18 -2
  46. package/dist/vocab/types.d.ts.map +1 -1
  47. package/dist/vocab/types.js +4 -1
  48. package/dist/vocab/types.js.map +1 -1
  49. package/package.json +2 -2
  50. package/dist/vocab/openapi-gateway.d.ts +0 -14
  51. package/dist/vocab/openapi-gateway.d.ts.map +0 -1
  52. package/dist/vocab/openapi-gateway.js +0 -70
  53. package/dist/vocab/openapi-gateway.js.map +0 -1
@@ -0,0 +1,21 @@
1
+ export type KnownAccessMode = 'agent-token' | 'person-token' | 'session-token' | 'auth-token' | 'per-call';
2
+ export declare const KNOWN_ACCESS_MODES: readonly KnownAccessMode[];
3
+ export declare function isKnownAccessMode(v: string | undefined): v is KnownAccessMode;
4
+ export interface AgentSetup {
5
+ /** false when the agent token carries no `ps` claim. */
6
+ hasPersonServer: boolean;
7
+ }
8
+ export type AccessModePlan = {
9
+ kind: 'undeclared';
10
+ } | {
11
+ kind: 'satisfiable';
12
+ mode: KnownAccessMode;
13
+ } | {
14
+ kind: 'unsatisfiable';
15
+ mode: KnownAccessMode;
16
+ reason: string;
17
+ };
18
+ export declare function planAccessMode(declared: string | undefined, setup: AgentSetup): AccessModePlan;
19
+ /** One-line reason string for a plan, for surfacing to the LLM. */
20
+ export declare function planReason(plan: AccessModePlan): string | undefined;
21
+ //# sourceMappingURL=access-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-mode.d.ts","sourceRoot":"","sources":["../src/access-mode.ts"],"names":[],"mappings":"AAuBA,MAAM,MAAM,eAAe,GACvB,aAAa,GACb,cAAc,GACd,eAAe,GACf,YAAY,GACZ,UAAU,CAAA;AAEd,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAMxD,CAAA;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,IAAI,eAAe,CAE7E;AAED,MAAM,WAAW,UAAU;IACzB,wDAAwD;IACxD,eAAe,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAKpE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,cAAc,CA2B9F;AAED,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAEnE"}
@@ -0,0 +1,64 @@
1
+ // access_mode planning.
2
+ //
3
+ // `access_mode` is an IANA registry (protocol §Resource Metadata, §AAuth Access
4
+ // Mode Value Registry), not a closed list: -11 defines four values, R3 -02 adds
5
+ // `per-call`, and extensions may add more. Three outcomes, and only three:
6
+ //
7
+ // undeclared — absent, or a value this agent does not recognize. Call the
8
+ // resource and read the AAuth-Requirement it returns. NEVER an
9
+ // error: the declaration is advisory, the runtime requirement
10
+ // is authoritative.
11
+ // satisfiable — recognized, and this agent's setup can complete it. Plan
12
+ // against it and skip the speculative call.
13
+ // unsatisfiable — recognized, and this agent cannot complete it. Skip the
14
+ // resource (or operation) and say why. An agent whose agent
15
+ // token carries no `ps` claim cannot obtain a person token,
16
+ // and so cannot complete person-token, auth-token or per-call
17
+ // access — it should learn that here, not at a 401.
18
+ //
19
+ // Mirrors the `@aauth/protocol` surface named in the AAuth -11 package contract
20
+ // (planAccessMode / AgentSetup / AccessModePlan / KnownAccessMode). Kept local
21
+ // while @aauth/protocol is unpublished; swap the implementation for an import
22
+ // when it ships — the types are identical by construction.
23
+ export const KNOWN_ACCESS_MODES = [
24
+ 'agent-token',
25
+ 'person-token',
26
+ 'session-token',
27
+ 'auth-token',
28
+ 'per-call',
29
+ ];
30
+ export function isKnownAccessMode(v) {
31
+ return v !== undefined && KNOWN_ACCESS_MODES.includes(v);
32
+ }
33
+ const NO_PS = 'this agent token carries no `ps` claim, so the agent has no person server to obtain a person token from';
34
+ export function planAccessMode(declared, setup) {
35
+ if (!isKnownAccessMode(declared))
36
+ return { kind: 'undeclared' };
37
+ switch (declared) {
38
+ // Identity only: every request already carries an agent token.
39
+ case 'agent-token':
40
+ return { kind: 'satisfiable', mode: declared };
41
+ // Resource-managed: the resource runs its own consent flow and hands back a
42
+ // session token via AAuth-Access. No PS involved.
43
+ case 'session-token':
44
+ return { kind: 'satisfiable', mode: declared };
45
+ // All three need a person token, which only a person server issues. A
46
+ // resource MUST have verified a person token before it issues a resource
47
+ // token, so auth-token and per-call are unreachable without one too.
48
+ case 'person-token':
49
+ case 'auth-token':
50
+ case 'per-call':
51
+ return setup.hasPersonServer
52
+ ? { kind: 'satisfiable', mode: declared }
53
+ : {
54
+ kind: 'unsatisfiable',
55
+ mode: declared,
56
+ reason: `access_mode "${declared}" requires a person token, and ${NO_PS}`,
57
+ };
58
+ }
59
+ }
60
+ /** One-line reason string for a plan, for surfacing to the LLM. */
61
+ export function planReason(plan) {
62
+ return plan.kind === 'unsatisfiable' ? plan.reason : undefined;
63
+ }
64
+ //# sourceMappingURL=access-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-mode.js","sourceRoot":"","sources":["../src/access-mode.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,2EAA2E;AAC3E,EAAE;AACF,+EAA+E;AAC/E,iFAAiF;AACjF,gFAAgF;AAChF,sCAAsC;AACtC,6EAA6E;AAC7E,8DAA8D;AAC9D,4EAA4E;AAC5E,8EAA8E;AAC9E,8EAA8E;AAC9E,gFAAgF;AAChF,sEAAsE;AACtE,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,8EAA8E;AAC9E,2DAA2D;AAS3D,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC5D,aAAa;IACb,cAAc;IACd,eAAe;IACf,YAAY;IACZ,UAAU;CACX,CAAA;AAED,MAAM,UAAU,iBAAiB,CAAC,CAAqB;IACrD,OAAO,CAAC,KAAK,SAAS,IAAK,kBAAwC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AACjF,CAAC;AAYD,MAAM,KAAK,GACT,yGAAyG,CAAA;AAE3G,MAAM,UAAU,cAAc,CAAC,QAA4B,EAAE,KAAiB;IAC5E,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;IAE/D,QAAQ,QAAQ,EAAE,CAAC;QACjB,+DAA+D;QAC/D,KAAK,aAAa;YAChB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;QAEhD,4EAA4E;QAC5E,kDAAkD;QAClD,KAAK,eAAe;YAClB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;QAEhD,sEAAsE;QACtE,yEAAyE;QACzE,qEAAqE;QACrE,KAAK,cAAc,CAAC;QACpB,KAAK,YAAY,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,eAAe;gBAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzC,CAAC,CAAC;oBACE,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,gBAAgB,QAAQ,kCAAkC,KAAK,EAAE;iBAC1E,CAAA;IACT,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,UAAU,CAAC,IAAoB;IAC7C,OAAO,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;AAChE,CAAC"}
package/dist/agent.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import { fetch as signedFetch } from '@hellocoop/httpsig';
2
- import type { L1Entry } from './store.js';
2
+ import type { KnownAccessMode } from './access-mode.js';
3
+ import type { L1Entry, PersonTokenStore } from './store.js';
3
4
  export type AgentSigningKey = Parameters<typeof signedFetch>[1]['signingKey'];
4
5
  /**
5
6
  * Optional hints forwarded verbatim as extra body parameters in every POST to
6
- * the PS token endpoint (AAuth spec §8.1). All fields are optional; include only
7
- * those the host has learned about the user.
7
+ * the PS auth token endpoint (protocol §Agent Token Request). All fields are
8
+ * optional; include only those the host has learned about the user.
8
9
  */
9
10
  export interface PSTokenHints {
10
11
  login_hint?: string;
@@ -18,12 +19,32 @@ export interface PSTokenHints {
18
19
  prompt?: string;
19
20
  capabilities?: string[];
20
21
  }
22
+ /** Opaque per-resource session token from the AAuth-Access header. */
23
+ export interface SessionTokenStore {
24
+ get(resource: string): Promise<string | undefined>;
25
+ set(resource: string, token: string): Promise<void>;
26
+ }
21
27
  export interface ProxyConfig {
22
28
  psUrl: string;
23
29
  agentPrivateJwk: AgentSigningKey;
24
30
  agentToken: string;
25
- /** Extra parameters forwarded to every PS token endpoint request. */
31
+ /**
32
+ * The mission this agent is operating under, as the base64url SHA-256 of the
33
+ * approved mission JSON. Forwarded to the PS's person token endpoint, which
34
+ * stamps it into the person token; from there the resource copies it into the
35
+ * resource token and the PS into the auth token. No PS implements
36
+ * `mission_endpoint` yet — the claim path is built regardless.
37
+ */
38
+ missionS256?: string;
39
+ /** Extra parameters forwarded to every PS auth token endpoint request. */
26
40
  psHints?: PSTokenHints;
41
+ /**
42
+ * Person-token cache. Keyed (resource, mission_s256); flushed whole when the
43
+ * agent's signing key changes. Defaults to a per-config in-memory store.
44
+ */
45
+ personTokens?: PersonTokenStore;
46
+ /** Session-token store for `session-token` resources. Defaults to per-config memory. */
47
+ sessionTokens?: SessionTokenStore;
27
48
  /**
28
49
  * Called with each auth_token received from the PS before it is used.
29
50
  * Hosts can use this to record or validate the PS sub across exchanges.
@@ -36,6 +57,10 @@ export interface InvokeArgs {
36
57
  body?: unknown;
37
58
  contentType?: string;
38
59
  }
60
+ export interface InvokeOptions {
61
+ /** Overrides ProxyConfig.missionS256 for this call. */
62
+ missionS256?: string;
63
+ }
39
64
  export interface Interaction {
40
65
  url: string;
41
66
  code: string;
@@ -48,13 +73,67 @@ export type InvokeResult = {
48
73
  } | {
49
74
  kind: 'interaction';
50
75
  interaction: Interaction;
76
+ }
77
+ /**
78
+ * The resource (or this operation) declares an access mode this agent's setup
79
+ * cannot complete — typically `auth-token` or `person-token` at an agent whose
80
+ * agent token carries no `ps` claim. No request was made. Case (c) of the
81
+ * three-way access_mode plan: the agent learns this before planning rather
82
+ * than at a 401.
83
+ */
84
+ | {
85
+ kind: 'skipped';
86
+ resource: string;
87
+ opId: string;
88
+ mode: KnownAccessMode;
89
+ reason: string;
51
90
  };
52
91
  export type InteractionHandler = (url: string, code: string) => Promise<void> | void;
53
92
  export declare function makeAgentPoll(cfg: ProxyConfig): (url: string) => Promise<Response>;
93
+ interface PSMetadata {
94
+ /** Renamed from `token_endpoint` in -11. */
95
+ auth_token_endpoint: string;
96
+ /** New in -11, REQUIRED. */
97
+ person_token_endpoint?: string;
98
+ interaction_endpoint?: string;
99
+ mission_endpoint?: string;
100
+ }
101
+ type PersonTokenOutcome = {
102
+ kind: 'token';
103
+ personToken: string;
104
+ } | {
105
+ kind: 'interaction';
106
+ interaction: Interaction;
107
+ } | {
108
+ kind: 'result';
109
+ status: number;
110
+ body: unknown;
111
+ };
112
+ /**
113
+ * Obtain a person token for one resource, from cache or from the PS.
114
+ *
115
+ * A resource MUST have verified a person token before it issues a resource token,
116
+ * and the agent MUST present one on every authorization endpoint request
117
+ * (protocol §Person Token, §Authorization Endpoint Request) — so this sits in
118
+ * front of the whole authorize-first path, not only of `person-token` resources.
119
+ *
120
+ * The PS MAY require the user to approve the agent acting at this resource before
121
+ * issuing, and answers `202` with `requirement=interaction`. That is surfaced
122
+ * like any other interaction; the caller drives it and retries, and the second
123
+ * request gets a `200`.
124
+ */
125
+ export declare function obtainPersonToken(cfg: ProxyConfig, ps: PSMetadata, resource: string, missionS256?: string): Promise<PersonTokenOutcome>;
126
+ /**
127
+ * Drop every cached person token. Call when the agent's signing key rotates —
128
+ * every person token binds the same key through `cnf`, so none of them survive.
129
+ * `obtainPersonToken` also detects rotation on its own via the key thumbprint;
130
+ * this is the explicit hook for a host that knows a rotation happened.
131
+ */
132
+ export declare function flushPersonTokens(cfg: ProxyConfig): Promise<void>;
54
133
  type Poller = (url: string) => Promise<Response>;
55
134
  export declare function pollUntilDone(poll: Poller, locationUrl: string, timeoutMs?: number, onPoll?: (elapsedMs: number) => void | Promise<void>): Promise<Response>;
56
- export declare function invokeAtResource(cfg: ProxyConfig, l1: L1Entry, operationId: string, args?: InvokeArgs): Promise<InvokeResult>;
57
- export declare function invokeAtResourceComplete(cfg: ProxyConfig, l1: L1Entry, operationId: string, onInteraction: InteractionHandler, args?: InvokeArgs, maxRounds?: number, pollTimeoutMs?: number, onPoll?: (elapsedMs: number) => void | Promise<void>): Promise<{
135
+ export declare function invokeAtResource(cfg: ProxyConfig, l1: L1Entry, operationId: string, args?: InvokeArgs, opts?: InvokeOptions): Promise<InvokeResult>;
136
+ export declare function invokeAtResourceComplete(cfg: ProxyConfig, l1: L1Entry, operationId: string, onInteraction: InteractionHandler, args?: InvokeArgs, maxRounds?: number, pollTimeoutMs?: number, onPoll?: (elapsedMs: number) => void | Promise<void>, opts?: InvokeOptions): Promise<{
58
137
  status: number;
59
138
  body: unknown;
60
139
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}