@portablecore/integrations 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/config.d.ts CHANGED
@@ -5,12 +5,13 @@
5
5
  * `integrations` table with a well-defined fallback chain.
6
6
  *
7
7
  * Resolution order:
8
- * 1. Account-level (BYOK) — if scope.accountId provided
9
- * 2. User-level (OAuth tokens) — if scope.userId provided
10
- * 3. Studio-level (workspace) — if scope.studioId provided
11
- * 4. Platform-specific — if scope.platformIdentityId provided
12
- * 5. Metaplatform fallback auto-detected via platform_identity.is_metaplatform
13
- * 6. Any active platform integration legacy catch-all
8
+ * 1. Expert-level — if scope.expertId provided (per-expert AI provider keys)
9
+ * 2. Account-level (BYOK) — if scope.accountId provided
10
+ * 3. User-level (OAuth tokens) — if scope.userId provided
11
+ * 4. Studio-level (workspace) — if scope.studioId provided
12
+ * 5. Platform-specificif scope.platformIdentityId provided
13
+ * 6. Metaplatform fallback auto-detected via platform_identity.is_metaplatform
14
+ * 7. Any active platform integration — legacy catch-all
14
15
  *
15
16
  * This generalizes what Expert's `getProviderApiKey()` does for AI providers
16
17
  * and what `getTwilioConfig()` does for Twilio into a single function.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACd,MAAM,YAAY,CAAA;AAMnB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAwBzC;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAkC9E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACd,MAAM,YAAY,CAAC;AAMpB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAwBzC;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAAC,CAkCR"}
package/dist/config.js CHANGED
@@ -6,12 +6,13 @@
6
6
  * `integrations` table with a well-defined fallback chain.
7
7
  *
8
8
  * Resolution order:
9
- * 1. Account-level (BYOK) — if scope.accountId provided
10
- * 2. User-level (OAuth tokens) — if scope.userId provided
11
- * 3. Studio-level (workspace) — if scope.studioId provided
12
- * 4. Platform-specific — if scope.platformIdentityId provided
13
- * 5. Metaplatform fallback auto-detected via platform_identity.is_metaplatform
14
- * 6. Any active platform integration legacy catch-all
9
+ * 1. Expert-level — if scope.expertId provided (per-expert AI provider keys)
10
+ * 2. Account-level (BYOK) — if scope.accountId provided
11
+ * 3. User-level (OAuth tokens) — if scope.userId provided
12
+ * 4. Studio-level (workspace) — if scope.studioId provided
13
+ * 5. Platform-specificif scope.platformIdentityId provided
14
+ * 6. Metaplatform fallback auto-detected via platform_identity.is_metaplatform
15
+ * 7. Any active platform integration — legacy catch-all
15
16
  *
16
17
  * This generalizes what Expert's `getProviderApiKey()` does for AI providers
17
18
  * and what `getTwilioConfig()` does for Twilio into a single function.
