@adcp/sdk 6.7.0 → 6.8.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/bin/adcp.js +15 -3
- package/dist/lib/adapters/derived-account-store.d.ts +152 -0
- package/dist/lib/adapters/derived-account-store.d.ts.map +1 -0
- package/dist/lib/adapters/derived-account-store.js +135 -0
- package/dist/lib/adapters/derived-account-store.js.map +1 -0
- package/dist/lib/adapters/implicit-account-store.d.ts +3 -1
- package/dist/lib/adapters/implicit-account-store.d.ts.map +1 -1
- package/dist/lib/adapters/implicit-account-store.js +3 -1
- package/dist/lib/adapters/implicit-account-store.js.map +1 -1
- package/dist/lib/adapters/index.d.ts +1 -0
- package/dist/lib/adapters/index.d.ts.map +1 -1
- package/dist/lib/adapters/index.js +7 -1
- package/dist/lib/adapters/index.js.map +1 -1
- package/dist/lib/adapters/oauth-passthrough-resolver.d.ts +3 -1
- package/dist/lib/adapters/oauth-passthrough-resolver.d.ts.map +1 -1
- package/dist/lib/adapters/oauth-passthrough-resolver.js +3 -1
- package/dist/lib/adapters/oauth-passthrough-resolver.js.map +1 -1
- package/dist/lib/adapters/roster-account-store.d.ts +85 -24
- package/dist/lib/adapters/roster-account-store.d.ts.map +1 -1
- package/dist/lib/adapters/roster-account-store.js +52 -30
- package/dist/lib/adapters/roster-account-store.js.map +1 -1
- package/dist/lib/index.d.ts +3 -3
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +13 -8
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/mock-server/creative-ad-server/seed-data.d.ts +81 -0
- package/dist/lib/mock-server/creative-ad-server/seed-data.d.ts.map +1 -0
- package/dist/lib/mock-server/creative-ad-server/seed-data.js +200 -0
- package/dist/lib/mock-server/creative-ad-server/seed-data.js.map +1 -0
- package/dist/lib/mock-server/creative-ad-server/server.d.ts +39 -0
- package/dist/lib/mock-server/creative-ad-server/server.d.ts.map +1 -0
- package/dist/lib/mock-server/creative-ad-server/server.js +618 -0
- package/dist/lib/mock-server/creative-ad-server/server.js.map +1 -0
- package/dist/lib/mock-server/index.d.ts.map +1 -1
- package/dist/lib/mock-server/index.js +180 -24
- package/dist/lib/mock-server/index.js.map +1 -1
- package/dist/lib/mock-server/sales-non-guaranteed/seed-data.d.ts +66 -0
- package/dist/lib/mock-server/sales-non-guaranteed/seed-data.d.ts.map +1 -0
- package/dist/lib/mock-server/sales-non-guaranteed/seed-data.js +193 -0
- package/dist/lib/mock-server/sales-non-guaranteed/seed-data.js.map +1 -0
- package/dist/lib/mock-server/sales-non-guaranteed/server.d.ts +33 -0
- package/dist/lib/mock-server/sales-non-guaranteed/server.d.ts.map +1 -0
- package/dist/lib/mock-server/sales-non-guaranteed/server.js +782 -0
- package/dist/lib/mock-server/sales-non-guaranteed/server.js.map +1 -0
- package/dist/lib/mock-server/sponsored-intelligence/seed-data.d.ts +50 -0
- package/dist/lib/mock-server/sponsored-intelligence/seed-data.d.ts.map +1 -0
- package/dist/lib/mock-server/sponsored-intelligence/seed-data.js +133 -0
- package/dist/lib/mock-server/sponsored-intelligence/seed-data.js.map +1 -0
- package/dist/lib/mock-server/sponsored-intelligence/server.d.ts +13 -0
- package/dist/lib/mock-server/sponsored-intelligence/server.d.ts.map +1 -0
- package/dist/lib/mock-server/sponsored-intelligence/server.js +609 -0
- package/dist/lib/mock-server/sponsored-intelligence/server.js.map +1 -0
- package/dist/lib/protocols/mcp.d.ts.map +1 -1
- package/dist/lib/protocols/mcp.js +1 -41
- package/dist/lib/protocols/mcp.js.map +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/account-mode.d.ts +113 -0
- package/dist/lib/server/account-mode.d.ts.map +1 -0
- package/dist/lib/server/account-mode.js +125 -0
- package/dist/lib/server/account-mode.js.map +1 -0
- package/dist/lib/server/adcp-server.js +41 -0
- package/dist/lib/server/adcp-server.js.map +1 -1
- package/dist/lib/server/auth.d.ts +35 -0
- package/dist/lib/server/auth.d.ts.map +1 -1
- package/dist/lib/server/auth.js.map +1 -1
- package/dist/lib/server/create-adcp-server.d.ts +26 -9
- package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
- package/dist/lib/server/create-adcp-server.js +46 -20
- package/dist/lib/server/create-adcp-server.js.map +1 -1
- package/dist/lib/server/ctx-metadata/store.d.ts +1 -1
- package/dist/lib/server/ctx-metadata/store.d.ts.map +1 -1
- package/dist/lib/server/ctx-metadata/store.js +1 -0
- package/dist/lib/server/ctx-metadata/store.js.map +1 -1
- package/dist/lib/server/decisioning/account.d.ts +5 -0
- package/dist/lib/server/decisioning/account.d.ts.map +1 -1
- package/dist/lib/server/decisioning/account.js.map +1 -1
- package/dist/lib/server/decisioning/buyer-agent.d.ts +37 -4
- package/dist/lib/server/decisioning/buyer-agent.d.ts.map +1 -1
- package/dist/lib/server/decisioning/buyer-agent.js +12 -2
- package/dist/lib/server/decisioning/buyer-agent.js.map +1 -1
- package/dist/lib/server/decisioning/compose.d.ts +33 -2
- package/dist/lib/server/decisioning/compose.d.ts.map +1 -1
- package/dist/lib/server/decisioning/compose.js +13 -46
- package/dist/lib/server/decisioning/compose.js.map +1 -1
- package/dist/lib/server/decisioning/index.d.ts +2 -1
- package/dist/lib/server/decisioning/index.d.ts.map +1 -1
- package/dist/lib/server/decisioning/index.js +2 -1
- package/dist/lib/server/decisioning/index.js.map +1 -1
- package/dist/lib/server/decisioning/platform-helpers.d.ts +18 -0
- package/dist/lib/server/decisioning/platform-helpers.d.ts.map +1 -1
- package/dist/lib/server/decisioning/platform-helpers.js +20 -0
- package/dist/lib/server/decisioning/platform-helpers.js.map +1 -1
- package/dist/lib/server/decisioning/platform.d.ts +19 -21
- package/dist/lib/server/decisioning/platform.d.ts.map +1 -1
- package/dist/lib/server/decisioning/platform.js.map +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.d.ts.map +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.js +334 -44
- package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -1
- package/dist/lib/server/decisioning/runtime/observed-modes.d.ts +40 -0
- package/dist/lib/server/decisioning/runtime/observed-modes.d.ts.map +1 -0
- package/dist/lib/server/decisioning/runtime/observed-modes.js +82 -0
- package/dist/lib/server/decisioning/runtime/observed-modes.js.map +1 -0
- package/dist/lib/server/decisioning/runtime/protocol-for-tool.js +2 -2
- package/dist/lib/server/decisioning/runtime/protocol-for-tool.js.map +1 -1
- package/dist/lib/server/decisioning/runtime/validate-platform.d.ts.map +1 -1
- package/dist/lib/server/decisioning/runtime/validate-platform.js +9 -1
- package/dist/lib/server/decisioning/runtime/validate-platform.js.map +1 -1
- package/dist/lib/server/decisioning/specialisms/sponsored-intelligence.d.ts +125 -0
- package/dist/lib/server/decisioning/specialisms/sponsored-intelligence.d.ts.map +1 -0
- package/dist/lib/server/decisioning/specialisms/sponsored-intelligence.js +52 -0
- package/dist/lib/server/decisioning/specialisms/sponsored-intelligence.js.map +1 -0
- package/dist/lib/server/decisioning/tenant-registry.d.ts +16 -0
- package/dist/lib/server/decisioning/tenant-registry.d.ts.map +1 -1
- package/dist/lib/server/decisioning/tenant-registry.js.map +1 -1
- package/dist/lib/server/index.d.ts +4 -1
- package/dist/lib/server/index.d.ts.map +1 -1
- package/dist/lib/server/index.js +9 -3
- package/dist/lib/server/index.js.map +1 -1
- package/dist/lib/server/serve.js +20 -2
- package/dist/lib/server/serve.js.map +1 -1
- package/dist/lib/server/test-controller.d.ts +3 -0
- package/dist/lib/server/test-controller.d.ts.map +1 -1
- package/dist/lib/server/test-controller.js +23 -20
- package/dist/lib/server/test-controller.js.map +1 -1
- package/dist/lib/testing/comply-controller.d.ts +23 -2
- package/dist/lib/testing/comply-controller.d.ts.map +1 -1
- package/dist/lib/testing/comply-controller.js +19 -2
- package/dist/lib/testing/comply-controller.js.map +1 -1
- package/dist/lib/testing/index.d.ts +1 -1
- package/dist/lib/testing/index.d.ts.map +1 -1
- package/dist/lib/testing/index.js.map +1 -1
- package/dist/lib/testing/storyboard/validations.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/validations.js +36 -54
- package/dist/lib/testing/storyboard/validations.js.map +1 -1
- package/dist/lib/testing/test-controller.d.ts +10 -4
- package/dist/lib/testing/test-controller.d.ts.map +1 -1
- package/dist/lib/testing/test-controller.js +9 -3
- package/dist/lib/testing/test-controller.js.map +1 -1
- package/dist/lib/types/index.d.ts +3 -2
- package/dist/lib/types/index.d.ts.map +1 -1
- package/dist/lib/types/index.js +3 -0
- package/dist/lib/types/index.js.map +1 -1
- package/dist/lib/utils/glob.d.ts +4 -2
- package/dist/lib/utils/glob.d.ts.map +1 -1
- package/dist/lib/utils/glob.js +4 -2
- package/dist/lib/utils/glob.js.map +1 -1
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/docs/llms.txt +2 -2
- package/examples/README.md +29 -13
- package/examples/hello-cluster.ts +62 -23
- package/examples/hello_creative_adapter_ad_server.ts +790 -0
- package/examples/hello_seller_adapter_guaranteed.ts +80 -22
- package/examples/hello_seller_adapter_non_guaranteed.ts +1020 -0
- package/examples/hello_si_adapter_brand.ts +572 -0
- package/package.json +3 -2
- package/skills/build-creative-agent/SKILL.md +103 -183
- package/skills/build-generative-seller-agent/SKILL.md +15 -9
- package/skills/build-governance-agent/SKILL.md +20 -11
- package/skills/build-retail-media-agent/SKILL.md +10 -8
- package/skills/build-seller-agent/SKILL.md +15 -13
- package/skills/build-seller-agent/specialisms/sales-non-guaranteed.md +9 -31
- package/skills/build-si-agent/SKILL.md +251 -196
- package/skills/build-signals-agent/SKILL.md +2 -0
- package/skills/call-adcp-agent/SKILL.md +7 -1
- package/skills/call-adcp-agent.previous/SKILL.md +0 -261
package/bin/adcp.js
CHANGED
|
@@ -1028,14 +1028,26 @@ ARGUMENTS:
|
|
|
1028
1028
|
signing tasks, inventory-list
|
|
1029
1029
|
targeting, and CAPI for delivery
|
|
1030
1030
|
validation.
|
|
1031
|
+
sponsored-intelligence
|
|
1032
|
+
Brand-agent platform (Salesforce
|
|
1033
|
+
Agentforce / OpenAI Assistants
|
|
1034
|
+
shaped) with conversational
|
|
1035
|
+
offerings, stateful session
|
|
1036
|
+
transcripts, and ACP transaction
|
|
1037
|
+
handoff. Adapter wraps it to
|
|
1038
|
+
expose si_get_offering /
|
|
1039
|
+
si_initiate_session /
|
|
1040
|
+
si_send_message /
|
|
1041
|
+
si_terminate_session.
|
|
1031
1042
|
|
|
1032
1043
|
OPTIONS:
|
|
1033
1044
|
--port N Listen port. Default: 4500.
|
|
1034
1045
|
--api-key KEY Override the static bearer credential. Only applies to
|
|
1035
1046
|
specialisms with static-bearer auth (signal-marketplace,
|
|
1036
|
-
creative-template). Ignored for
|
|
1037
|
-
(sales-social) — those issue tokens via
|
|
1038
|
-
Defaults to a stable test key printed at
|
|
1047
|
+
creative-template, sponsored-intelligence). Ignored for
|
|
1048
|
+
OAuth specialisms (sales-social) — those issue tokens via
|
|
1049
|
+
the OAuth flow. Defaults to a stable test key printed at
|
|
1050
|
+
boot.
|
|
1039
1051
|
|
|
1040
1052
|
NOTES:
|
|
1041
1053
|
These mock servers represent the *upstream* platform an adopter wraps,
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derived `AccountStore` factory for `resolution: 'derived'` single-tenant
|
|
3
|
+
* agents — there is no `account_id` on the wire and the auth principal alone
|
|
4
|
+
* identifies the tenant. Most self-hosted broadcasters, retail-media operators
|
|
5
|
+
* in proxy mode, and creative-only adapters (audiostack, flashtalking) where
|
|
6
|
+
* every API call is scoped by the buyer's per-request credential.
|
|
7
|
+
*
|
|
8
|
+
* Pairs with the existing reference adapters. Pick by asking *who creates the
|
|
9
|
+
* account?*:
|
|
10
|
+
* - **Buyer self-onboards via `sync_accounts`** → {@link InMemoryImplicitAccountStore}
|
|
11
|
+
* (Shape A, `resolution: 'implicit'`).
|
|
12
|
+
* - **Upstream OAuth API owns the roster** → {@link createOAuthPassthroughResolver}
|
|
13
|
+
* (Shape B, `resolution: 'explicit'`).
|
|
14
|
+
* - **Publisher ops curates the roster** → {@link createRosterAccountStore}
|
|
15
|
+
* (Shape C, `resolution: 'explicit'`).
|
|
16
|
+
* - **No account concept — auth principal IS the tenant** → `createDerivedAccountStore`
|
|
17
|
+
* (this file, Shape D, `resolution: 'derived'`).
|
|
18
|
+
*
|
|
19
|
+
* Closes adcp-client#1462. Replaces the ~25–30 LOC of `if (!authInfo.token) throw
|
|
20
|
+
* AUTH_REQUIRED; return { id: ..., ctx_metadata: { accessToken } }` boilerplate
|
|
21
|
+
* Shape D adopters write today.
|
|
22
|
+
*
|
|
23
|
+
* @see docs/guides/account-resolution.md
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
26
|
+
import type { Account, AccountStore, ResolveContext } from '../server/decisioning/account';
|
|
27
|
+
/**
|
|
28
|
+
* Options for {@link createDerivedAccountStore}.
|
|
29
|
+
*
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
export interface DerivedAccountStoreOptions<TCtxMeta = Record<string, unknown>> {
|
|
33
|
+
/**
|
|
34
|
+
* Build the singleton account from the request context. Called on every
|
|
35
|
+
* `resolve()` (no caching — the tenant is per-request because the auth
|
|
36
|
+
* principal varies). The returned account's `id` is typically a stable
|
|
37
|
+
* literal (e.g. `'audiostack'`, `'__publisher_wide__'`); single-tenant
|
|
38
|
+
* adapters have no buyer-supplied account_id to reflect back.
|
|
39
|
+
*
|
|
40
|
+
* **DO NOT put credentials in `ctx_metadata`.** See
|
|
41
|
+
* `docs/guides/CTX-METADATA-SAFETY.md` for the rationale. The wire-strip
|
|
42
|
+
* protects buyer responses but does NOT protect server-side log lines,
|
|
43
|
+
* error envelopes, or adopter-generated strings (e.g. `JSON.stringify(account)`
|
|
44
|
+
* in an error message). Re-derive the bearer from `ctx.authInfo` per
|
|
45
|
+
* request inside specialism methods instead.
|
|
46
|
+
*
|
|
47
|
+
* Adopters MAY omit `authInfo` from the returned `Account` — the framework
|
|
48
|
+
* auto-attaches the principal from `ctx.authInfo` when absent (matches
|
|
49
|
+
* Shape A/B/C semantics).
|
|
50
|
+
*/
|
|
51
|
+
toAccount: (ctx: ResolveContext | undefined) => Account<TCtxMeta>;
|
|
52
|
+
/**
|
|
53
|
+
* Skip the `AUTH_REQUIRED` precheck. Defaults to `false` — the factory
|
|
54
|
+
* throws `AdcpError('AUTH_REQUIRED')` when `ctx.authInfo` is absent or
|
|
55
|
+
* carries no credential, matching the canonical Shape D pattern (every
|
|
56
|
+
* call must authenticate).
|
|
57
|
+
*
|
|
58
|
+
* Set to `true` for genuinely unauthenticated single-tenant agents (rare —
|
|
59
|
+
* public format catalogs, signed-request-only agents that authenticate
|
|
60
|
+
* out-of-band). When `true`, `toAccount` runs unconditionally.
|
|
61
|
+
*
|
|
62
|
+
* If you're tempted to set this because tests don't carry `authInfo`,
|
|
63
|
+
* fix the tests instead — `serve({ authenticate })` should populate
|
|
64
|
+
* `ctx.authInfo` from your test harness (or use `dispatchTestRequest`
|
|
65
|
+
* which threads a synthetic principal). The escape hatch is for
|
|
66
|
+
* production agents that legitimately accept unauthenticated traffic,
|
|
67
|
+
* not for working around fixture gaps.
|
|
68
|
+
*
|
|
69
|
+
* @default false
|
|
70
|
+
*/
|
|
71
|
+
skipAuthCheck?: boolean;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Build an `AccountStore<TCtxMeta>` for single-tenant agents whose tenant is
|
|
75
|
+
* derived from the auth principal alone (no `account_id` on the wire).
|
|
76
|
+
*
|
|
77
|
+
* The factory:
|
|
78
|
+
* 1. Sets `resolution: 'derived'`.
|
|
79
|
+
* 2. Throws `AdcpError('AUTH_REQUIRED')` when `ctx.authInfo` carries no
|
|
80
|
+
* credential (skip with `skipAuthCheck: true`). The check accepts the
|
|
81
|
+
* discriminated `credential` shape (preferred) AND the deprecated
|
|
82
|
+
* `token` / `clientId` fields populated by pre-#1269 authenticators —
|
|
83
|
+
* fail-closed only when none of the three are present.
|
|
84
|
+
* 3. Calls `toAccount(ctx)` and returns the result. Buyer-supplied
|
|
85
|
+
* `AccountReference` is ignored — single-tenant by definition.
|
|
86
|
+
* 4. Omits `list` / `upsert` — single-tenant adapters have nothing to
|
|
87
|
+
* enumerate or write. Adopters who want either compose via spread.
|
|
88
|
+
*
|
|
89
|
+
* **When NOT to use this.** If two different auth principals should resolve
|
|
90
|
+
* to two different `account.id` values, you want Shape B
|
|
91
|
+
* ({@link createOAuthPassthroughResolver}) or `createTenantStore` — NOT this
|
|
92
|
+
* factory. Misusing Shape D in a multi-tenant deployment routes every buyer
|
|
93
|
+
* to the same singleton id and breaks tenant isolation silently (no error,
|
|
94
|
+
* no log). The factory is single-tenant by design — `toAccount(ctx)` should
|
|
95
|
+
* return the same `id` for every principal that calls it.
|
|
96
|
+
*
|
|
97
|
+
* @example AudioStack-shaped creative adapter:
|
|
98
|
+
* ```ts
|
|
99
|
+
* import { createDerivedAccountStore } from '@adcp/sdk/server';
|
|
100
|
+
*
|
|
101
|
+
* const accounts = createDerivedAccountStore<AudioStackAccountMeta>({
|
|
102
|
+
* toAccount: (ctx) => ({
|
|
103
|
+
* id: 'audiostack',
|
|
104
|
+
* name: 'AudioStack',
|
|
105
|
+
* status: 'active',
|
|
106
|
+
* ctx_metadata: {}, // tokens stay on ctx.authInfo, not here
|
|
107
|
+
* }),
|
|
108
|
+
* });
|
|
109
|
+
* ```
|
|
110
|
+
*
|
|
111
|
+
* @example Single-tenant retail-media proxy with derived display name:
|
|
112
|
+
* ```ts
|
|
113
|
+
* const accounts = createDerivedAccountStore<{ tenantId: string }>({
|
|
114
|
+
* toAccount: (ctx) => {
|
|
115
|
+
* const cred = ctx?.authInfo?.credential;
|
|
116
|
+
* const tenantId = cred?.kind === 'oauth' ? cred.client_id
|
|
117
|
+
* : cred?.kind === 'api_key' ? cred.key_id
|
|
118
|
+
* : 'public';
|
|
119
|
+
* return {
|
|
120
|
+
* id: 'criteo',
|
|
121
|
+
* name: `Criteo (${tenantId})`,
|
|
122
|
+
* status: 'active',
|
|
123
|
+
* ctx_metadata: { tenantId },
|
|
124
|
+
* };
|
|
125
|
+
* },
|
|
126
|
+
* });
|
|
127
|
+
* ```
|
|
128
|
+
*
|
|
129
|
+
* @example Compose `upsert` for adapters that ALSO want a buyer-driven
|
|
130
|
+
* write path (rare for Shape D, but possible):
|
|
131
|
+
* ```ts
|
|
132
|
+
* const accounts: AccountStore<MyMeta> = {
|
|
133
|
+
* ...createDerivedAccountStore({ toAccount }),
|
|
134
|
+
* upsert: async (refs, ctx) => mySync(refs, ctx),
|
|
135
|
+
* };
|
|
136
|
+
* ```
|
|
137
|
+
*
|
|
138
|
+
* **Buyer-supplied `account_id` is refused at the framework boundary.**
|
|
139
|
+
* Since adcp-client#1468, the framework throws `AdcpError('INVALID_REQUEST',
|
|
140
|
+
* { field: 'account.account_id' })` BEFORE reaching this resolver when a
|
|
141
|
+
* `'derived'`-mode platform receives an inline `account_id` — same shape
|
|
142
|
+
* as `'implicit'`'s long-standing refusal (#1364), with a single-tenant
|
|
143
|
+
* message instead of the `sync_accounts`-first guidance. The factory
|
|
144
|
+
* itself ignores any `account_id` that does reach it (defensive belt +
|
|
145
|
+
* braces), but adopters can rely on the framework refusal as the
|
|
146
|
+
* canonical surface. Hand-rolled `'derived'` stores get the same
|
|
147
|
+
* enforcement automatically.
|
|
148
|
+
*
|
|
149
|
+
* @public
|
|
150
|
+
*/
|
|
151
|
+
export declare function createDerivedAccountStore<TCtxMeta = Record<string, unknown>>(options: DerivedAccountStoreOptions<TCtxMeta>): AccountStore<TCtxMeta>;
|
|
152
|
+
//# sourceMappingURL=derived-account-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derived-account-store.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/derived-account-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG3F;;;;GAIG;AACH,MAAM,WAAW,0BAA0B,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5E;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,EAAE,CAAC,GAAG,EAAE,cAAc,GAAG,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAElE;;;;;;;;;;;;;;;;;;OAkBG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1E,OAAO,EAAE,0BAA0B,CAAC,QAAQ,CAAC,GAC5C,YAAY,CAAC,QAAQ,CAAC,CAgBxB"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Derived `AccountStore` factory for `resolution: 'derived'` single-tenant
|
|
4
|
+
* agents — there is no `account_id` on the wire and the auth principal alone
|
|
5
|
+
* identifies the tenant. Most self-hosted broadcasters, retail-media operators
|
|
6
|
+
* in proxy mode, and creative-only adapters (audiostack, flashtalking) where
|
|
7
|
+
* every API call is scoped by the buyer's per-request credential.
|
|
8
|
+
*
|
|
9
|
+
* Pairs with the existing reference adapters. Pick by asking *who creates the
|
|
10
|
+
* account?*:
|
|
11
|
+
* - **Buyer self-onboards via `sync_accounts`** → {@link InMemoryImplicitAccountStore}
|
|
12
|
+
* (Shape A, `resolution: 'implicit'`).
|
|
13
|
+
* - **Upstream OAuth API owns the roster** → {@link createOAuthPassthroughResolver}
|
|
14
|
+
* (Shape B, `resolution: 'explicit'`).
|
|
15
|
+
* - **Publisher ops curates the roster** → {@link createRosterAccountStore}
|
|
16
|
+
* (Shape C, `resolution: 'explicit'`).
|
|
17
|
+
* - **No account concept — auth principal IS the tenant** → `createDerivedAccountStore`
|
|
18
|
+
* (this file, Shape D, `resolution: 'derived'`).
|
|
19
|
+
*
|
|
20
|
+
* Closes adcp-client#1462. Replaces the ~25–30 LOC of `if (!authInfo.token) throw
|
|
21
|
+
* AUTH_REQUIRED; return { id: ..., ctx_metadata: { accessToken } }` boilerplate
|
|
22
|
+
* Shape D adopters write today.
|
|
23
|
+
*
|
|
24
|
+
* @see docs/guides/account-resolution.md
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.createDerivedAccountStore = createDerivedAccountStore;
|
|
29
|
+
const async_outcome_1 = require("../server/decisioning/async-outcome");
|
|
30
|
+
/**
|
|
31
|
+
* Build an `AccountStore<TCtxMeta>` for single-tenant agents whose tenant is
|
|
32
|
+
* derived from the auth principal alone (no `account_id` on the wire).
|
|
33
|
+
*
|
|
34
|
+
* The factory:
|
|
35
|
+
* 1. Sets `resolution: 'derived'`.
|
|
36
|
+
* 2. Throws `AdcpError('AUTH_REQUIRED')` when `ctx.authInfo` carries no
|
|
37
|
+
* credential (skip with `skipAuthCheck: true`). The check accepts the
|
|
38
|
+
* discriminated `credential` shape (preferred) AND the deprecated
|
|
39
|
+
* `token` / `clientId` fields populated by pre-#1269 authenticators —
|
|
40
|
+
* fail-closed only when none of the three are present.
|
|
41
|
+
* 3. Calls `toAccount(ctx)` and returns the result. Buyer-supplied
|
|
42
|
+
* `AccountReference` is ignored — single-tenant by definition.
|
|
43
|
+
* 4. Omits `list` / `upsert` — single-tenant adapters have nothing to
|
|
44
|
+
* enumerate or write. Adopters who want either compose via spread.
|
|
45
|
+
*
|
|
46
|
+
* **When NOT to use this.** If two different auth principals should resolve
|
|
47
|
+
* to two different `account.id` values, you want Shape B
|
|
48
|
+
* ({@link createOAuthPassthroughResolver}) or `createTenantStore` — NOT this
|
|
49
|
+
* factory. Misusing Shape D in a multi-tenant deployment routes every buyer
|
|
50
|
+
* to the same singleton id and breaks tenant isolation silently (no error,
|
|
51
|
+
* no log). The factory is single-tenant by design — `toAccount(ctx)` should
|
|
52
|
+
* return the same `id` for every principal that calls it.
|
|
53
|
+
*
|
|
54
|
+
* @example AudioStack-shaped creative adapter:
|
|
55
|
+
* ```ts
|
|
56
|
+
* import { createDerivedAccountStore } from '@adcp/sdk/server';
|
|
57
|
+
*
|
|
58
|
+
* const accounts = createDerivedAccountStore<AudioStackAccountMeta>({
|
|
59
|
+
* toAccount: (ctx) => ({
|
|
60
|
+
* id: 'audiostack',
|
|
61
|
+
* name: 'AudioStack',
|
|
62
|
+
* status: 'active',
|
|
63
|
+
* ctx_metadata: {}, // tokens stay on ctx.authInfo, not here
|
|
64
|
+
* }),
|
|
65
|
+
* });
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* @example Single-tenant retail-media proxy with derived display name:
|
|
69
|
+
* ```ts
|
|
70
|
+
* const accounts = createDerivedAccountStore<{ tenantId: string }>({
|
|
71
|
+
* toAccount: (ctx) => {
|
|
72
|
+
* const cred = ctx?.authInfo?.credential;
|
|
73
|
+
* const tenantId = cred?.kind === 'oauth' ? cred.client_id
|
|
74
|
+
* : cred?.kind === 'api_key' ? cred.key_id
|
|
75
|
+
* : 'public';
|
|
76
|
+
* return {
|
|
77
|
+
* id: 'criteo',
|
|
78
|
+
* name: `Criteo (${tenantId})`,
|
|
79
|
+
* status: 'active',
|
|
80
|
+
* ctx_metadata: { tenantId },
|
|
81
|
+
* };
|
|
82
|
+
* },
|
|
83
|
+
* });
|
|
84
|
+
* ```
|
|
85
|
+
*
|
|
86
|
+
* @example Compose `upsert` for adapters that ALSO want a buyer-driven
|
|
87
|
+
* write path (rare for Shape D, but possible):
|
|
88
|
+
* ```ts
|
|
89
|
+
* const accounts: AccountStore<MyMeta> = {
|
|
90
|
+
* ...createDerivedAccountStore({ toAccount }),
|
|
91
|
+
* upsert: async (refs, ctx) => mySync(refs, ctx),
|
|
92
|
+
* };
|
|
93
|
+
* ```
|
|
94
|
+
*
|
|
95
|
+
* **Buyer-supplied `account_id` is refused at the framework boundary.**
|
|
96
|
+
* Since adcp-client#1468, the framework throws `AdcpError('INVALID_REQUEST',
|
|
97
|
+
* { field: 'account.account_id' })` BEFORE reaching this resolver when a
|
|
98
|
+
* `'derived'`-mode platform receives an inline `account_id` — same shape
|
|
99
|
+
* as `'implicit'`'s long-standing refusal (#1364), with a single-tenant
|
|
100
|
+
* message instead of the `sync_accounts`-first guidance. The factory
|
|
101
|
+
* itself ignores any `account_id` that does reach it (defensive belt +
|
|
102
|
+
* braces), but adopters can rely on the framework refusal as the
|
|
103
|
+
* canonical surface. Hand-rolled `'derived'` stores get the same
|
|
104
|
+
* enforcement automatically.
|
|
105
|
+
*
|
|
106
|
+
* @public
|
|
107
|
+
*/
|
|
108
|
+
function createDerivedAccountStore(options) {
|
|
109
|
+
const skipAuthCheck = options.skipAuthCheck ?? false;
|
|
110
|
+
return {
|
|
111
|
+
resolution: 'derived',
|
|
112
|
+
async resolve(_ref, ctx) {
|
|
113
|
+
if (!skipAuthCheck && !hasAuthSignal(ctx)) {
|
|
114
|
+
throw new async_outcome_1.AdcpError('AUTH_REQUIRED', {
|
|
115
|
+
message: 'Single-tenant agent requires an authenticated principal; no credential on ctx.authInfo.',
|
|
116
|
+
recovery: 'correctable',
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
return options.toAccount(ctx);
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* True when `ctx.authInfo` carries any usable credential signal — the
|
|
125
|
+
* discriminated `credential` shape (preferred, post-#1269) OR the deprecated
|
|
126
|
+
* `token` / `clientId` fields still populated by pre-Stage-3 authenticators
|
|
127
|
+
* during the N+1 deprecation window. Fail-closed only when none are present.
|
|
128
|
+
*/
|
|
129
|
+
function hasAuthSignal(ctx) {
|
|
130
|
+
const authInfo = ctx?.authInfo;
|
|
131
|
+
if (!authInfo)
|
|
132
|
+
return false;
|
|
133
|
+
return authInfo.credential !== undefined || authInfo.token !== undefined || authInfo.clientId !== undefined;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=derived-account-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derived-account-store.js","sourceRoot":"","sources":["../../../src/lib/adapters/derived-account-store.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;AAoIH,8DAkBC;AAlJD,uEAAgE;AAkDhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,SAAgB,yBAAyB,CACvC,OAA6C;IAE7C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;IAErD,OAAO;QACL,UAAU,EAAE,SAAS;QAErB,KAAK,CAAC,OAAO,CAAC,IAAkC,EAAE,GAAoB;YACpE,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,yBAAS,CAAC,eAAe,EAAE;oBACnC,OAAO,EAAE,yFAAyF;oBAClG,QAAQ,EAAE,aAAa;iBACxB,CAAC,CAAC;YACL,CAAC;YACD,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,GAA+B;IACpD,MAAM,QAAQ,GAAG,GAAG,EAAE,QAAQ,CAAC;IAC/B,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC9G,CAAC"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* implementations. See `docs/guides/account-resolution.md` for key
|
|
12
12
|
* derivation guidance, error contracts, and TTL recommendations.
|
|
13
13
|
*
|
|
14
|
-
* **Picking an AccountStore?**
|
|
14
|
+
* **Picking an AccountStore?** Four reference shapes by *who creates the
|
|
15
15
|
* account*:
|
|
16
16
|
* - **Buyer self-onboards via `sync_accounts`** → `InMemoryImplicitAccountStore`
|
|
17
17
|
* (this file, Shape A).
|
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
* (Shape B, returns just `resolve`).
|
|
20
20
|
* - **Publisher ops curates the roster** → `createRosterAccountStore`
|
|
21
21
|
* (Shape C, complete AccountStore).
|
|
22
|
+
* - **No account concept — auth principal IS the tenant** → `createDerivedAccountStore`
|
|
23
|
+
* (Shape D, `resolution: 'derived'`).
|
|
22
24
|
*
|
|
23
25
|
* @see docs/guides/account-resolution.md
|
|
24
26
|
* @public
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implicit-account-store.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/implicit-account-store.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"implicit-account-store.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/implicit-account-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EAEZ,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAM/B;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAWnF;AAiBD;;;GAGG;AACH,MAAM,WAAW,2BAA2B,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7E;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/G;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,MAAM,GAAG,SAAS,CAAC;IAE3D;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAyCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBAAa,4BAA4B,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,YAAW,YAAY,CAAC,QAAQ,CAAC;IAC7G,QAAQ,CAAC,UAAU,EAAG,UAAU,CAAU;IAE1C,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,MAAM,CAAqD;IACnE,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAG+B;gBAExC,OAAO,CAAC,EAAE,2BAA2B,CAAC,QAAQ,CAAC;IAQ3D;;;;;;;;;;;;;;;OAeG;IACG,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAc1G;;;;;;;;;;;;;;OAcG;IACG,MAAM,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,GAAG,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAqH9F,uCAAuC;IACvC,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS;IAIvD,2EAA2E;IAC3E,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* implementations. See `docs/guides/account-resolution.md` for key
|
|
13
13
|
* derivation guidance, error contracts, and TTL recommendations.
|
|
14
14
|
*
|
|
15
|
-
* **Picking an AccountStore?**
|
|
15
|
+
* **Picking an AccountStore?** Four reference shapes by *who creates the
|
|
16
16
|
* account*:
|
|
17
17
|
* - **Buyer self-onboards via `sync_accounts`** → `InMemoryImplicitAccountStore`
|
|
18
18
|
* (this file, Shape A).
|
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
* (Shape B, returns just `resolve`).
|
|
21
21
|
* - **Publisher ops curates the roster** → `createRosterAccountStore`
|
|
22
22
|
* (Shape C, complete AccountStore).
|
|
23
|
+
* - **No account concept — auth principal IS the tenant** → `createDerivedAccountStore`
|
|
24
|
+
* (Shape D, `resolution: 'derived'`).
|
|
23
25
|
*
|
|
24
26
|
* @see docs/guides/account-resolution.md
|
|
25
27
|
* @public
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implicit-account-store.js","sourceRoot":"","sources":["../../../src/lib/adapters/implicit-account-store.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"implicit-account-store.js","sourceRoot":"","sources":["../../../src/lib/adapters/implicit-account-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,4 +20,5 @@ export { SISessionManager, AISISessionManager, type ISISessionManager, type SISe
|
|
|
20
20
|
export { InMemoryImplicitAccountStore, defaultImplicitKeyFn, type ImplicitAccountStoreOptions, } from './implicit-account-store';
|
|
21
21
|
export { createOAuthPassthroughResolver, type OAuthPassthroughResolverOptions } from './oauth-passthrough-resolver';
|
|
22
22
|
export { createRosterAccountStore, type RosterAccountStoreOptions } from './roster-account-store';
|
|
23
|
+
export { createDerivedAccountStore, type DerivedAccountStoreOptions } from './derived-account-store';
|
|
23
24
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EACL,uBAAuB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,0BAA0B,EAC1B,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,YAAY,EACZ,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,KAAK,2BAA2B,GACjC,MAAM,0BAA0B,CAAC;AAMlC,OAAO,EAAE,8BAA8B,EAAE,KAAK,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAOpH,OAAO,EAAE,wBAAwB,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EACL,uBAAuB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,0BAA0B,EAC1B,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,mBAAmB,EACnB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,YAAY,EACZ,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,KAAK,2BAA2B,GACjC,MAAM,0BAA0B,CAAC;AAMlC,OAAO,EAAE,8BAA8B,EAAE,KAAK,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAOpH,OAAO,EAAE,wBAAwB,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAMlG,OAAO,EAAE,yBAAyB,EAAE,KAAK,0BAA0B,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* - InMemoryImplicitAccountStore: AccountStore for resolution: 'implicit' platforms
|
|
15
15
|
*/
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.createRosterAccountStore = exports.createOAuthPassthroughResolver = exports.defaultImplicitKeyFn = exports.InMemoryImplicitAccountStore = exports.defaultSISessionManager = exports.SIErrorCodes = exports.AISISessionManager = exports.SISessionManager = exports.isGovernanceAdapterError = exports.GovernanceAdapterErrorCodes = exports.defaultGovernanceAdapter = exports.GovernanceAdapter = exports.defaultProposalManager = exports.ProposalErrorCodes = exports.AIProposalManager = exports.ProposalManager = exports.defaultPropertyListAdapter = exports.isPropertyListError = exports.PropertyListErrorCodes = exports.PropertyListAdapter = exports.defaultContentStandardsAdapter = exports.isContentStandardsError = exports.ContentStandardsErrorCodes = exports.ContentStandardsAdapter = void 0;
|
|
17
|
+
exports.createDerivedAccountStore = exports.createRosterAccountStore = exports.createOAuthPassthroughResolver = exports.defaultImplicitKeyFn = exports.InMemoryImplicitAccountStore = exports.defaultSISessionManager = exports.SIErrorCodes = exports.AISISessionManager = exports.SISessionManager = exports.isGovernanceAdapterError = exports.GovernanceAdapterErrorCodes = exports.defaultGovernanceAdapter = exports.GovernanceAdapter = exports.defaultProposalManager = exports.ProposalErrorCodes = exports.AIProposalManager = exports.ProposalManager = exports.defaultPropertyListAdapter = exports.isPropertyListError = exports.PropertyListErrorCodes = exports.PropertyListAdapter = exports.defaultContentStandardsAdapter = exports.isContentStandardsError = exports.ContentStandardsErrorCodes = exports.ContentStandardsAdapter = void 0;
|
|
18
18
|
// Content Standards
|
|
19
19
|
var content_standards_adapter_1 = require("./content-standards-adapter");
|
|
20
20
|
Object.defineProperty(exports, "ContentStandardsAdapter", { enumerable: true, get: function () { return content_standards_adapter_1.ContentStandardsAdapter; } });
|
|
@@ -62,4 +62,10 @@ Object.defineProperty(exports, "createOAuthPassthroughResolver", { enumerable: t
|
|
|
62
62
|
// where the roster lives.
|
|
63
63
|
var roster_account_store_1 = require("./roster-account-store");
|
|
64
64
|
Object.defineProperty(exports, "createRosterAccountStore", { enumerable: true, get: function () { return roster_account_store_1.createRosterAccountStore; } });
|
|
65
|
+
// Derived AccountStore — Shape D factory for `resolution: 'derived'` single-
|
|
66
|
+
// tenant agents (no account_id on the wire; auth principal alone identifies
|
|
67
|
+
// the tenant). Closes adcp-client#1462. Replaces ~25–30 LOC of bearer-extract +
|
|
68
|
+
// throw-AUTH_REQUIRED + return-singleton boilerplate Shape D adopters write today.
|
|
69
|
+
var derived_account_store_1 = require("./derived-account-store");
|
|
70
|
+
Object.defineProperty(exports, "createDerivedAccountStore", { enumerable: true, get: function () { return derived_account_store_1.createDerivedAccountStore; } });
|
|
65
71
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/adapters/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEH,oBAAoB;AACpB,yEAOqC;AANnC,oIAAA,uBAAuB,OAAA;AAGvB,uIAAA,0BAA0B,OAAA;AAC1B,oIAAA,uBAAuB,OAAA;AACvB,2IAAA,8BAA8B,OAAA;AAGhC,iBAAiB;AACjB,iEAOiC;AAN/B,4HAAA,mBAAmB,OAAA;AAGnB,+HAAA,sBAAsB,OAAA;AACtB,4HAAA,mBAAmB,OAAA;AACnB,mIAAA,0BAA0B,OAAA;AAG5B,sBAAsB;AACtB,uDAO4B;AAN1B,mHAAA,eAAe,OAAA;AACf,qHAAA,iBAAiB,OAAA;AAGjB,sHAAA,kBAAkB,OAAA;AAClB,0HAAA,sBAAsB,OAAA;AAGxB,4CAA4C;AAC5C,2DAS8B;AAR5B,uHAAA,iBAAiB,OAAA;AACjB,8HAAA,wBAAwB,OAAA;AAKxB,iIAAA,2BAA2B,OAAA;AAC3B,8HAAA,wBAAwB,OAAA;AAG1B,kCAAkC;AAClC,2DAO8B;AAN5B,sHAAA,gBAAgB,OAAA;AAChB,wHAAA,kBAAkB,OAAA;AAGlB,kHAAA,YAAY,OAAA;AACZ,6HAAA,uBAAuB,OAAA;AAGzB,+EAA+E;AAC/E,mEAIkC;AAHhC,sIAAA,4BAA4B,OAAA;AAC5B,8HAAA,oBAAoB,OAAA;AAItB,yEAAyE;AACzE,0EAA0E;AAC1E,wEAAwE;AACxE,mCAAmC;AACnC,2EAAoH;AAA3G,4IAAA,8BAA8B,OAAA;AAEvC,4EAA4E;AAC5E,gFAAgF;AAChF,yEAAyE;AACzE,+EAA+E;AAC/E,0BAA0B;AAC1B,+DAAkG;AAAzF,gIAAA,wBAAwB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/adapters/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEH,oBAAoB;AACpB,yEAOqC;AANnC,oIAAA,uBAAuB,OAAA;AAGvB,uIAAA,0BAA0B,OAAA;AAC1B,oIAAA,uBAAuB,OAAA;AACvB,2IAAA,8BAA8B,OAAA;AAGhC,iBAAiB;AACjB,iEAOiC;AAN/B,4HAAA,mBAAmB,OAAA;AAGnB,+HAAA,sBAAsB,OAAA;AACtB,4HAAA,mBAAmB,OAAA;AACnB,mIAAA,0BAA0B,OAAA;AAG5B,sBAAsB;AACtB,uDAO4B;AAN1B,mHAAA,eAAe,OAAA;AACf,qHAAA,iBAAiB,OAAA;AAGjB,sHAAA,kBAAkB,OAAA;AAClB,0HAAA,sBAAsB,OAAA;AAGxB,4CAA4C;AAC5C,2DAS8B;AAR5B,uHAAA,iBAAiB,OAAA;AACjB,8HAAA,wBAAwB,OAAA;AAKxB,iIAAA,2BAA2B,OAAA;AAC3B,8HAAA,wBAAwB,OAAA;AAG1B,kCAAkC;AAClC,2DAO8B;AAN5B,sHAAA,gBAAgB,OAAA;AAChB,wHAAA,kBAAkB,OAAA;AAGlB,kHAAA,YAAY,OAAA;AACZ,6HAAA,uBAAuB,OAAA;AAGzB,+EAA+E;AAC/E,mEAIkC;AAHhC,sIAAA,4BAA4B,OAAA;AAC5B,8HAAA,oBAAoB,OAAA;AAItB,yEAAyE;AACzE,0EAA0E;AAC1E,wEAAwE;AACxE,mCAAmC;AACnC,2EAAoH;AAA3G,4IAAA,8BAA8B,OAAA;AAEvC,4EAA4E;AAC5E,gFAAgF;AAChF,yEAAyE;AACzE,+EAA+E;AAC/E,0BAA0B;AAC1B,+DAAkG;AAAzF,gIAAA,wBAAwB,OAAA;AAEjC,6EAA6E;AAC7E,4EAA4E;AAC5E,gFAAgF;AAChF,mFAAmF;AACnF,iEAAqG;AAA5F,kIAAA,yBAAyB,OAAA"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*
|
|
15
15
|
* Closes adcp-client#1363.
|
|
16
16
|
*
|
|
17
|
-
* **Picking an AccountStore?**
|
|
17
|
+
* **Picking an AccountStore?** Four reference shapes by *who creates the
|
|
18
18
|
* account*:
|
|
19
19
|
* - **Buyer self-onboards via `sync_accounts`** → `InMemoryImplicitAccountStore`
|
|
20
20
|
* (Shape A).
|
|
@@ -22,6 +22,8 @@
|
|
|
22
22
|
* (this file, Shape B, returns just `resolve`).
|
|
23
23
|
* - **Publisher ops curates the roster** → `createRosterAccountStore`
|
|
24
24
|
* (Shape C, complete AccountStore).
|
|
25
|
+
* - **No account concept — auth principal IS the tenant** → `createDerivedAccountStore`
|
|
26
|
+
* (Shape D, `resolution: 'derived'`).
|
|
25
27
|
*
|
|
26
28
|
* @public
|
|
27
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-passthrough-resolver.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/oauth-passthrough-resolver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"oauth-passthrough-resolver.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/oauth-passthrough-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAElF;;;;GAIG;AACH,MAAM,WAAW,+BAA+B,CAAC,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/F;;;;;OAKG;IACH,UAAU,EAAE,kBAAkB,CAAC;IAE/B;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,YAAY,GAAG,MAAM,CAAC;IAEtC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,GAAG,SAAS,KAAK,WAAW,GAAG,SAAS,CAAC;IAE9E;;;;;;;;;;;;OAYG;IACH,SAAS,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,GAAG,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErF;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,KAAK,MAAM,CAAC;QAC/D,qFAAqF;QACrF,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,wBAAgB,8BAA8B,CAC5C,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5C,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAElC,OAAO,EAAE,+BAA+B,CAAC,YAAY,EAAE,QAAQ,CAAC,GAC/D,CAAC,GAAG,EAAE,gBAAgB,GAAG,SAAS,EAAE,GAAG,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CA2DhG"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* Closes adcp-client#1363.
|
|
17
17
|
*
|
|
18
|
-
* **Picking an AccountStore?**
|
|
18
|
+
* **Picking an AccountStore?** Four reference shapes by *who creates the
|
|
19
19
|
* account*:
|
|
20
20
|
* - **Buyer self-onboards via `sync_accounts`** → `InMemoryImplicitAccountStore`
|
|
21
21
|
* (Shape A).
|
|
@@ -23,6 +23,8 @@
|
|
|
23
23
|
* (this file, Shape B, returns just `resolve`).
|
|
24
24
|
* - **Publisher ops curates the roster** → `createRosterAccountStore`
|
|
25
25
|
* (Shape C, complete AccountStore).
|
|
26
|
+
* - **No account concept — auth principal IS the tenant** → `createDerivedAccountStore`
|
|
27
|
+
* (Shape D, `resolution: 'derived'`).
|
|
26
28
|
*
|
|
27
29
|
* @public
|
|
28
30
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-passthrough-resolver.js","sourceRoot":"","sources":["../../../src/lib/adapters/oauth-passthrough-resolver.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"oauth-passthrough-resolver.js","sourceRoot":"","sources":["../../../src/lib/adapters/oauth-passthrough-resolver.ts"],"names":[],"mappings":"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"}
|