@soederpop/luca 0.0.15 → 0.0.17

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,7 +1,7 @@
1
1
  import { setBuildTimeData, setContainerBuildTimeData } from './index.js';
2
2
 
3
3
  // Auto-generated introspection registry data
4
- // Generated at: 2026-03-20T05:45:32.163Z
4
+ // Generated at: 2026-03-20T16:25:10.934Z
5
5
 
6
6
  setBuildTimeData('features.googleDocs', {
7
7
  "id": "features.googleDocs",
@@ -9519,6 +9519,202 @@ setBuildTimeData('clients.websocket', {
9519
9519
  ]
9520
9520
  });
9521
9521
 
9522
+ setBuildTimeData('clients.supabase', {
9523
+ "id": "clients.supabase",
9524
+ "description": "Supabase client for the Luca container system. Wraps the official `@supabase/supabase-js` SDK and exposes it through Luca's typed state, events, and introspection system. The SDK is isomorphic so this single implementation works in both Node and browser containers. Use `client.sdk` for full SDK access, or use the convenience wrappers for common operations (auth, database queries, storage, edge functions, realtime).",
9525
+ "shortcut": "clients.supabase",
9526
+ "className": "SupabaseClient",
9527
+ "methods": {
9528
+ "from": {
9529
+ "description": "Start a query on a Postgres table or view.",
9530
+ "parameters": {
9531
+ "table": {
9532
+ "type": "string",
9533
+ "description": "The table or view name to query"
9534
+ }
9535
+ },
9536
+ "required": [
9537
+ "table"
9538
+ ],
9539
+ "returns": "void"
9540
+ },
9541
+ "rpc": {
9542
+ "description": "Call a Postgres function (RPC).",
9543
+ "parameters": {
9544
+ "fn": {
9545
+ "type": "string",
9546
+ "description": "The function name"
9547
+ },
9548
+ "params": {
9549
+ "type": "Record<string, unknown>",
9550
+ "description": "Arguments to pass to the function"
9551
+ },
9552
+ "options": {
9553
+ "type": "{ head?: boolean; get?: boolean; count?: \"exact\" | \"planned\" | \"estimated\" }",
9554
+ "description": "Optional settings (head, get, count)"
9555
+ }
9556
+ },
9557
+ "required": [
9558
+ "fn"
9559
+ ],
9560
+ "returns": "void"
9561
+ },
9562
+ "signInWithPassword": {
9563
+ "description": "Sign in with email and password.",
9564
+ "parameters": {
9565
+ "email": {
9566
+ "type": "string",
9567
+ "description": "Parameter email"
9568
+ },
9569
+ "password": {
9570
+ "type": "string",
9571
+ "description": "Parameter password"
9572
+ }
9573
+ },
9574
+ "required": [
9575
+ "email",
9576
+ "password"
9577
+ ],
9578
+ "returns": "void"
9579
+ },
9580
+ "signUp": {
9581
+ "description": "Create a new user account with email and password.",
9582
+ "parameters": {
9583
+ "email": {
9584
+ "type": "string",
9585
+ "description": "Parameter email"
9586
+ },
9587
+ "password": {
9588
+ "type": "string",
9589
+ "description": "Parameter password"
9590
+ }
9591
+ },
9592
+ "required": [
9593
+ "email",
9594
+ "password"
9595
+ ],
9596
+ "returns": "void"
9597
+ },
9598
+ "signOut": {
9599
+ "description": "Sign the current user out.",
9600
+ "parameters": {},
9601
+ "required": [],
9602
+ "returns": "void"
9603
+ },
9604
+ "getSession": {
9605
+ "description": "Get the current session, if any.",
9606
+ "parameters": {},
9607
+ "required": [],
9608
+ "returns": "void"
9609
+ },
9610
+ "getUser": {
9611
+ "description": "Get the current user, if any.",
9612
+ "parameters": {},
9613
+ "required": [],
9614
+ "returns": "void"
9615
+ },
9616
+ "invoke": {
9617
+ "description": "Invoke a Supabase Edge Function by name.",
9618
+ "parameters": {
9619
+ "name": {
9620
+ "type": "string",
9621
+ "description": "Parameter name"
9622
+ },
9623
+ "body": {
9624
+ "type": "any",
9625
+ "description": "Parameter body"
9626
+ }
9627
+ },
9628
+ "required": [
9629
+ "name"
9630
+ ],
9631
+ "returns": "void"
9632
+ },
9633
+ "subscribe": {
9634
+ "description": "Subscribe to realtime changes on a Postgres table.",
9635
+ "parameters": {
9636
+ "channelName": {
9637
+ "type": "string",
9638
+ "description": "A name for this subscription channel"
9639
+ },
9640
+ "table": {
9641
+ "type": "string",
9642
+ "description": "The table to listen to"
9643
+ },
9644
+ "callback": {
9645
+ "type": "(payload: any) => void",
9646
+ "description": "Called with the payload on each change"
9647
+ },
9648
+ "event": {
9649
+ "type": "\"INSERT\" | \"UPDATE\" | \"DELETE\" | \"*\"",
9650
+ "description": "The event type to listen for (default: all changes)"
9651
+ }
9652
+ },
9653
+ "required": [
9654
+ "channelName",
9655
+ "table",
9656
+ "callback"
9657
+ ],
9658
+ "returns": "RealtimeChannel"
9659
+ },
9660
+ "unsubscribe": {
9661
+ "description": "Unsubscribe and remove a realtime channel by name.",
9662
+ "parameters": {
9663
+ "channelName": {
9664
+ "type": "string",
9665
+ "description": "The channel name to remove"
9666
+ }
9667
+ },
9668
+ "required": [
9669
+ "channelName"
9670
+ ],
9671
+ "returns": "void"
9672
+ },
9673
+ "unsubscribeAll": {
9674
+ "description": "Unsubscribe and remove all realtime channels.",
9675
+ "parameters": {},
9676
+ "required": [],
9677
+ "returns": "void"
9678
+ },
9679
+ "connect": {
9680
+ "description": "Connect is a no-op since the Supabase SDK initializes on construction. The client is ready to use immediately after creation.",
9681
+ "parameters": {},
9682
+ "required": [],
9683
+ "returns": "void"
9684
+ },
9685
+ "disconnect": {
9686
+ "description": "Disconnect by signing out and removing all realtime channels.",
9687
+ "parameters": {},
9688
+ "required": [],
9689
+ "returns": "void"
9690
+ }
9691
+ },
9692
+ "getters": {
9693
+ "sdk": {
9694
+ "description": "Returns the raw Supabase SDK client for full access to all SDK methods.",
9695
+ "returns": "SupabaseSDKClient<any, any>"
9696
+ },
9697
+ "storage": {
9698
+ "description": "Returns the Supabase Storage client for managing buckets and files.",
9699
+ "returns": "any"
9700
+ },
9701
+ "functions": {
9702
+ "description": "Returns the Supabase Functions client.",
9703
+ "returns": "any"
9704
+ }
9705
+ },
9706
+ "events": {},
9707
+ "state": {},
9708
+ "options": {},
9709
+ "envVars": [],
9710
+ "examples": [
9711
+ {
9712
+ "language": "ts",
9713
+ "code": "const supabase = container.client('supabase', {\n supabaseUrl: 'https://xyz.supabase.co',\n supabaseKey: 'your-anon-key',\n})\n\n// Query data\nconst { data } = await supabase.from('users').select('*')\n\n// Auth\nawait supabase.signInWithPassword('user@example.com', 'password')\n\n// Realtime\nsupabase.subscribe('changes', 'users', (payload) => {\n console.log('Change:', payload)\n})"
9714
+ }
9715
+ ]
9716
+ });
9717
+
9522
9718
  setBuildTimeData('clients.openai', {
9523
9719
  "id": "clients.openai",
9524
9720
  "description": "OpenAI client — wraps the OpenAI SDK for chat completions, responses API, embeddings, and image generation. Provides convenience methods for common operations while tracking token usage and request counts. Supports both the Chat Completions API and the newer Responses API.",
@@ -9739,246 +9935,50 @@ setBuildTimeData('clients.openai', {
9739
9935
  "description": "The default model used for completions, from options or 'gpt-4o'.",
9740
9936
  "returns": "string"
9741
9937
  },
9742
- "raw": {
9743
- "description": "The underlying OpenAI SDK instance for advanced use cases.",
9744
- "returns": "OpenAI"
9745
- }
9746
- },
9747
- "events": {
9748
- "connected": {
9749
- "name": "connected",
9750
- "description": "Event emitted by OpenAIClient",
9751
- "arguments": {}
9752
- },
9753
- "failure": {
9754
- "name": "failure",
9755
- "description": "Event emitted by OpenAIClient",
9756
- "arguments": {}
9757
- },
9758
- "completion": {
9759
- "name": "completion",
9760
- "description": "Event emitted by OpenAIClient",
9761
- "arguments": {}
9762
- },
9763
- "embedding": {
9764
- "name": "embedding",
9765
- "description": "Event emitted by OpenAIClient",
9766
- "arguments": {}
9767
- },
9768
- "image": {
9769
- "name": "image",
9770
- "description": "Event emitted by OpenAIClient",
9771
- "arguments": {}
9772
- },
9773
- "models": {
9774
- "name": "models",
9775
- "description": "Event emitted by OpenAIClient",
9776
- "arguments": {}
9777
- }
9778
- },
9779
- "state": {},
9780
- "options": {},
9781
- "envVars": [],
9782
- "examples": [
9783
- {
9784
- "language": "ts",
9785
- "code": "const openai = container.client('openai', { defaultModel: 'gpt-4o' })\nconst answer = await openai.ask('What is the meaning of life?')\nconsole.log(answer)"
9786
- }
9787
- ]
9788
- });
9789
-
9790
- setBuildTimeData('clients.supabase', {
9791
- "id": "clients.supabase",
9792
- "description": "Supabase client for the Luca container system. Wraps the official `@supabase/supabase-js` SDK and exposes it through Luca's typed state, events, and introspection system. The SDK is isomorphic so this single implementation works in both Node and browser containers. Use `client.sdk` for full SDK access, or use the convenience wrappers for common operations (auth, database queries, storage, edge functions, realtime).",
9793
- "shortcut": "clients.supabase",
9794
- "className": "SupabaseClient",
9795
- "methods": {
9796
- "from": {
9797
- "description": "Start a query on a Postgres table or view.",
9798
- "parameters": {
9799
- "table": {
9800
- "type": "string",
9801
- "description": "The table or view name to query"
9802
- }
9803
- },
9804
- "required": [
9805
- "table"
9806
- ],
9807
- "returns": "void"
9808
- },
9809
- "rpc": {
9810
- "description": "Call a Postgres function (RPC).",
9811
- "parameters": {
9812
- "fn": {
9813
- "type": "string",
9814
- "description": "The function name"
9815
- },
9816
- "params": {
9817
- "type": "Record<string, unknown>",
9818
- "description": "Arguments to pass to the function"
9819
- },
9820
- "options": {
9821
- "type": "{ head?: boolean; get?: boolean; count?: \"exact\" | \"planned\" | \"estimated\" }",
9822
- "description": "Optional settings (head, get, count)"
9823
- }
9824
- },
9825
- "required": [
9826
- "fn"
9827
- ],
9828
- "returns": "void"
9829
- },
9830
- "signInWithPassword": {
9831
- "description": "Sign in with email and password.",
9832
- "parameters": {
9833
- "email": {
9834
- "type": "string",
9835
- "description": "Parameter email"
9836
- },
9837
- "password": {
9838
- "type": "string",
9839
- "description": "Parameter password"
9840
- }
9841
- },
9842
- "required": [
9843
- "email",
9844
- "password"
9845
- ],
9846
- "returns": "void"
9847
- },
9848
- "signUp": {
9849
- "description": "Create a new user account with email and password.",
9850
- "parameters": {
9851
- "email": {
9852
- "type": "string",
9853
- "description": "Parameter email"
9854
- },
9855
- "password": {
9856
- "type": "string",
9857
- "description": "Parameter password"
9858
- }
9859
- },
9860
- "required": [
9861
- "email",
9862
- "password"
9863
- ],
9864
- "returns": "void"
9865
- },
9866
- "signOut": {
9867
- "description": "Sign the current user out.",
9868
- "parameters": {},
9869
- "required": [],
9870
- "returns": "void"
9871
- },
9872
- "getSession": {
9873
- "description": "Get the current session, if any.",
9874
- "parameters": {},
9875
- "required": [],
9876
- "returns": "void"
9877
- },
9878
- "getUser": {
9879
- "description": "Get the current user, if any.",
9880
- "parameters": {},
9881
- "required": [],
9882
- "returns": "void"
9883
- },
9884
- "invoke": {
9885
- "description": "Invoke a Supabase Edge Function by name.",
9886
- "parameters": {
9887
- "name": {
9888
- "type": "string",
9889
- "description": "Parameter name"
9890
- },
9891
- "body": {
9892
- "type": "any",
9893
- "description": "Parameter body"
9894
- }
9895
- },
9896
- "required": [
9897
- "name"
9898
- ],
9899
- "returns": "void"
9900
- },
9901
- "subscribe": {
9902
- "description": "Subscribe to realtime changes on a Postgres table.",
9903
- "parameters": {
9904
- "channelName": {
9905
- "type": "string",
9906
- "description": "A name for this subscription channel"
9907
- },
9908
- "table": {
9909
- "type": "string",
9910
- "description": "The table to listen to"
9911
- },
9912
- "callback": {
9913
- "type": "(payload: any) => void",
9914
- "description": "Called with the payload on each change"
9915
- },
9916
- "event": {
9917
- "type": "\"INSERT\" | \"UPDATE\" | \"DELETE\" | \"*\"",
9918
- "description": "The event type to listen for (default: all changes)"
9919
- }
9920
- },
9921
- "required": [
9922
- "channelName",
9923
- "table",
9924
- "callback"
9925
- ],
9926
- "returns": "RealtimeChannel"
9927
- },
9928
- "unsubscribe": {
9929
- "description": "Unsubscribe and remove a realtime channel by name.",
9930
- "parameters": {
9931
- "channelName": {
9932
- "type": "string",
9933
- "description": "The channel name to remove"
9934
- }
9935
- },
9936
- "required": [
9937
- "channelName"
9938
- ],
9939
- "returns": "void"
9940
- },
9941
- "unsubscribeAll": {
9942
- "description": "Unsubscribe and remove all realtime channels.",
9943
- "parameters": {},
9944
- "required": [],
9945
- "returns": "void"
9946
- },
9947
- "connect": {
9948
- "description": "Connect is a no-op since the Supabase SDK initializes on construction. The client is ready to use immediately after creation.",
9949
- "parameters": {},
9950
- "required": [],
9951
- "returns": "void"
9952
- },
9953
- "disconnect": {
9954
- "description": "Disconnect by signing out and removing all realtime channels.",
9955
- "parameters": {},
9956
- "required": [],
9957
- "returns": "void"
9938
+ "raw": {
9939
+ "description": "The underlying OpenAI SDK instance for advanced use cases.",
9940
+ "returns": "OpenAI"
9958
9941
  }
9959
9942
  },
9960
- "getters": {
9961
- "sdk": {
9962
- "description": "Returns the raw Supabase SDK client for full access to all SDK methods.",
9963
- "returns": "SupabaseSDKClient<any, any>"
9943
+ "events": {
9944
+ "connected": {
9945
+ "name": "connected",
9946
+ "description": "Event emitted by OpenAIClient",
9947
+ "arguments": {}
9964
9948
  },
9965
- "storage": {
9966
- "description": "Returns the Supabase Storage client for managing buckets and files.",
9967
- "returns": "any"
9949
+ "failure": {
9950
+ "name": "failure",
9951
+ "description": "Event emitted by OpenAIClient",
9952
+ "arguments": {}
9968
9953
  },
9969
- "functions": {
9970
- "description": "Returns the Supabase Functions client.",
9971
- "returns": "any"
9954
+ "completion": {
9955
+ "name": "completion",
9956
+ "description": "Event emitted by OpenAIClient",
9957
+ "arguments": {}
9958
+ },
9959
+ "embedding": {
9960
+ "name": "embedding",
9961
+ "description": "Event emitted by OpenAIClient",
9962
+ "arguments": {}
9963
+ },
9964
+ "image": {
9965
+ "name": "image",
9966
+ "description": "Event emitted by OpenAIClient",
9967
+ "arguments": {}
9968
+ },
9969
+ "models": {
9970
+ "name": "models",
9971
+ "description": "Event emitted by OpenAIClient",
9972
+ "arguments": {}
9972
9973
  }
9973
9974
  },
9974
- "events": {},
9975
9975
  "state": {},
9976
9976
  "options": {},
9977
9977
  "envVars": [],
9978
9978
  "examples": [
9979
9979
  {
9980
9980
  "language": "ts",
9981
- "code": "const supabase = container.client('supabase', {\n supabaseUrl: 'https://xyz.supabase.co',\n supabaseKey: 'your-anon-key',\n})\n\n// Query data\nconst { data } = await supabase.from('users').select('*')\n\n// Auth\nawait supabase.signInWithPassword('user@example.com', 'password')\n\n// Realtime\nsupabase.subscribe('changes', 'users', (payload) => {\n console.log('Change:', payload)\n})"
9981
+ "code": "const openai = container.client('openai', { defaultModel: 'gpt-4o' })\nconst answer = await openai.ask('What is the meaning of life?')\nconsole.log(answer)"
9982
9982
  }
9983
9983
  ]
9984
9984
  });
@@ -10657,6 +10657,19 @@ setBuildTimeData('servers.express', {
10657
10657
  ],
10658
10658
  "returns": "Promise<this>"
10659
10659
  },
10660
+ "useEndpointModules": {
10661
+ "description": "",
10662
+ "parameters": {
10663
+ "modules": {
10664
+ "type": "EndpointModule[]",
10665
+ "description": "Parameter modules"
10666
+ }
10667
+ },
10668
+ "required": [
10669
+ "modules"
10670
+ ],
10671
+ "returns": "Promise<this>"
10672
+ },
10660
10673
  "serveOpenAPISpec": {
10661
10674
  "description": "",
10662
10675
  "parameters": {
@@ -20648,52 +20661,247 @@ export const introspectionData = [
20648
20661
  "returns": "Promise<void>"
20649
20662
  },
20650
20663
  "disconnect": {
20651
- "description": "Gracefully close the WebSocket connection. Suppresses auto-reconnect and updates connection state to disconnected.",
20664
+ "description": "Gracefully close the WebSocket connection. Suppresses auto-reconnect and updates connection state to disconnected.",
20665
+ "parameters": {},
20666
+ "required": [],
20667
+ "returns": "Promise<this>"
20668
+ }
20669
+ },
20670
+ "getters": {
20671
+ "hasError": {
20672
+ "description": "Whether the client is in an error state.",
20673
+ "returns": "any"
20674
+ }
20675
+ },
20676
+ "events": {
20677
+ "open": {
20678
+ "name": "open",
20679
+ "description": "Event emitted by WebSocketClient",
20680
+ "arguments": {}
20681
+ },
20682
+ "error": {
20683
+ "name": "error",
20684
+ "description": "Event emitted by WebSocketClient",
20685
+ "arguments": {}
20686
+ },
20687
+ "message": {
20688
+ "name": "message",
20689
+ "description": "Event emitted by WebSocketClient",
20690
+ "arguments": {}
20691
+ },
20692
+ "close": {
20693
+ "name": "close",
20694
+ "description": "Event emitted by WebSocketClient",
20695
+ "arguments": {}
20696
+ },
20697
+ "reconnecting": {
20698
+ "name": "reconnecting",
20699
+ "description": "Event emitted by WebSocketClient",
20700
+ "arguments": {}
20701
+ }
20702
+ },
20703
+ "state": {},
20704
+ "options": {},
20705
+ "envVars": [],
20706
+ "examples": [
20707
+ {
20708
+ "language": "ts",
20709
+ "code": "const ws = container.client('websocket', {\n baseURL: 'ws://localhost:8080',\n reconnect: true,\n maxReconnectAttempts: 5\n})\nws.on('message', (data) => console.log('Received:', data))\nawait ws.connect()\nawait ws.send({ type: 'hello' })"
20710
+ }
20711
+ ]
20712
+ },
20713
+ {
20714
+ "id": "clients.supabase",
20715
+ "description": "Supabase client for the Luca container system. Wraps the official `@supabase/supabase-js` SDK and exposes it through Luca's typed state, events, and introspection system. The SDK is isomorphic so this single implementation works in both Node and browser containers. Use `client.sdk` for full SDK access, or use the convenience wrappers for common operations (auth, database queries, storage, edge functions, realtime).",
20716
+ "shortcut": "clients.supabase",
20717
+ "className": "SupabaseClient",
20718
+ "methods": {
20719
+ "from": {
20720
+ "description": "Start a query on a Postgres table or view.",
20721
+ "parameters": {
20722
+ "table": {
20723
+ "type": "string",
20724
+ "description": "The table or view name to query"
20725
+ }
20726
+ },
20727
+ "required": [
20728
+ "table"
20729
+ ],
20730
+ "returns": "void"
20731
+ },
20732
+ "rpc": {
20733
+ "description": "Call a Postgres function (RPC).",
20734
+ "parameters": {
20735
+ "fn": {
20736
+ "type": "string",
20737
+ "description": "The function name"
20738
+ },
20739
+ "params": {
20740
+ "type": "Record<string, unknown>",
20741
+ "description": "Arguments to pass to the function"
20742
+ },
20743
+ "options": {
20744
+ "type": "{ head?: boolean; get?: boolean; count?: \"exact\" | \"planned\" | \"estimated\" }",
20745
+ "description": "Optional settings (head, get, count)"
20746
+ }
20747
+ },
20748
+ "required": [
20749
+ "fn"
20750
+ ],
20751
+ "returns": "void"
20752
+ },
20753
+ "signInWithPassword": {
20754
+ "description": "Sign in with email and password.",
20755
+ "parameters": {
20756
+ "email": {
20757
+ "type": "string",
20758
+ "description": "Parameter email"
20759
+ },
20760
+ "password": {
20761
+ "type": "string",
20762
+ "description": "Parameter password"
20763
+ }
20764
+ },
20765
+ "required": [
20766
+ "email",
20767
+ "password"
20768
+ ],
20769
+ "returns": "void"
20770
+ },
20771
+ "signUp": {
20772
+ "description": "Create a new user account with email and password.",
20773
+ "parameters": {
20774
+ "email": {
20775
+ "type": "string",
20776
+ "description": "Parameter email"
20777
+ },
20778
+ "password": {
20779
+ "type": "string",
20780
+ "description": "Parameter password"
20781
+ }
20782
+ },
20783
+ "required": [
20784
+ "email",
20785
+ "password"
20786
+ ],
20787
+ "returns": "void"
20788
+ },
20789
+ "signOut": {
20790
+ "description": "Sign the current user out.",
20791
+ "parameters": {},
20792
+ "required": [],
20793
+ "returns": "void"
20794
+ },
20795
+ "getSession": {
20796
+ "description": "Get the current session, if any.",
20797
+ "parameters": {},
20798
+ "required": [],
20799
+ "returns": "void"
20800
+ },
20801
+ "getUser": {
20802
+ "description": "Get the current user, if any.",
20803
+ "parameters": {},
20804
+ "required": [],
20805
+ "returns": "void"
20806
+ },
20807
+ "invoke": {
20808
+ "description": "Invoke a Supabase Edge Function by name.",
20809
+ "parameters": {
20810
+ "name": {
20811
+ "type": "string",
20812
+ "description": "Parameter name"
20813
+ },
20814
+ "body": {
20815
+ "type": "any",
20816
+ "description": "Parameter body"
20817
+ }
20818
+ },
20819
+ "required": [
20820
+ "name"
20821
+ ],
20822
+ "returns": "void"
20823
+ },
20824
+ "subscribe": {
20825
+ "description": "Subscribe to realtime changes on a Postgres table.",
20826
+ "parameters": {
20827
+ "channelName": {
20828
+ "type": "string",
20829
+ "description": "A name for this subscription channel"
20830
+ },
20831
+ "table": {
20832
+ "type": "string",
20833
+ "description": "The table to listen to"
20834
+ },
20835
+ "callback": {
20836
+ "type": "(payload: any) => void",
20837
+ "description": "Called with the payload on each change"
20838
+ },
20839
+ "event": {
20840
+ "type": "\"INSERT\" | \"UPDATE\" | \"DELETE\" | \"*\"",
20841
+ "description": "The event type to listen for (default: all changes)"
20842
+ }
20843
+ },
20844
+ "required": [
20845
+ "channelName",
20846
+ "table",
20847
+ "callback"
20848
+ ],
20849
+ "returns": "RealtimeChannel"
20850
+ },
20851
+ "unsubscribe": {
20852
+ "description": "Unsubscribe and remove a realtime channel by name.",
20853
+ "parameters": {
20854
+ "channelName": {
20855
+ "type": "string",
20856
+ "description": "The channel name to remove"
20857
+ }
20858
+ },
20859
+ "required": [
20860
+ "channelName"
20861
+ ],
20862
+ "returns": "void"
20863
+ },
20864
+ "unsubscribeAll": {
20865
+ "description": "Unsubscribe and remove all realtime channels.",
20866
+ "parameters": {},
20867
+ "required": [],
20868
+ "returns": "void"
20869
+ },
20870
+ "connect": {
20871
+ "description": "Connect is a no-op since the Supabase SDK initializes on construction. The client is ready to use immediately after creation.",
20872
+ "parameters": {},
20873
+ "required": [],
20874
+ "returns": "void"
20875
+ },
20876
+ "disconnect": {
20877
+ "description": "Disconnect by signing out and removing all realtime channels.",
20652
20878
  "parameters": {},
20653
20879
  "required": [],
20654
- "returns": "Promise<this>"
20880
+ "returns": "void"
20655
20881
  }
20656
20882
  },
20657
20883
  "getters": {
20658
- "hasError": {
20659
- "description": "Whether the client is in an error state.",
20660
- "returns": "any"
20661
- }
20662
- },
20663
- "events": {
20664
- "open": {
20665
- "name": "open",
20666
- "description": "Event emitted by WebSocketClient",
20667
- "arguments": {}
20668
- },
20669
- "error": {
20670
- "name": "error",
20671
- "description": "Event emitted by WebSocketClient",
20672
- "arguments": {}
20673
- },
20674
- "message": {
20675
- "name": "message",
20676
- "description": "Event emitted by WebSocketClient",
20677
- "arguments": {}
20884
+ "sdk": {
20885
+ "description": "Returns the raw Supabase SDK client for full access to all SDK methods.",
20886
+ "returns": "SupabaseSDKClient<any, any>"
20678
20887
  },
20679
- "close": {
20680
- "name": "close",
20681
- "description": "Event emitted by WebSocketClient",
20682
- "arguments": {}
20888
+ "storage": {
20889
+ "description": "Returns the Supabase Storage client for managing buckets and files.",
20890
+ "returns": "any"
20683
20891
  },
20684
- "reconnecting": {
20685
- "name": "reconnecting",
20686
- "description": "Event emitted by WebSocketClient",
20687
- "arguments": {}
20892
+ "functions": {
20893
+ "description": "Returns the Supabase Functions client.",
20894
+ "returns": "any"
20688
20895
  }
20689
20896
  },
20897
+ "events": {},
20690
20898
  "state": {},
20691
20899
  "options": {},
20692
20900
  "envVars": [],
20693
20901
  "examples": [
20694
20902
  {
20695
20903
  "language": "ts",
20696
- "code": "const ws = container.client('websocket', {\n baseURL: 'ws://localhost:8080',\n reconnect: true,\n maxReconnectAttempts: 5\n})\nws.on('message', (data) => console.log('Received:', data))\nawait ws.connect()\nawait ws.send({ type: 'hello' })"
20904
+ "code": "const supabase = container.client('supabase', {\n supabaseUrl: 'https://xyz.supabase.co',\n supabaseKey: 'your-anon-key',\n})\n\n// Query data\nconst { data } = await supabase.from('users').select('*')\n\n// Auth\nawait supabase.signInWithPassword('user@example.com', 'password')\n\n// Realtime\nsupabase.subscribe('changes', 'users', (payload) => {\n console.log('Change:', payload)\n})"
20697
20905
  }
20698
20906
  ]
20699
20907
  },
@@ -20964,201 +21172,6 @@ export const introspectionData = [
20964
21172
  }
20965
21173
  ]
20966
21174
  },
20967
- {
20968
- "id": "clients.supabase",
20969
- "description": "Supabase client for the Luca container system. Wraps the official `@supabase/supabase-js` SDK and exposes it through Luca's typed state, events, and introspection system. The SDK is isomorphic so this single implementation works in both Node and browser containers. Use `client.sdk` for full SDK access, or use the convenience wrappers for common operations (auth, database queries, storage, edge functions, realtime).",
20970
- "shortcut": "clients.supabase",
20971
- "className": "SupabaseClient",
20972
- "methods": {
20973
- "from": {
20974
- "description": "Start a query on a Postgres table or view.",
20975
- "parameters": {
20976
- "table": {
20977
- "type": "string",
20978
- "description": "The table or view name to query"
20979
- }
20980
- },
20981
- "required": [
20982
- "table"
20983
- ],
20984
- "returns": "void"
20985
- },
20986
- "rpc": {
20987
- "description": "Call a Postgres function (RPC).",
20988
- "parameters": {
20989
- "fn": {
20990
- "type": "string",
20991
- "description": "The function name"
20992
- },
20993
- "params": {
20994
- "type": "Record<string, unknown>",
20995
- "description": "Arguments to pass to the function"
20996
- },
20997
- "options": {
20998
- "type": "{ head?: boolean; get?: boolean; count?: \"exact\" | \"planned\" | \"estimated\" }",
20999
- "description": "Optional settings (head, get, count)"
21000
- }
21001
- },
21002
- "required": [
21003
- "fn"
21004
- ],
21005
- "returns": "void"
21006
- },
21007
- "signInWithPassword": {
21008
- "description": "Sign in with email and password.",
21009
- "parameters": {
21010
- "email": {
21011
- "type": "string",
21012
- "description": "Parameter email"
21013
- },
21014
- "password": {
21015
- "type": "string",
21016
- "description": "Parameter password"
21017
- }
21018
- },
21019
- "required": [
21020
- "email",
21021
- "password"
21022
- ],
21023
- "returns": "void"
21024
- },
21025
- "signUp": {
21026
- "description": "Create a new user account with email and password.",
21027
- "parameters": {
21028
- "email": {
21029
- "type": "string",
21030
- "description": "Parameter email"
21031
- },
21032
- "password": {
21033
- "type": "string",
21034
- "description": "Parameter password"
21035
- }
21036
- },
21037
- "required": [
21038
- "email",
21039
- "password"
21040
- ],
21041
- "returns": "void"
21042
- },
21043
- "signOut": {
21044
- "description": "Sign the current user out.",
21045
- "parameters": {},
21046
- "required": [],
21047
- "returns": "void"
21048
- },
21049
- "getSession": {
21050
- "description": "Get the current session, if any.",
21051
- "parameters": {},
21052
- "required": [],
21053
- "returns": "void"
21054
- },
21055
- "getUser": {
21056
- "description": "Get the current user, if any.",
21057
- "parameters": {},
21058
- "required": [],
21059
- "returns": "void"
21060
- },
21061
- "invoke": {
21062
- "description": "Invoke a Supabase Edge Function by name.",
21063
- "parameters": {
21064
- "name": {
21065
- "type": "string",
21066
- "description": "Parameter name"
21067
- },
21068
- "body": {
21069
- "type": "any",
21070
- "description": "Parameter body"
21071
- }
21072
- },
21073
- "required": [
21074
- "name"
21075
- ],
21076
- "returns": "void"
21077
- },
21078
- "subscribe": {
21079
- "description": "Subscribe to realtime changes on a Postgres table.",
21080
- "parameters": {
21081
- "channelName": {
21082
- "type": "string",
21083
- "description": "A name for this subscription channel"
21084
- },
21085
- "table": {
21086
- "type": "string",
21087
- "description": "The table to listen to"
21088
- },
21089
- "callback": {
21090
- "type": "(payload: any) => void",
21091
- "description": "Called with the payload on each change"
21092
- },
21093
- "event": {
21094
- "type": "\"INSERT\" | \"UPDATE\" | \"DELETE\" | \"*\"",
21095
- "description": "The event type to listen for (default: all changes)"
21096
- }
21097
- },
21098
- "required": [
21099
- "channelName",
21100
- "table",
21101
- "callback"
21102
- ],
21103
- "returns": "RealtimeChannel"
21104
- },
21105
- "unsubscribe": {
21106
- "description": "Unsubscribe and remove a realtime channel by name.",
21107
- "parameters": {
21108
- "channelName": {
21109
- "type": "string",
21110
- "description": "The channel name to remove"
21111
- }
21112
- },
21113
- "required": [
21114
- "channelName"
21115
- ],
21116
- "returns": "void"
21117
- },
21118
- "unsubscribeAll": {
21119
- "description": "Unsubscribe and remove all realtime channels.",
21120
- "parameters": {},
21121
- "required": [],
21122
- "returns": "void"
21123
- },
21124
- "connect": {
21125
- "description": "Connect is a no-op since the Supabase SDK initializes on construction. The client is ready to use immediately after creation.",
21126
- "parameters": {},
21127
- "required": [],
21128
- "returns": "void"
21129
- },
21130
- "disconnect": {
21131
- "description": "Disconnect by signing out and removing all realtime channels.",
21132
- "parameters": {},
21133
- "required": [],
21134
- "returns": "void"
21135
- }
21136
- },
21137
- "getters": {
21138
- "sdk": {
21139
- "description": "Returns the raw Supabase SDK client for full access to all SDK methods.",
21140
- "returns": "SupabaseSDKClient<any, any>"
21141
- },
21142
- "storage": {
21143
- "description": "Returns the Supabase Storage client for managing buckets and files.",
21144
- "returns": "any"
21145
- },
21146
- "functions": {
21147
- "description": "Returns the Supabase Functions client.",
21148
- "returns": "any"
21149
- }
21150
- },
21151
- "events": {},
21152
- "state": {},
21153
- "options": {},
21154
- "envVars": [],
21155
- "examples": [
21156
- {
21157
- "language": "ts",
21158
- "code": "const supabase = container.client('supabase', {\n supabaseUrl: 'https://xyz.supabase.co',\n supabaseKey: 'your-anon-key',\n})\n\n// Query data\nconst { data } = await supabase.from('users').select('*')\n\n// Auth\nawait supabase.signInWithPassword('user@example.com', 'password')\n\n// Realtime\nsupabase.subscribe('changes', 'users', (payload) => {\n console.log('Change:', payload)\n})"
21159
- }
21160
- ]
21161
- },
21162
21175
  {
21163
21176
  "id": "clients.elevenlabs",
21164
21177
  "description": "ElevenLabs client — text-to-speech synthesis via the ElevenLabs REST API. Provides methods for listing voices, listing models, and generating speech audio. Audio is returned as a Buffer; use `say()` for a convenience method that writes to disk.",
@@ -21830,6 +21843,19 @@ export const introspectionData = [
21830
21843
  ],
21831
21844
  "returns": "Promise<this>"
21832
21845
  },
21846
+ "useEndpointModules": {
21847
+ "description": "",
21848
+ "parameters": {
21849
+ "modules": {
21850
+ "type": "EndpointModule[]",
21851
+ "description": "Parameter modules"
21852
+ }
21853
+ },
21854
+ "required": [
21855
+ "modules"
21856
+ ],
21857
+ "returns": "Promise<this>"
21858
+ },
21833
21859
  "serveOpenAPISpec": {
21834
21860
  "description": "",
21835
21861
  "parameters": {