@dominusnode/gemini-functions 1.1.0 → 1.3.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/README.md +43 -41
- package/dist/handler.d.ts +2 -0
- package/dist/handler.js +948 -57
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -6,40 +6,40 @@ Gemini-format function declarations and handler implementations for the Dominus
|
|
|
6
6
|
|
|
7
7
|
This directory contains:
|
|
8
8
|
|
|
9
|
-
| File
|
|
10
|
-
|
|
11
|
-
| `functions.json` | Array of 22 Gemini `FunctionDeclaration` objects
|
|
12
|
-
| `handler.ts`
|
|
13
|
-
| `handler.py`
|
|
9
|
+
| File | Description |
|
|
10
|
+
| ---------------- | ------------------------------------------------------------------------- |
|
|
11
|
+
| `functions.json` | Array of 22 Gemini `FunctionDeclaration` objects |
|
|
12
|
+
| `handler.ts` | TypeScript handler that dispatches function calls to the Dominus Node API |
|
|
13
|
+
| `handler.py` | Python handler that dispatches function calls to the Dominus Node API |
|
|
14
14
|
|
|
15
15
|
The function declarations follow the [Gemini function calling specification](https://ai.google.dev/docs/function_calling), using uppercase types (`STRING`, `INTEGER`, `OBJECT`, `BOOLEAN`, `ARRAY`) and embedding constraints in description text rather than using JSON Schema keywords like `minimum`, `maximum`, `enum`, or `default`.
|
|
16
16
|
|
|
17
17
|
## Available Functions (22)
|
|
18
18
|
|
|
19
|
-
| Function
|
|
20
|
-
|
|
21
|
-
| `dominusnode_proxied_fetch`
|
|
22
|
-
| `dominusnode_check_balance`
|
|
23
|
-
| `dominusnode_check_usage`
|
|
24
|
-
| `dominusnode_get_proxy_config`
|
|
25
|
-
| `dominusnode_list_sessions`
|
|
26
|
-
| `dominusnode_create_agentic_wallet`
|
|
27
|
-
| `dominusnode_fund_agentic_wallet`
|
|
28
|
-
| `dominusnode_agentic_wallet_balance`
|
|
29
|
-
| `dominusnode_list_agentic_wallets`
|
|
30
|
-
| `dominusnode_agentic_transactions`
|
|
31
|
-
| `dominusnode_freeze_agentic_wallet`
|
|
32
|
-
| `dominusnode_unfreeze_agentic_wallet` | Unfreeze an agentic wallet
|
|
33
|
-
| `dominusnode_delete_agentic_wallet`
|
|
34
|
-
| `dominusnode_create_team`
|
|
35
|
-
| `dominusnode_list_teams`
|
|
36
|
-
| `dominusnode_team_details`
|
|
37
|
-
| `dominusnode_team_fund`
|
|
38
|
-
| `dominusnode_team_create_key`
|
|
39
|
-
| `dominusnode_team_usage`
|
|
40
|
-
| `dominusnode_update_team`
|
|
41
|
-
| `dominusnode_update_team_member_role` | Update a team member's role
|
|
42
|
-
| `dominusnode_topup_paypal`
|
|
19
|
+
| Function | Description | Auth Required |
|
|
20
|
+
| ------------------------------------- | ------------------------------------------------------------------ | ------------- |
|
|
21
|
+
| `dominusnode_proxied_fetch` | Make an HTTP request through Dominus Node's rotating proxy network | Yes |
|
|
22
|
+
| `dominusnode_check_balance` | Check wallet balance (cents, USD, currency) | Yes |
|
|
23
|
+
| `dominusnode_check_usage` | Check usage stats for a time period (day/week/month) | Yes |
|
|
24
|
+
| `dominusnode_get_proxy_config` | Get proxy endpoints, supported countries, geo-targeting info | Yes |
|
|
25
|
+
| `dominusnode_list_sessions` | List currently active proxy sessions | Yes |
|
|
26
|
+
| `dominusnode_create_agentic_wallet` | Create a sub-wallet for an AI agent with spending limits | Yes |
|
|
27
|
+
| `dominusnode_fund_agentic_wallet` | Transfer funds from main wallet to an agentic wallet | Yes |
|
|
28
|
+
| `dominusnode_agentic_wallet_balance` | Check an agentic wallet's balance and status | Yes |
|
|
29
|
+
| `dominusnode_list_agentic_wallets` | List all agentic wallets | Yes |
|
|
30
|
+
| `dominusnode_agentic_transactions` | Get agentic wallet transaction history | Yes |
|
|
31
|
+
| `dominusnode_freeze_agentic_wallet` | Freeze an agentic wallet | Yes |
|
|
32
|
+
| `dominusnode_unfreeze_agentic_wallet` | Unfreeze an agentic wallet | Yes |
|
|
33
|
+
| `dominusnode_delete_agentic_wallet` | Delete an agentic wallet (refunds balance) | Yes |
|
|
34
|
+
| `dominusnode_create_team` | Create a team for shared proxy billing | Yes |
|
|
35
|
+
| `dominusnode_list_teams` | List teams you belong to | Yes |
|
|
36
|
+
| `dominusnode_team_details` | Get team details | Yes |
|
|
37
|
+
| `dominusnode_team_fund` | Fund a team wallet | Yes |
|
|
38
|
+
| `dominusnode_team_create_key` | Create a shared team API key | Yes |
|
|
39
|
+
| `dominusnode_team_usage` | Get team wallet transaction history | Yes |
|
|
40
|
+
| `dominusnode_update_team` | Update team settings | Yes |
|
|
41
|
+
| `dominusnode_update_team_member_role` | Update a team member's role | Yes |
|
|
42
|
+
| `dominusnode_topup_paypal` | Create a PayPal wallet top-up session | Yes |
|
|
43
43
|
|
|
44
44
|
## Usage with Google Gemini (Python)
|
|
45
45
|
|
|
@@ -154,7 +154,7 @@ console.log(JSON.parse(fetchResult));
|
|
|
154
154
|
|
|
155
155
|
// Example: PayPal top-up
|
|
156
156
|
const topup = await handler("dominusnode_topup_paypal", {
|
|
157
|
-
amount_cents: 5000,
|
|
157
|
+
amount_cents: 5000, // $50.00
|
|
158
158
|
});
|
|
159
159
|
console.log(JSON.parse(topup));
|
|
160
160
|
```
|
|
@@ -163,14 +163,14 @@ console.log(JSON.parse(topup));
|
|
|
163
163
|
|
|
164
164
|
Gemini function declarations differ from OpenAI's JSON Schema format:
|
|
165
165
|
|
|
166
|
-
| Feature
|
|
167
|
-
|
|
168
|
-
| Type names
|
|
169
|
-
| `default`
|
|
170
|
-
| `minimum`/`maximum`
|
|
171
|
-
| `enum`
|
|
172
|
-
| `minLength`/`maxLength` | Supported
|
|
173
|
-
| `additionalProperties`
|
|
166
|
+
| Feature | OpenAI/JSON Schema | Gemini |
|
|
167
|
+
| ----------------------- | ----------------------- | -------------------------------------- |
|
|
168
|
+
| Type names | `"string"`, `"integer"` | `"STRING"`, `"INTEGER"` |
|
|
169
|
+
| `default` | Supported | Not supported -- moved to description |
|
|
170
|
+
| `minimum`/`maximum` | Supported | Not supported -- moved to description |
|
|
171
|
+
| `enum` | Supported | Not supported -- listed in description |
|
|
172
|
+
| `minLength`/`maxLength` | Supported | Not supported -- moved to description |
|
|
173
|
+
| `additionalProperties` | Supported | Not supported -- omitted |
|
|
174
174
|
|
|
175
175
|
All constraints are expressed in the `description` field text for Gemini compatibility.
|
|
176
176
|
|
|
@@ -207,18 +207,20 @@ API keys (`dn_live_*`, `dn_test_*`) are scrubbed from all error messages returne
|
|
|
207
207
|
|
|
208
208
|
## Proxy Pricing
|
|
209
209
|
|
|
210
|
-
| Proxy Type
|
|
211
|
-
|
|
210
|
+
| Proxy Type | Price | Best For |
|
|
211
|
+
| ----------------- | -------- | -------------------------------------- |
|
|
212
212
|
| Datacenter (`dc`) | $3.00/GB | General scraping, speed-critical tasks |
|
|
213
|
-
| Residential
|
|
213
|
+
| Residential | $5.00/GB | Anti-detection, geo-restricted content |
|
|
214
214
|
|
|
215
215
|
## Dependencies
|
|
216
216
|
|
|
217
217
|
### TypeScript Handler
|
|
218
|
+
|
|
218
219
|
- Node.js 18+ (uses native `fetch` and `AbortSignal.timeout`)
|
|
219
220
|
- No external dependencies
|
|
220
221
|
|
|
221
222
|
### Python Handler
|
|
223
|
+
|
|
222
224
|
- Python 3.8+
|
|
223
225
|
- `httpx` (`pip install httpx`)
|
|
224
226
|
|
package/dist/handler.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Dominus Node Gemini / Vertex AI function calling handler (TypeScript).
|
|
3
3
|
*
|
|
4
|
+
* 57 tools for AI agents to interact with the Dominus Node REST API.
|
|
5
|
+
*
|
|
4
6
|
* Provides a factory function that creates a handler for dispatching
|
|
5
7
|
* Google Gemini function calls to the Dominus Node REST API. Works with
|
|
6
8
|
* Gemini, Vertex AI, or any system that uses Gemini-format function
|