@@ -113,7 +114,15 @@ async function getProviderApiKey(supabase, providerSlug, scope) {
113
114
  */
114
115
  function buildFallbackChain(scope) {
115
116
  const steps = [];
116
- // 1. Account-level (BYOK)
117
+ // 1. Expert-level (per-expert AI provider keys)
118
+ if (scope?.expertId) {
119
+ steps.push({
120
+ source: "expert",
121
+ contextType: "expert",
122
+ filters: { expert_id: scope.expertId },
123
+ });
124
+ }
125
+ // 2. Account-level (BYOK)
117
126
  if (scope?.accountId) {
118
127
  steps.push({
119
128
  source: "account",
@@ -121,7 +130,7 @@ function buildFallbackChain(scope) {
121
130
  filters: { account_id: scope.accountId },
122
131
  });
123
132
  }
124
- // 2. User-level (OAuth tokens)
133
+ // 3. User-level (OAuth tokens)
125
134
  if (scope?.userId) {
126
135
  steps.push({
127
136
  source: "user",
@@ -129,15 +138,15 @@ function buildFallbackChain(scope) {
129
138
  filters: { user_id: scope.userId },
130
139
  });
131
140
  }
132
- // 3. Studio-level (Team workspaces)
141
+ // 4. Studio/workspace-level (Team workspaces)
133
142
  if (scope?.studioId) {
134
143
  steps.push({
135
144
  source: "studio",
136
145
  contextType: "studio",
137
- filters: { studio_id: scope.studioId },
146
+ filters: { workspace_profile_id: scope.studioId },
138
147
  });
139
148
  }
140
- // 4. Platform-specific
149
+ // 5. Platform-specific
141
150
  if (scope?.platformIdentityId) {
142
151
  steps.push({
143
152
  source: "platform",
@@ -145,13 +154,13 @@ function buildFallbackChain(scope) {
145
154
  filters: { platform_identity_id: scope.platformIdentityId },
146
155
  });
147
156
  }
148
- // 5. Metaplatform fallback (resolved dynamically in queryIntegration)
157
+ // 6. Metaplatform fallback (resolved dynamically in queryIntegration)
149
158
  steps.push({
150
159
  source: "metaplatform",
151
160
  contextType: "platform",
152
161
  filters: { __metaplatform: "true" }, // sentinel — resolved at query time
153
162
  });
154
- // 6. Any active platform integration (legacy catch-all)
163
+ // 7. Any active platform integration (legacy catch-all)
155
164
  steps.push({
156
165
  source: "platform",
157
166
  contextType: "platform",
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -35,15 +35,18 @@ export type IntegrationRole = "think" | "work" | "infrastructure";
35
35
  * Scope for credential resolution.
36
36
  *
37
37
  * Determines which `integrations` rows are checked and in what order:
38
- * 1. Account-level (BYOK) — if `accountId` provided
39
- * 2. User-level (OAuth tokens) — if `userId` provided
40
- * 3. Studio-level (workspace) — if `studioId` provided
41
- * 4. Platform-specific — if `platformIdentityId` provided
42
- * 5. Metaplatform fallback auto-detected via `is_metaplatform`
43
- * 6. Any active platform integration legacy catch-all
38
+ * 1. Expert-level — if `expertId` provided (expert-scoped "think" keys)
39
+ * 2. Account-level (BYOK) — if `accountId` provided
40
+ * 3. User-level (OAuth tokens) — if `userId` provided
41
+ * 4. Studio-level (workspace) — if `studioId` provided
42
+ * 5. Platform-specificif `platformIdentityId` provided
43
+ * 6. Metaplatform fallback auto-detected via `is_metaplatform`
44
+ * 7. Any active platform integration — legacy catch-all
44
45
  */
45
46
  export interface ProviderScope {
46
- /** Check account-level integration first (BYOK API keys) */
47
+ /** Check expert-level integration first (per-expert AI provider keys) */
48
+ expertId?: string;
49
+ /** Check account-level integration (BYOK API keys) */
47
50
  accountId?: string;
48
51
  /** Check user-level integration (OAuth tokens) */
49
52
  userId?: string;
@@ -77,7 +80,7 @@ export interface ProviderConfigResult<T = Record<string, unknown>> {
77
80
  /** The settings JSONB column (non-secret configuration) */
78
81
  settings?: Record<string, unknown>;
79
82
  }
80
- export type ConfigSource = "account" | "user" | "studio" | "platform" | "metaplatform";
83
+ export type ConfigSource = "expert" | "account" | "user" | "studio" | "platform" | "metaplatform";
81
84
  /**
82
85
  * Maps an integration provider category to a PEP credential type.
83
86
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAMnC;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,EAAE,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB;;;;;;OAMG;IACH,eAAe,EAAE,eAAe,CAAA;CACjC;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,gBAAgB,CAAA;AAMjE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAMD;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/D,0DAA0D;IAC1D,MAAM,EAAE,CAAC,CAAA;IACT,6CAA6C;IAC7C,MAAM,EAAE,YAAY,CAAA;IACpB,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,cAAc,CAAA;AAMtF;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAA;IACpB,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IACtB,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAA;CACvB;AAED;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,EAAE,iBAAiB,EAS1D,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAMnC;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,EAAE,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB;;;;;;OAMG;IACH,eAAe,EAAE,eAAe,CAAA;CACjC;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,gBAAgB,CAAA;AAMjE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAMD;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/D,0DAA0D;IAC1D,MAAM,EAAE,CAAC,CAAA;IACT,6CAA6C;IAC7C,MAAM,EAAE,YAAY,CAAA;IACpB,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,cAAc,CAAA;AAMjG;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAA;IACpB,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAA;IACtB,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAA;CACvB;AAED;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,EAAE,iBAAiB,EAS1D,CAAA"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAiHH;;;;;GAKG;AACU,QAAA,2BAA2B,GAAwB;IAC9D,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE;IAClF,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE;IACxF,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE;IACvF,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE;IACzF,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,wBAAwB,EAAE;IAC3G,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,uBAAuB,EAAE;IACxG,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE;IAC5F,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE;CACrF,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAoHH;;;;;GAKG;AACU,QAAA,2BAA2B,GAAwB;IAC9D,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE;IAClF,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE;IACxF,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE;IACvF,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE;IACzF,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,wBAAwB,EAAE;IAC3G,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,uBAAuB,EAAE;IACxG,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE;IAC5F,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE;CACrF,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@portablecore/integrations",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "description": "Shared integration provider registry and credential resolution for Portable platforms",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",