@contractspec/example.integration-supabase 1.57.0 → 1.58.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 (53) hide show
  1. package/.turbo/turbo-build.log +40 -39
  2. package/.turbo/turbo-prebuild.log +1 -0
  3. package/CHANGELOG.md +14 -0
  4. package/dist/blueprint.d.ts +2 -6
  5. package/dist/blueprint.d.ts.map +1 -1
  6. package/dist/blueprint.js +67 -74
  7. package/dist/browser/blueprint.js +67 -0
  8. package/dist/browser/connection.sample.js +54 -0
  9. package/dist/browser/docs/index.js +54 -0
  10. package/dist/browser/docs/integration-supabase.docblock.js +54 -0
  11. package/dist/browser/example.js +33 -0
  12. package/dist/browser/index.js +278 -0
  13. package/dist/browser/runtime.sample.js +32 -0
  14. package/dist/browser/tenant.js +42 -0
  15. package/dist/connection.sample.d.ts +4 -8
  16. package/dist/connection.sample.d.ts.map +1 -1
  17. package/dist/connection.sample.js +53 -48
  18. package/dist/docs/index.d.ts +2 -1
  19. package/dist/docs/index.d.ts.map +1 -0
  20. package/dist/docs/index.js +55 -1
  21. package/dist/docs/integration-supabase.docblock.d.ts +2 -1
  22. package/dist/docs/integration-supabase.docblock.d.ts.map +1 -0
  23. package/dist/docs/integration-supabase.docblock.js +25 -30
  24. package/dist/example.d.ts +2 -6
  25. package/dist/example.d.ts.map +1 -1
  26. package/dist/example.js +32 -44
  27. package/dist/index.d.ts +7 -6
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +279 -8
  30. package/dist/node/blueprint.js +67 -0
  31. package/dist/node/connection.sample.js +54 -0
  32. package/dist/node/docs/index.js +54 -0
  33. package/dist/node/docs/integration-supabase.docblock.js +54 -0
  34. package/dist/node/example.js +33 -0
  35. package/dist/node/index.js +278 -0
  36. package/dist/node/runtime.sample.js +32 -0
  37. package/dist/node/tenant.js +42 -0
  38. package/dist/runtime.sample.d.ts +9 -13
  39. package/dist/runtime.sample.d.ts.map +1 -1
  40. package/dist/runtime.sample.js +30 -40
  41. package/dist/tenant.d.ts +2 -6
  42. package/dist/tenant.d.ts.map +1 -1
  43. package/dist/tenant.js +42 -39
  44. package/package.json +86 -31
  45. package/tsdown.config.js +1 -2
  46. package/.turbo/turbo-build$colon$bundle.log +0 -42
  47. package/dist/blueprint.js.map +0 -1
  48. package/dist/connection.sample.js.map +0 -1
  49. package/dist/docs/integration-supabase.docblock.js.map +0 -1
  50. package/dist/example.js.map +0 -1
  51. package/dist/runtime.sample.js.map +0 -1
  52. package/dist/tenant.js.map +0 -1
  53. package/tsconfig.tsbuildinfo +0 -1
