pgbeam 0.4.11 → 0.4.12

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.
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, '__esModule', { value: true });
2
2
 
3
- var operationsMap_gen = require('./operations-map.gen-iasufy3r.cjs');
3
+ var operationsMap_gen = require('./operations-map.gen-mwk22v4l.cjs');
4
4
 
5
5
  /**
6
6
  * Generated by generate-sdk-ts-maps.ts from backend/openapi/bundles/public.yaml — do not edit manually.
@@ -501,6 +501,13 @@ var operationsMap_gen = require('./operations-map.gen-iasufy3r.cjs');
501
501
  "type": "number",
502
502
  "description": "Maximum number of items to return (1-100, default 20)."
503
503
  },
504
+ {
505
+ "name": "page_token",
506
+ "in": "query",
507
+ "required": false,
508
+ "type": "string",
509
+ "description": "Opaque token for cursor-based pagination."
510
+ },
504
511
  {
505
512
  "name": "If-None-Match",
506
513
  "in": "header",
@@ -1874,6 +1881,45 @@ var operationsMap_gen = require('./operations-map.gen-iasufy3r.cjs');
1874
1881
  "responseType": "{ organizations: ({ id: string; name: string; role?: string; slug: string })[] }",
1875
1882
  "responseStatus": "200"
1876
1883
  },
1884
+ "listPaymentResources": {
1885
+ "operationId": "listPaymentResources",
1886
+ "method": "GET",
1887
+ "path": "/v1/payments/resources",
1888
+ "summary": "List priced resources",
1889
+ "description": "Lists what an agent can buy over the Machine Payments Protocol, with the\nunit, the pack size, and the price of one pack. Discovery only: the\n`WWW-Authenticate: Payment` challenge returned by a priced operation is\nalways authoritative.\n\nThis endpoint takes no authentication so an agent can read the price\nbefore it holds a credential.\n",
1890
+ "parameters": [],
1891
+ "requestBodyType": "",
1892
+ "requestBodyRequired": false,
1893
+ "responseType": "{ resources: ({ amount_per_pack: number; currency: string; description?: string; id: string; max_packs: number; min_packs: number; operation_id?: string; title: string; unit: string; units_per_pack: number })[] }",
1894
+ "responseStatus": "200"
1895
+ },
1896
+ "createBudgetTopup": {
1897
+ "operationId": "createBudgetTopup",
1898
+ "method": "POST",
1899
+ "path": "/v1/payments/budget-topups",
1900
+ "summary": "Buy query budget for an agent credential",
1901
+ "description": "Buys additional queries for the agent credential this request is\nauthenticated as, using the Machine Payments Protocol (HTTP 402 with the\n`Payment` authentication scheme).\n\nAuthenticate with the credential's hosted MCP token (`pba_...`) as a\nbearer token. The credential identifies itself, so no human and no\ndashboard session is involved.\n\nWithout a payment credential the response is `402` carrying a complete\n`WWW-Authenticate: Payment` challenge. Fulfil it, then repeat the request\nwith the credential in the `Payment-Authorization` header (the challenge\nselects that field so the bearer token can stay in `Authorization`). On\nsuccess the queries are granted, streamed to the data planes, and the\nresponse carries a `Payment-Receipt` header.\n\nPurchased queries do not raise the credential's policy budget. They are a\nseparate pool the proxy spends only once the policy's hourly and daily\nwindows have refused a statement, and they expire.\n",
1902
+ "parameters": [
1903
+ {
1904
+ "name": "Payment-Authorization",
1905
+ "in": "header",
1906
+ "required": false,
1907
+ "type": "string",
1908
+ "description": "The MPP payment credential, `Payment <base64url>`, echoing the\nchallenge from the `402` and carrying the method-specific proof. For\nthe `stripe` method the payload is `{\"spt\": \"spt_...\"}`, a single-use\nShared Payment Token.\n"
1909
+ },
1910
+ {
1911
+ "name": "Accept-Payment",
1912
+ "in": "header",
1913
+ "required": false,
1914
+ "type": "string",
1915
+ "description": "Payment method and intent preferences, for example `stripe/charge`.\nIgnored when it matches nothing this endpoint offers.\n"
1916
+ }
1917
+ ],
1918
+ "requestBodyType": "{ packs?: number }",
1919
+ "requestBodyRequired": false,
1920
+ "responseType": "{ amount: number; credential_id: string; currency: string; expires_at: string; grant_id: string; payment_reference?: string; queries: number; receipt?: string }",
1921
+ "responseStatus": "201"
1922
+ },
1877
1923
  "listPolicyProfiles": {
1878
1924
  "operationId": "listPolicyProfiles",
1879
1925
  "method": "GET",
@@ -2285,7 +2331,7 @@ var operationsMap_gen = require('./operations-map.gen-iasufy3r.cjs');
2285
2331
  "method": "GET",
2286
2332
  "path": "/v1/databases/{database_id}/replicas",
2287
2333
  "summary": "List replicas",
2288
- "description": "Lists all read replicas for a database.",
2334
+ "description": "Lists a database's read replicas.",
2289
2335
  "parameters": [
2290
2336
  {
2291
2337
  "name": "database_id",
@@ -2294,6 +2340,20 @@ var operationsMap_gen = require('./operations-map.gen-iasufy3r.cjs');
2294
2340
  "type": "string",
2295
2341
  "description": "Unique database identifier (prefixed, e.g. db_xxx)."
2296
2342
  },
2343
+ {
2344
+ "name": "page_size",
2345
+ "in": "query",
2346
+ "required": false,
2347
+ "type": "number",
2348
+ "description": "Maximum number of items to return (1-100, default 20)."
2349
+ },
2350
+ {
2351
+ "name": "page_token",
2352
+ "in": "query",
2353
+ "required": false,
2354
+ "type": "string",
2355
+ "description": "Opaque token for cursor-based pagination."
2356
+ },
2297
2357
  {
2298
2358
  "name": "If-None-Match",
2299
2359
  "in": "header",
@@ -2477,6 +2537,20 @@ var operationsMap_gen = require('./operations-map.gen-iasufy3r.cjs');
2477
2537
  "type": "string",
2478
2538
  "description": "Unique organization identifier."
2479
2539
  },
2540
+ {
2541
+ "name": "page_size",
2542
+ "in": "query",
2543
+ "required": false,
2544
+ "type": "number",
2545
+ "description": "Maximum number of items to return (1-100, default 20)."
2546
+ },
2547
+ {
2548
+ "name": "page_token",
2549
+ "in": "query",
2550
+ "required": false,
2551
+ "type": "string",
2552
+ "description": "Opaque token for cursor-based pagination."
2553
+ },
2480
2554
  {
2481
2555
  "name": "If-None-Match",
2482
2556
  "in": "header",
@@ -2487,7 +2561,7 @@ var operationsMap_gen = require('./operations-map.gen-iasufy3r.cjs');
2487
2561
  ],
2488
2562
  "requestBodyType": "",
2489
2563
  "requestBodyRequired": false,
2490
- "responseType": "{ enrollments: ({ created_at: string; created_by?: string; description?: string; expires_at?: string; id: string; last_seen_at?: string; org_id: string; region_label?: string; revoked_at?: string })[] }",
2564
+ "responseType": "{ enrollments: ({ created_at: string; created_by?: string; description?: string; expires_at?: string; id: string; last_seen_at?: string; org_id: string; region_label?: string; revoked_at?: string })[]; next_page_token?: string }",
2491
2565
  "responseStatus": "200"
2492
2566
  },
2493
2567
  "createSelfHostEnrollment": {
@@ -2613,6 +2687,13 @@ var operationsMap_gen = require('./operations-map.gen-iasufy3r.cjs');
2613
2687
  "type": "number",
2614
2688
  "description": "Number of results per page (1-100, default 20)."
2615
2689
  },
2690
+ {
2691
+ "name": "page_token",
2692
+ "in": "query",
2693
+ "required": false,
2694
+ "type": "string",
2695
+ "description": "Opaque token for cursor-based pagination."
2696
+ },
2616
2697
  {
2617
2698
  "name": "page",
2618
2699
  "in": "query",
@@ -2630,7 +2711,7 @@ var operationsMap_gen = require('./operations-map.gen-iasufy3r.cjs');
2630
2711
  ],
2631
2712
  "requestBodyType": "",
2632
2713
  "requestBodyRequired": false,
2633
- "responseType": "{ cases: ({ case_number: number; closed_at?: string; created_at: string; id: string; message_count?: number; org_id: string; severity: number; slack_channel_id?: string; slack_thread_ts?: string; status: \"open\" | \"closed\"; title: string; updated_at: string; user_id: string })[]; total: number }",
2714
+ "responseType": "{ cases: ({ case_number: number; closed_at?: string; created_at: string; id: string; message_count?: number; org_id: string; severity: number; slack_channel_id?: string; slack_thread_ts?: string; status: \"open\" | \"closed\"; title: string; updated_at: string; user_id: string })[]; next_page_token?: string; total: number }",
2634
2715
  "responseStatus": "200"
2635
2716
  },
2636
2717
  "createSupportCase": {
@@ -2767,6 +2848,18 @@ var operationsMap_gen = require('./operations-map.gen-iasufy3r.cjs');
2767
2848
  "responseType": "",
2768
2849
  "responseStatus": "200"
2769
2850
  },
2851
+ "scanText": {
2852
+ "operationId": "scanText",
2853
+ "method": "POST",
2854
+ "path": "/v1/scan/text",
2855
+ "summary": "Scan untrusted text for prompt injection",
2856
+ "description": "Inspects one piece of untrusted text for the techniques used to smuggle instructions into a model's context, and returns a verdict, a recommended action, and the evidence behind it.\n\nTwo detector families run. The structural layer reads codepoints and scripts: invisible-codepoint runs, Unicode Tag smuggling, unterminated bidirectional overrides, and mixed-script words. None of those has a legitimate reason to appear in ordinary text, so a structural finding is a fact worth acting on. The lexical layer is exact-phrase matching with Unicode normalization, which is worth what exact-phrase matching is worth: it is a reason to look, and a support ticket quoting an attack contains the attack. Neither layer is a semantic classifier, and this endpoint does not pretend to catch prose that is hostile only in its meaning. The measured confusion matrix and the list of evasions that are known to work are published at https://pgbeam.com/docs/prompt-scan.\n\nAuthentication is optional. Anonymous callers get a free daily allowance keyed on their source address; an API key moves the allowance onto the organization. Past the allowance the endpoint answers 402 with a payment challenge.\n\nThe submitted text is held in memory for the duration of the request and is never logged, stored, or used to train anything. An `Idempotency-Key` is refused on this operation rather than honoured, because honouring it would persist the response, and the response quotes the submitted text back. The operation has no side effects beyond metering, so a retry is safe without one.",
2857
+ "parameters": [],
2858
+ "requestBodyType": "{ include_evidence?: boolean; layers?: (\"structural\" | \"lexical\")[]; text: string }",
2859
+ "requestBodyRequired": true,
2860
+ "responseType": "{ action: \"allow\" | \"review\" | \"block\"; action_reason: string; advice: string; engine: string; findings: ({ confidence: \"low\" | \"medium\" | \"high\"; detail: string; evidence?: string; layer: \"structural\" | \"lexical\"; offset: number; technique: \"invisible_run\" | \"tag_smuggling\" | \"bidi_override\" | \"mixed_script\" | \"instruction_phrase\" | \"invalid_encoding\" | \"truncated\" })[]; has_structural: boolean; highest_confidence?: \"low\" | \"medium\" | \"high\"; quota: { free_limit: number; free_remaining: number; paid_remaining: number; resets_at: string }; scanned_bytes: number; truncated: boolean; verdict: \"clean\" | \"suspicious\" | \"unscannable\" }",
2861
+ "responseStatus": "200"
2862
+ },
2770
2863
  "getOrganizationUsage": {
2771
2864
  "operationId": "getOrganizationUsage",
2772
2865
  "method": "GET",
@@ -1,4 +1,4 @@
1
- export { uB as ApiOperations, uC as ApiTag, uD as RequestMap, uE as Route, uF as operationsByPath, uG as operationsByTag } from './operations-map.gen-j0pyh1mi.js';
1
+ export { xQ as ApiOperations, xR as ApiTag, xS as RequestMap, xT as Route, xU as operationsByPath, xV as operationsByTag } from './operations-map.gen-w5n73m9l.js';
2
2
 
3
3
  /**
4
4
  * Generated by generate-sdk-ts-maps.ts from backend/openapi/bundles/public.yaml — do not edit manually.
@@ -1,4 +1,4 @@
1
- export { uB as ApiOperations, uC as ApiTag, uD as RequestMap, uE as Route, uF as operationsByPath, uG as operationsByTag } from './operations-map.gen-j0pyh1mi.js';
1
+ export { xQ as ApiOperations, xR as ApiTag, xS as RequestMap, xT as Route, xU as operationsByPath, xV as operationsByTag } from './operations-map.gen-w5n73m9l.js';
2
2
 
3
3
  /**
4
4
  * Generated by generate-sdk-ts-maps.ts from backend/openapi/bundles/public.yaml — do not edit manually.
@@ -1,4 +1,4 @@
1
- export { o as operationsByPath, a as operationsByTag } from './operations-map.gen-nws17nv5.js';
1
+ export { o as operationsByPath, a as operationsByTag } from './operations-map.gen-cr323vpc.js';
2
2
 
3
3
  /**
4
4
  * Generated by generate-sdk-ts-maps.ts from backend/openapi/bundles/public.yaml — do not edit manually.
@@ -499,6 +499,13 @@ export { o as operationsByPath, a as operationsByTag } from './operations-map.ge
499
499
  "type": "number",
500
500
  "description": "Maximum number of items to return (1-100, default 20)."
501
501
  },
502
+ {
503
+ "name": "page_token",
504
+ "in": "query",
505
+ "required": false,
506
+ "type": "string",
507
+ "description": "Opaque token for cursor-based pagination."
508
+ },
502
509
  {
503
510
  "name": "If-None-Match",
504
511
  "in": "header",
@@ -1872,6 +1879,45 @@ export { o as operationsByPath, a as operationsByTag } from './operations-map.ge
1872
1879
  "responseType": "{ organizations: ({ id: string; name: string; role?: string; slug: string })[] }",
1873
1880
  "responseStatus": "200"
1874
1881
  },
1882
+ "listPaymentResources": {
1883
+ "operationId": "listPaymentResources",
1884
+ "method": "GET",
1885
+ "path": "/v1/payments/resources",
1886
+ "summary": "List priced resources",
1887
+ "description": "Lists what an agent can buy over the Machine Payments Protocol, with the\nunit, the pack size, and the price of one pack. Discovery only: the\n`WWW-Authenticate: Payment` challenge returned by a priced operation is\nalways authoritative.\n\nThis endpoint takes no authentication so an agent can read the price\nbefore it holds a credential.\n",
1888
+ "parameters": [],
1889
+ "requestBodyType": "",
1890
+ "requestBodyRequired": false,
1891
+ "responseType": "{ resources: ({ amount_per_pack: number; currency: string; description?: string; id: string; max_packs: number; min_packs: number; operation_id?: string; title: string; unit: string; units_per_pack: number })[] }",
1892
+ "responseStatus": "200"
1893
+ },
1894
+ "createBudgetTopup": {
1895
+ "operationId": "createBudgetTopup",
1896
+ "method": "POST",
1897
+ "path": "/v1/payments/budget-topups",
1898
+ "summary": "Buy query budget for an agent credential",
1899
+ "description": "Buys additional queries for the agent credential this request is\nauthenticated as, using the Machine Payments Protocol (HTTP 402 with the\n`Payment` authentication scheme).\n\nAuthenticate with the credential's hosted MCP token (`pba_...`) as a\nbearer token. The credential identifies itself, so no human and no\ndashboard session is involved.\n\nWithout a payment credential the response is `402` carrying a complete\n`WWW-Authenticate: Payment` challenge. Fulfil it, then repeat the request\nwith the credential in the `Payment-Authorization` header (the challenge\nselects that field so the bearer token can stay in `Authorization`). On\nsuccess the queries are granted, streamed to the data planes, and the\nresponse carries a `Payment-Receipt` header.\n\nPurchased queries do not raise the credential's policy budget. They are a\nseparate pool the proxy spends only once the policy's hourly and daily\nwindows have refused a statement, and they expire.\n",
1900
+ "parameters": [
1901
+ {
1902
+ "name": "Payment-Authorization",
1903
+ "in": "header",
1904
+ "required": false,
1905
+ "type": "string",
1906
+ "description": "The MPP payment credential, `Payment <base64url>`, echoing the\nchallenge from the `402` and carrying the method-specific proof. For\nthe `stripe` method the payload is `{\"spt\": \"spt_...\"}`, a single-use\nShared Payment Token.\n"
1907
+ },
1908
+ {
1909
+ "name": "Accept-Payment",
1910
+ "in": "header",
1911
+ "required": false,
1912
+ "type": "string",
1913
+ "description": "Payment method and intent preferences, for example `stripe/charge`.\nIgnored when it matches nothing this endpoint offers.\n"
1914
+ }
1915
+ ],
1916
+ "requestBodyType": "{ packs?: number }",
1917
+ "requestBodyRequired": false,
1918
+ "responseType": "{ amount: number; credential_id: string; currency: string; expires_at: string; grant_id: string; payment_reference?: string; queries: number; receipt?: string }",
1919
+ "responseStatus": "201"
1920
+ },
1875
1921
  "listPolicyProfiles": {
1876
1922
  "operationId": "listPolicyProfiles",
1877
1923
  "method": "GET",
@@ -2283,7 +2329,7 @@ export { o as operationsByPath, a as operationsByTag } from './operations-map.ge
2283
2329
  "method": "GET",
2284
2330
  "path": "/v1/databases/{database_id}/replicas",
2285
2331
  "summary": "List replicas",
2286
- "description": "Lists all read replicas for a database.",
2332
+ "description": "Lists a database's read replicas.",
2287
2333
  "parameters": [
2288
2334
  {
2289
2335
  "name": "database_id",
@@ -2292,6 +2338,20 @@ export { o as operationsByPath, a as operationsByTag } from './operations-map.ge
2292
2338
  "type": "string",
2293
2339
  "description": "Unique database identifier (prefixed, e.g. db_xxx)."
2294
2340
  },
2341
+ {
2342
+ "name": "page_size",
2343
+ "in": "query",
2344
+ "required": false,
2345
+ "type": "number",
2346
+ "description": "Maximum number of items to return (1-100, default 20)."
2347
+ },
2348
+ {
2349
+ "name": "page_token",
2350
+ "in": "query",
2351
+ "required": false,
2352
+ "type": "string",
2353
+ "description": "Opaque token for cursor-based pagination."
2354
+ },
2295
2355
  {
2296
2356
  "name": "If-None-Match",
2297
2357
  "in": "header",
@@ -2475,6 +2535,20 @@ export { o as operationsByPath, a as operationsByTag } from './operations-map.ge
2475
2535
  "type": "string",
2476
2536
  "description": "Unique organization identifier."
2477
2537
  },
2538
+ {
2539
+ "name": "page_size",
2540
+ "in": "query",
2541
+ "required": false,
2542
+ "type": "number",
2543
+ "description": "Maximum number of items to return (1-100, default 20)."
2544
+ },
2545
+ {
2546
+ "name": "page_token",
2547
+ "in": "query",
2548
+ "required": false,
2549
+ "type": "string",
2550
+ "description": "Opaque token for cursor-based pagination."
2551
+ },
2478
2552
  {
2479
2553
  "name": "If-None-Match",
2480
2554
  "in": "header",
@@ -2485,7 +2559,7 @@ export { o as operationsByPath, a as operationsByTag } from './operations-map.ge
2485
2559
  ],
2486
2560
  "requestBodyType": "",
2487
2561
  "requestBodyRequired": false,
2488
- "responseType": "{ enrollments: ({ created_at: string; created_by?: string; description?: string; expires_at?: string; id: string; last_seen_at?: string; org_id: string; region_label?: string; revoked_at?: string })[] }",
2562
+ "responseType": "{ enrollments: ({ created_at: string; created_by?: string; description?: string; expires_at?: string; id: string; last_seen_at?: string; org_id: string; region_label?: string; revoked_at?: string })[]; next_page_token?: string }",
2489
2563
  "responseStatus": "200"
2490
2564
  },
2491
2565
  "createSelfHostEnrollment": {
@@ -2611,6 +2685,13 @@ export { o as operationsByPath, a as operationsByTag } from './operations-map.ge
2611
2685
  "type": "number",
2612
2686
  "description": "Number of results per page (1-100, default 20)."
2613
2687
  },
2688
+ {
2689
+ "name": "page_token",
2690
+ "in": "query",
2691
+ "required": false,
2692
+ "type": "string",
2693
+ "description": "Opaque token for cursor-based pagination."
2694
+ },
2614
2695
  {
2615
2696
  "name": "page",
2616
2697
  "in": "query",
@@ -2628,7 +2709,7 @@ export { o as operationsByPath, a as operationsByTag } from './operations-map.ge
2628
2709
  ],
2629
2710
  "requestBodyType": "",
2630
2711
  "requestBodyRequired": false,
2631
- "responseType": "{ cases: ({ case_number: number; closed_at?: string; created_at: string; id: string; message_count?: number; org_id: string; severity: number; slack_channel_id?: string; slack_thread_ts?: string; status: \"open\" | \"closed\"; title: string; updated_at: string; user_id: string })[]; total: number }",
2712
+ "responseType": "{ cases: ({ case_number: number; closed_at?: string; created_at: string; id: string; message_count?: number; org_id: string; severity: number; slack_channel_id?: string; slack_thread_ts?: string; status: \"open\" | \"closed\"; title: string; updated_at: string; user_id: string })[]; next_page_token?: string; total: number }",
2632
2713
  "responseStatus": "200"
2633
2714
  },
2634
2715
  "createSupportCase": {
@@ -2765,6 +2846,18 @@ export { o as operationsByPath, a as operationsByTag } from './operations-map.ge
2765
2846
  "responseType": "",
2766
2847
  "responseStatus": "200"
2767
2848
  },
2849
+ "scanText": {
2850
+ "operationId": "scanText",
2851
+ "method": "POST",
2852
+ "path": "/v1/scan/text",
2853
+ "summary": "Scan untrusted text for prompt injection",
2854
+ "description": "Inspects one piece of untrusted text for the techniques used to smuggle instructions into a model's context, and returns a verdict, a recommended action, and the evidence behind it.\n\nTwo detector families run. The structural layer reads codepoints and scripts: invisible-codepoint runs, Unicode Tag smuggling, unterminated bidirectional overrides, and mixed-script words. None of those has a legitimate reason to appear in ordinary text, so a structural finding is a fact worth acting on. The lexical layer is exact-phrase matching with Unicode normalization, which is worth what exact-phrase matching is worth: it is a reason to look, and a support ticket quoting an attack contains the attack. Neither layer is a semantic classifier, and this endpoint does not pretend to catch prose that is hostile only in its meaning. The measured confusion matrix and the list of evasions that are known to work are published at https://pgbeam.com/docs/prompt-scan.\n\nAuthentication is optional. Anonymous callers get a free daily allowance keyed on their source address; an API key moves the allowance onto the organization. Past the allowance the endpoint answers 402 with a payment challenge.\n\nThe submitted text is held in memory for the duration of the request and is never logged, stored, or used to train anything. An `Idempotency-Key` is refused on this operation rather than honoured, because honouring it would persist the response, and the response quotes the submitted text back. The operation has no side effects beyond metering, so a retry is safe without one.",
2855
+ "parameters": [],
2856
+ "requestBodyType": "{ include_evidence?: boolean; layers?: (\"structural\" | \"lexical\")[]; text: string }",
2857
+ "requestBodyRequired": true,
2858
+ "responseType": "{ action: \"allow\" | \"review\" | \"block\"; action_reason: string; advice: string; engine: string; findings: ({ confidence: \"low\" | \"medium\" | \"high\"; detail: string; evidence?: string; layer: \"structural\" | \"lexical\"; offset: number; technique: \"invisible_run\" | \"tag_smuggling\" | \"bidi_override\" | \"mixed_script\" | \"instruction_phrase\" | \"invalid_encoding\" | \"truncated\" })[]; has_structural: boolean; highest_confidence?: \"low\" | \"medium\" | \"high\"; quota: { free_limit: number; free_remaining: number; paid_remaining: number; resets_at: string }; scanned_bytes: number; truncated: boolean; verdict: \"clean\" | \"suspicious\" | \"unscannable\" }",
2859
+ "responseStatus": "200"
2860
+ },
2768
2861
  "getOrganizationUsage": {
2769
2862
  "operationId": "getOrganizationUsage",
2770
2863
  "method": "GET",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pgbeam",
3
- "version": "0.4.11",
3
+ "version": "0.4.12",
4
4
  "description": "TypeScript SDK for the PgBeam API, a Postgres proxy for safe AI agent access with policy enforcement in the wire protocol",
5
5
  "type": "module",
6
6
  "exports": {