package/package.json CHANGED
@@ -1,56 +1,111 @@
1
1
  {
2
2
  "name": "@contractspec/example.integration-supabase",
3
- "version": "1.57.0",
3
+ "version": "1.58.0",
4
4
  "description": "Integration example - Supabase vector store + Postgres database wiring.",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
7
7
  "exports": {
8
- ".": "./dist/index.js",
9
- "./blueprint": "./dist/blueprint.js",
10
- "./connection.sample": "./dist/connection.sample.js",
11
- "./docs": "./dist/docs/index.js",
12
- "./docs/integration-supabase.docblock": "./dist/docs/integration-supabase.docblock.js",
13
- "./example": "./dist/example.js",
14
- "./runtime.sample": "./dist/runtime.sample.js",
15
- "./tenant": "./dist/tenant.js",
16
- "./*": "./*"
8
+ ".": "./src/index.ts",
9
+ "./blueprint": "./src/blueprint.ts",
10
+ "./connection.sample": "./src/connection.sample.ts",
11
+ "./docs": "./src/docs/index.ts",
12
+ "./docs/index": "./src/docs/index.ts",
13
+ "./docs/integration-supabase.docblock": "./src/docs/integration-supabase.docblock.ts",
14
+ "./example": "./src/example.ts",
15
+ "./runtime.sample": "./src/runtime.sample.ts",
16
+ "./tenant": "./src/tenant.ts"
17
17
  },
18
18
  "scripts": {
19
19
  "publish:pkg": "bun publish --tolerate-republish --ignore-scripts --verbose",
20
20
  "publish:pkg:canary": "bun publish:pkg --tag canary",
21
- "build": "bun build:types && bun build:bundle",
22
- "build:bundle": "tsdown",
23
- "build:types": "tsc --noEmit",
24
- "dev": "bun build:bundle --watch",
21
+ "build": "bun run prebuild && bun run build:bundle && bun run build:types",
22
+ "build:bundle": "contractspec-bun-build transpile",
23
+ "build:types": "contractspec-bun-build types",
24
+ "dev": "contractspec-bun-build dev",
25
25
  "clean": "rimraf dist .turbo",
26
26
  "lint": "bun lint:fix",
27
27
  "lint:fix": "eslint src --fix",
28
28
  "lint:check": "eslint src",
29
- "test": "bun test"
29
+ "test": "bun test",
30
+ "prebuild": "contractspec-bun-build prebuild",
31
+ "typecheck": "tsc --noEmit"
30
32
  },
31
33
  "dependencies": {
32
- "@contractspec/integration.providers-impls": "1.57.0",
33
- "@contractspec/integration.runtime": "1.57.0",
34
- "@contractspec/lib.contracts": "1.57.0"
34
+ "@contractspec/integration.providers-impls": "1.58.0",
35
+ "@contractspec/integration.runtime": "1.58.0",
36
+ "@contractspec/lib.contracts": "1.58.0"
35
37
  },
36
38
  "devDependencies": {
37
- "@contractspec/tool.tsdown": "1.57.0",
38
- "@contractspec/tool.typescript": "1.57.0",
39
- "tsdown": "^0.20.3",
40
- "typescript": "^5.9.3"
39
+ "@contractspec/tool.typescript": "1.58.0",
40
+ "typescript": "^5.9.3",
41
+ "@contractspec/tool.bun": "1.57.0"
41
42
  },
42
43
  "publishConfig": {
43
44
  "access": "public",
44
45
  "exports": {
45
- ".": "./dist/index.js",
46
- "./blueprint": "./dist/blueprint.js",
47
- "./connection.sample": "./dist/connection.sample.js",
48
- "./docs": "./dist/docs/index.js",
49
- "./docs/integration-supabase.docblock": "./dist/docs/integration-supabase.docblock.js",
50
- "./example": "./dist/example.js",
51
- "./runtime.sample": "./dist/runtime.sample.js",
52
- "./tenant": "./dist/tenant.js",
53
- "./*": "./*"
46
+ ".": {
47
+ "types": "./dist/index.d.ts",
48
+ "bun": "./dist/index.js",
49
+ "node": "./dist/node/index.mjs",
50
+ "browser": "./dist/browser/index.js",
51
+ "default": "./dist/index.js"
52
+ },
53
+ "./blueprint": {
54
+ "types": "./dist/blueprint.d.ts",
55
+ "bun": "./dist/blueprint.js",
56
+ "node": "./dist/node/blueprint.mjs",
57
+ "browser": "./dist/browser/blueprint.js",
58
+ "default": "./dist/blueprint.js"
59
+ },
60
+ "./connection.sample": {
61
+ "types": "./dist/connection.sample.d.ts",
62
+ "bun": "./dist/connection.sample.js",
63
+ "node": "./dist/node/connection.sample.mjs",
64
+ "browser": "./dist/browser/connection.sample.js",
65
+ "default": "./dist/connection.sample.js"
66
+ },
67
+ "./docs": {
68
+ "types": "./dist/docs/index.d.ts",
69
+ "bun": "./dist/docs/index.js",
70
+ "node": "./dist/node/docs/index.mjs",
71
+ "browser": "./dist/browser/docs/index.js",
72
+ "default": "./dist/docs/index.js"
73
+ },
74
+ "./docs/index": {
75
+ "types": "./dist/docs/index.d.ts",
76
+ "bun": "./dist/docs/index.js",
77
+ "node": "./dist/node/docs/index.mjs",
78
+ "browser": "./dist/browser/docs/index.js",
79
+ "default": "./dist/docs/index.js"
80
+ },
81
+ "./docs/integration-supabase.docblock": {
82
+ "types": "./dist/docs/integration-supabase.docblock.d.ts",
83
+ "bun": "./dist/docs/integration-supabase.docblock.js",
84
+ "node": "./dist/node/docs/integration-supabase.docblock.mjs",
85
+ "browser": "./dist/browser/docs/integration-supabase.docblock.js",
86
+ "default": "./dist/docs/integration-supabase.docblock.js"
87
+ },
88
+ "./example": {
89
+ "types": "./dist/example.d.ts",
90
+ "bun": "./dist/example.js",
91
+ "node": "./dist/node/example.mjs",
92
+ "browser": "./dist/browser/example.js",
93
+ "default": "./dist/example.js"
94
+ },
95
+ "./runtime.sample": {
96
+ "types": "./dist/runtime.sample.d.ts",
97
+ "bun": "./dist/runtime.sample.js",
98
+ "node": "./dist/node/runtime.sample.mjs",
99
+ "browser": "./dist/browser/runtime.sample.js",
100
+ "default": "./dist/runtime.sample.js"
101
+ },
102
+ "./tenant": {
103
+ "types": "./dist/tenant.d.ts",
104
+ "bun": "./dist/tenant.js",
105
+ "node": "./dist/node/tenant.mjs",
106
+ "browser": "./dist/browser/tenant.js",
107
+ "default": "./dist/tenant.js"
108
+ }
54
109
  },
55
110
  "registry": "https://registry.npmjs.org/"
56
111
  },
package/tsdown.config.js CHANGED
@@ -1,5 +1,4 @@
1
- import { defineConfig } from 'tsdown';
2
- import { moduleLibrary } from '@contractspec/tool.tsdown';
1
+ import { defineConfig, moduleLibrary } from '@contractspec/tool.bun';
3
2
 
4
3
  export default defineConfig(() => ({
5
4
  ...moduleLibrary,
@@ -1,42 +0,0 @@
1
- $ tsdown
2
- ℹ tsdown v0.20.3 powered by rolldown v1.0.0-rc.3
3
- ℹ config file: /home/runner/work/contractspec/contractspec/packages/examples/integration-supabase/tsdown.config.js
4
- ℹ entry: src/blueprint.ts, src/connection.sample.ts, src/example.ts, src/index.ts, src/runtime.sample.ts, src/tenant.ts, src/docs/index.ts, src/docs/integration-supabase.docblock.ts
5
- ℹ target: esnext
6
- ℹ tsconfig: tsconfig.json
7
- ℹ Build start
8
- ℹ Cleaning 28 files
9
- ℹ dist/docs/integration-supabase.docblock.js 2.34 kB │ gzip: 1.09 kB
10
- ℹ dist/blueprint.js 1.84 kB │ gzip: 0.72 kB
11
- ℹ dist/connection.sample.js 1.43 kB │ gzip: 0.50 kB
12
- ℹ dist/tenant.js 1.11 kB │ gzip: 0.53 kB
13
- ℹ dist/runtime.sample.js 1.07 kB │ gzip: 0.54 kB
14
- ℹ dist/example.js 1.04 kB │ gzip: 0.54 kB
15
- ℹ dist/index.js 0.56 kB │ gzip: 0.20 kB
16
- ℹ dist/docs/index.js 0.04 kB │ gzip: 0.07 kB
17
- ℹ dist/docs/integration-supabase.docblock.js.map 2.92 kB │ gzip: 1.30 kB
18
- ℹ dist/blueprint.js.map 2.90 kB │ gzip: 1.05 kB
19
- ℹ dist/runtime.sample.js.map 2.22 kB │ gzip: 0.94 kB
20
- ℹ dist/connection.sample.js.map 2.19 kB │ gzip: 0.72 kB
21
- ℹ dist/tenant.js.map 1.80 kB │ gzip: 0.81 kB
22
- ℹ dist/example.js.map 1.51 kB │ gzip: 0.73 kB
23
- ℹ dist/runtime.sample.d.ts.map 0.28 kB │ gzip: 0.19 kB
24
- ℹ dist/connection.sample.d.ts.map 0.20 kB │ gzip: 0.15 kB
25
- ℹ dist/example.d.ts.map 0.13 kB │ gzip: 0.13 kB
26
- ℹ dist/blueprint.d.ts.map 0.12 kB │ gzip: 0.12 kB
27
- ℹ dist/tenant.d.ts.map 0.11 kB │ gzip: 0.12 kB
28
- ℹ dist/runtime.sample.d.ts 0.73 kB │ gzip: 0.32 kB
29
- ℹ dist/index.d.ts 0.66 kB │ gzip: 0.21 kB
30
- ℹ dist/connection.sample.d.ts 0.48 kB │ gzip: 0.21 kB
31
- ℹ dist/blueprint.d.ts 0.26 kB │ gzip: 0.18 kB
32
- ℹ dist/tenant.d.ts 0.26 kB │ gzip: 0.18 kB
33
- ℹ dist/example.d.ts 0.25 kB │ gzip: 0.17 kB
34
- ℹ dist/docs/index.d.ts 0.01 kB │ gzip: 0.03 kB
35
- ℹ dist/docs/integration-supabase.docblock.d.ts 0.01 kB │ gzip: 0.03 kB
36
- ℹ 27 files, total: 26.47 kB
37
- [PLUGIN_TIMINGS] Warning: Your build spent significant time in plugins. Here is a breakdown:
38
- - rolldown-plugin-dts:generate (65%)
39
- - tsdown:external (32%)
40
- See https://rolldown.rs/options/checks#plugintimings for more details.
41
-
42
- ✔ Build complete in 16194ms
@@ -1 +0,0 @@
1
- {"version":3,"file":"blueprint.js","names":[],"sources":["../src/blueprint.ts"],"sourcesContent":["import type { AppBlueprintSpec } from '@contractspec/lib.contracts/app-config/spec';\nimport {\n OwnersEnum,\n StabilityEnum,\n TagsEnum,\n} from '@contractspec/lib.contracts/ownership';\n\nexport const supabaseKnowledgeBlueprint: AppBlueprintSpec = {\n meta: {\n key: 'knowledge.supabase.dual-store',\n version: '1.0.0',\n appId: 'knowledge-assistant',\n title: 'Knowledge Assistant - Supabase Dual Store',\n description:\n 'Blueprint that uses Supabase for both vector retrieval and SQL-backed analytics.',\n domain: 'knowledge',\n owners: [OwnersEnum.PlatformCore],\n tags: [\n TagsEnum.Automation,\n 'knowledge',\n 'supabase',\n 'vector-db',\n 'database',\n ],\n stability: StabilityEnum.Experimental,\n },\n capabilities: {\n enabled: [\n { key: 'vector-db.search', version: '1.0.0' },\n { key: 'vector-db.storage', version: '1.0.0' },\n { key: 'database.sql', version: '1.0.0' },\n ],\n },\n integrationSlots: [\n {\n slotId: 'primary-vector-db',\n requiredCategory: 'vector-db',\n allowedModes: ['managed', 'byok'],\n requiredCapabilities: [\n { key: 'vector-db.search', version: '1.0.0' },\n { key: 'vector-db.storage', version: '1.0.0' },\n ],\n required: true,\n description: 'Primary semantic retrieval store for knowledge chunks.',\n },\n {\n slotId: 'primary-database',\n requiredCategory: 'database',\n allowedModes: ['managed', 'byok'],\n requiredCapabilities: [{ key: 'database.sql', version: '1.0.0' }],\n required: true,\n description:\n 'Primary SQL database for analytics and transactional reads.',\n },\n ],\n workflows: {\n ingestKnowledge: {\n key: 'knowledge.ingest.supabase',\n version: '1.0.0',\n },\n refreshMetrics: {\n key: 'knowledge.metrics.supabase',\n version: '1.0.0',\n },\n },\n notes:\n 'Bind both slots to Supabase connections when you want shared infra for embeddings and SQL operations.',\n};\n"],"mappings":";;;AAOA,MAAa,6BAA+C;CAC1D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,WAAW,aAAa;EACjC,MAAM;GACJ,SAAS;GACT;GACA;GACA;GACA;GACD;EACD,WAAW,cAAc;EAC1B;CACD,cAAc,EACZ,SAAS;EACP;GAAE,KAAK;GAAoB,SAAS;GAAS;EAC7C;GAAE,KAAK;GAAqB,SAAS;GAAS;EAC9C;GAAE,KAAK;GAAgB,SAAS;GAAS;EAC1C,EACF;CACD,kBAAkB,CAChB;EACE,QAAQ;EACR,kBAAkB;EAClB,cAAc,CAAC,WAAW,OAAO;EACjC,sBAAsB,CACpB;GAAE,KAAK;GAAoB,SAAS;GAAS,EAC7C;GAAE,KAAK;GAAqB,SAAS;GAAS,CAC/C;EACD,UAAU;EACV,aAAa;EACd,EACD;EACE,QAAQ;EACR,kBAAkB;EAClB,cAAc,CAAC,WAAW,OAAO;EACjC,sBAAsB,CAAC;GAAE,KAAK;GAAgB,SAAS;GAAS,CAAC;EACjE,UAAU;EACV,aACE;EACH,CACF;CACD,WAAW;EACT,iBAAiB;GACf,KAAK;GACL,SAAS;GACV;EACD,gBAAgB;GACd,KAAK;GACL,SAAS;GACV;EACF;CACD,OACE;CACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection.sample.js","names":[],"sources":["../src/connection.sample.ts"],"sourcesContent":["import type { IntegrationConnection } from '@contractspec/lib.contracts/integrations/connection';\n\nexport const supabaseVectorConnection: IntegrationConnection = {\n meta: {\n id: 'conn-supabase-vector',\n tenantId: 'acme-knowledge',\n integrationKey: 'vectordb.supabase',\n integrationVersion: '1.0.0',\n label: 'Supabase Vector Store',\n environment: 'production',\n createdAt: '2026-02-06T00:00:00.000Z',\n updatedAt: '2026-02-06T00:00:00.000Z',\n },\n ownershipMode: 'managed',\n config: {\n schema: 'public',\n table: 'contractspec_vectors',\n createTableIfMissing: true,\n distanceMetric: 'cosine',\n maxConnections: 5,\n sslMode: 'require',\n },\n secretProvider: 'vault',\n secretRef: 'vault://integrations/acme-knowledge/conn-supabase-vector',\n status: 'connected',\n};\n\nexport const supabaseDatabaseConnection: IntegrationConnection = {\n meta: {\n id: 'conn-supabase-db',\n tenantId: 'acme-knowledge',\n integrationKey: 'database.supabase',\n integrationVersion: '1.0.0',\n label: 'Supabase Postgres',\n environment: 'production',\n createdAt: '2026-02-06T00:00:00.000Z',\n updatedAt: '2026-02-06T00:00:00.000Z',\n },\n ownershipMode: 'managed',\n config: {\n maxConnections: 10,\n sslMode: 'require',\n },\n secretProvider: 'vault',\n secretRef: 'vault://integrations/acme-knowledge/conn-supabase-db',\n status: 'connected',\n};\n\nexport const supabaseConnectionSamples: IntegrationConnection[] = [\n supabaseVectorConnection,\n supabaseDatabaseConnection,\n];\n"],"mappings":";AAEA,MAAa,2BAAkD;CAC7D,MAAM;EACJ,IAAI;EACJ,UAAU;EACV,gBAAgB;EAChB,oBAAoB;EACpB,OAAO;EACP,aAAa;EACb,WAAW;EACX,WAAW;EACZ;CACD,eAAe;CACf,QAAQ;EACN,QAAQ;EACR,OAAO;EACP,sBAAsB;EACtB,gBAAgB;EAChB,gBAAgB;EAChB,SAAS;EACV;CACD,gBAAgB;CAChB,WAAW;CACX,QAAQ;CACT;AAED,MAAa,6BAAoD;CAC/D,MAAM;EACJ,IAAI;EACJ,UAAU;EACV,gBAAgB;EAChB,oBAAoB;EACpB,OAAO;EACP,aAAa;EACb,WAAW;EACX,WAAW;EACZ;CACD,eAAe;CACf,QAAQ;EACN,gBAAgB;EAChB,SAAS;EACV;CACD,gBAAgB;CAChB,WAAW;CACX,QAAQ;CACT;AAED,MAAa,4BAAqD,CAChE,0BACA,2BACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"integration-supabase.docblock.js","names":[],"sources":["../../src/docs/integration-supabase.docblock.ts"],"sourcesContent":["import type { DocBlock } from '@contractspec/lib.contracts/docs';\nimport { registerDocBlocks } from '@contractspec/lib.contracts/docs';\n\nconst blocks: DocBlock[] = [\n {\n id: 'docs.examples.integration-supabase',\n title: 'Integration Example - Supabase Vector + Postgres',\n summary:\n 'Reference example wiring Supabase vector and SQL integrations in one tenant configuration.',\n kind: 'reference',\n visibility: 'public',\n route: '/docs/examples/integration-supabase',\n tags: ['supabase', 'vector-db', 'database', 'integration', 'example'],\n body: `## What this example includes\n- A blueprint declaring two required integration slots:\n - \\`primary-vector-db\\` bound to \\`vectordb.supabase\\`\n - \\`primary-database\\` bound to \\`database.supabase\\`\n- A tenant config binding both slots.\n- Connection samples with clear \\`config\\` vs \\`secretRef\\` separation.\n- A runtime sample that upserts/searches vectors and executes SQL queries.\n\n## Why this pattern\n- Keeps integration concerns explicit and auditable in app-config.\n- Enables shared Supabase infrastructure for retrieval + analytics.\n- Preserves secret management boundaries (no credentials in config/spec).`,\n },\n {\n id: 'docs.examples.integration-supabase.usage',\n title: 'Supabase Integration Example - Usage',\n summary:\n 'Step-by-step usage of the Supabase dual-store integration example.',\n kind: 'usage',\n visibility: 'public',\n route: '/docs/examples/integration-supabase/usage',\n tags: ['supabase', 'usage'],\n body: `## Usage\n1) Register integration specs from \\`createDefaultIntegrationSpecRegistry()\\`.\n2) Persist both sample connections from \\`connection.sample.ts\\`.\n3) Publish the tenant config from \\`tenant.ts\\` with matching \\`connectionId\\` values.\n4) Use \\`runSupabaseKnowledgeRuntime(...)\\` to execute vector and SQL calls through \\`IntegrationProviderFactory\\`.\n\n## Secret payload\nStore the following payload in your secret provider target for each connection:\n\n\\`\\`\\`json\n{\n \"databaseUrl\": \"postgresql://postgres.<project-ref>:<password>@aws-0-<region>.pooler.supabase.com:6543/postgres\"\n}\n\\`\\`\\`\n\n## Guardrails\n- Never place credentials in \\`config\\` or source control.\n- Keep operational SQL behind explicit workflows/operations.\n- Restrict DB credentials to least-privilege roles whenever possible.`,\n },\n];\n\nregisterDocBlocks(blocks);\n"],"mappings":";;;AAyDA,kBAtD2B,CACzB;CACE,IAAI;CACJ,OAAO;CACP,SACE;CACF,MAAM;CACN,YAAY;CACZ,OAAO;CACP,MAAM;EAAC;EAAY;EAAa;EAAY;EAAe;EAAU;CACrE,MAAM;;;;;;;;;;;;CAYP,EACD;CACE,IAAI;CACJ,OAAO;CACP,SACE;CACF,MAAM;CACN,YAAY;CACZ,OAAO;CACP,MAAM,CAAC,YAAY,QAAQ;CAC3B,MAAM;;;;;;;;;;;;;;;;;;;CAmBP,CACF,CAEwB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"example.js","names":[],"sources":["../src/example.ts"],"sourcesContent":["import { defineExample } from '@contractspec/lib.contracts';\n\nconst example = defineExample({\n meta: {\n key: 'integration-supabase',\n version: '1.0.0',\n title: 'Integration - Supabase Vector + Postgres',\n description:\n 'Wire AppBlueprint and TenantAppConfig to use Supabase for both vector retrieval and SQL workloads.',\n kind: 'integration',\n visibility: 'public',\n stability: 'experimental',\n owners: ['@platform.core'],\n tags: ['supabase', 'pgvector', 'postgres', 'integration', 'knowledge'],\n },\n docs: {\n rootDocId: 'docs.examples.integration-supabase',\n usageDocId: 'docs.examples.integration-supabase.usage',\n },\n entrypoints: {\n packageName: '@contractspec/example.integration-supabase',\n docs: './docs',\n },\n surfaces: {\n templates: true,\n sandbox: { enabled: true, modes: ['markdown', 'specs'] },\n studio: { enabled: true, installable: true },\n mcp: { enabled: true },\n },\n});\n\nexport default example;\n"],"mappings":";;;AAEA,MAAM,UAAU,cAAc;CAC5B,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,MAAM;EACN,YAAY;EACZ,WAAW;EACX,QAAQ,CAAC,iBAAiB;EAC1B,MAAM;GAAC;GAAY;GAAY;GAAY;GAAe;GAAY;EACvE;CACD,MAAM;EACJ,WAAW;EACX,YAAY;EACb;CACD,aAAa;EACX,aAAa;EACb,MAAM;EACP;CACD,UAAU;EACR,WAAW;EACX,SAAS;GAAE,SAAS;GAAM,OAAO,CAAC,YAAY,QAAQ;GAAE;EACxD,QAAQ;GAAE,SAAS;GAAM,aAAa;GAAM;EAC5C,KAAK,EAAE,SAAS,MAAM;EACvB;CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.sample.js","names":[],"sources":["../src/runtime.sample.ts"],"sourcesContent":["import type { VectorSearchResult } from '@contractspec/integration.providers-impls/vector-store';\nimport { IntegrationProviderFactory } from '@contractspec/integration.providers-impls/impls/provider-factory';\nimport type { IntegrationContext } from '@contractspec/integration.runtime/runtime';\n\nexport interface SupabaseKnowledgeRuntimeParams {\n vectorContext: IntegrationContext;\n databaseContext: IntegrationContext;\n}\n\nexport interface SupabaseKnowledgeRuntimeResult {\n matches: VectorSearchResult[];\n indexedDocumentCount: number;\n}\n\nexport async function runSupabaseKnowledgeRuntime(\n params: SupabaseKnowledgeRuntimeParams\n): Promise<SupabaseKnowledgeRuntimeResult> {\n const factory = new IntegrationProviderFactory();\n\n const vectorStore = await factory.createVectorStoreProvider(\n params.vectorContext\n );\n const database = await factory.createDatabaseProvider(params.databaseContext);\n\n await vectorStore.upsert({\n collection: 'knowledge_chunks',\n documents: [\n {\n id: 'chunk-1',\n vector: [0.11, 0.23, 0.45],\n payload: { source: 'faq', locale: 'en' },\n },\n ],\n });\n\n const matches = await vectorStore.search({\n collection: 'knowledge_chunks',\n vector: [0.12, 0.22, 0.44],\n topK: 5,\n filter: { source: 'faq' },\n });\n\n const count = await database.query<{ total: number }>(\n 'SELECT COUNT(*)::int AS total FROM knowledge_chunks;'\n );\n\n await database.close();\n\n return {\n matches,\n indexedDocumentCount: count.rows[0]?.total ?? 0,\n };\n}\n"],"mappings":";;;AAcA,eAAsB,4BACpB,QACyC;CACzC,MAAM,UAAU,IAAI,4BAA4B;CAEhD,MAAM,cAAc,MAAM,QAAQ,0BAChC,OAAO,cACR;CACD,MAAM,WAAW,MAAM,QAAQ,uBAAuB,OAAO,gBAAgB;AAE7E,OAAM,YAAY,OAAO;EACvB,YAAY;EACZ,WAAW,CACT;GACE,IAAI;GACJ,QAAQ;IAAC;IAAM;IAAM;IAAK;GAC1B,SAAS;IAAE,QAAQ;IAAO,QAAQ;IAAM;GACzC,CACF;EACF,CAAC;CAEF,MAAM,UAAU,MAAM,YAAY,OAAO;EACvC,YAAY;EACZ,QAAQ;GAAC;GAAM;GAAM;GAAK;EAC1B,MAAM;EACN,QAAQ,EAAE,QAAQ,OAAO;EAC1B,CAAC;CAEF,MAAM,QAAQ,MAAM,SAAS,MAC3B,uDACD;AAED,OAAM,SAAS,OAAO;AAEtB,QAAO;EACL;EACA,sBAAsB,MAAM,KAAK,IAAI,SAAS;EAC/C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tenant.js","names":[],"sources":["../src/tenant.ts"],"sourcesContent":["import type { TenantAppConfig } from '@contractspec/lib.contracts/app-config/spec';\n\nexport const supabaseKnowledgeTenantConfig: TenantAppConfig = {\n meta: {\n id: 'tenant-config-knowledge-supabase',\n tenantId: 'acme-knowledge',\n appId: 'knowledge-assistant',\n blueprintName: 'knowledge.supabase.dual-store',\n blueprintVersion: '1.0.0',\n environment: 'production',\n version: '1.0.0',\n status: 'published',\n createdAt: new Date().toISOString(),\n updatedAt: new Date().toISOString(),\n },\n integrations: [\n {\n slotId: 'primary-vector-db',\n connectionId: 'conn-supabase-vector',\n scope: {\n workflows: ['ingestKnowledge'],\n operations: ['knowledge.indexChunks', 'knowledge.semanticSearch'],\n },\n },\n {\n slotId: 'primary-database',\n connectionId: 'conn-supabase-db',\n scope: {\n workflows: ['refreshMetrics'],\n operations: ['knowledge.metrics.refresh', 'knowledge.metrics.query'],\n },\n },\n ],\n knowledge: [],\n locales: {\n defaultLocale: 'en',\n enabledLocales: ['en'],\n },\n notes:\n 'Supabase vector + SQL connections bound for production knowledge flows.',\n};\n"],"mappings":";AAEA,MAAa,gCAAiD;CAC5D,MAAM;EACJ,IAAI;EACJ,UAAU;EACV,OAAO;EACP,eAAe;EACf,kBAAkB;EAClB,aAAa;EACb,SAAS;EACT,QAAQ;EACR,4BAAW,IAAI,MAAM,EAAC,aAAa;EACnC,4BAAW,IAAI,MAAM,EAAC,aAAa;EACpC;CACD,cAAc,CACZ;EACE,QAAQ;EACR,cAAc;EACd,OAAO;GACL,WAAW,CAAC,kBAAkB;GAC9B,YAAY,CAAC,yBAAyB,2BAA2B;GAClE;EACF,EACD;EACE,QAAQ;EACR,cAAc;EACd,OAAO;GACL,WAAW,CAAC,iBAAiB;GAC7B,YAAY,CAAC,6BAA6B,0BAA0B;GACrE;EACF,CACF;CACD,WAAW,EAAE;CACb,SAAS;EACP,eAAe;EACf,gBAAgB,CAAC,KAAK;EACvB;CACD,OACE;CACH"}