@plusonelabs/cue 0.0.93 → 0.0.95
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/bin/cue.js +10 -10
- package/bin/windows-bootstrap.ps1 +9 -9
- package/bin/windows-runtime-artifact.json +2 -2
- package/dist/cli.mjs +1088 -821
- package/dist/skills/README.md +199 -0
- package/dist/skills/_lib/credentials.py +72 -0
- package/dist/skills/activity/SKILL.md +97 -0
- package/dist/skills/assistant/SKILL.md +173 -0
- package/dist/skills/audio/SKILL.md +132 -0
- package/dist/skills/elevenlabs-tts/SKILL.md +76 -0
- package/dist/skills/elevenlabs-tts/scripts/speak.ts +226 -0
- package/dist/skills/event/SKILL.md +98 -0
- package/dist/skills/gemini-search/SKILL.md +52 -0
- package/dist/skills/gemini-search/generate.py +195 -0
- package/dist/skills/image/SKILL.md +169 -0
- package/dist/skills/like/SKILL.md +66 -0
- package/dist/skills/listen/SKILL.md +57 -0
- package/dist/skills/listen/scripts/listen.sh +74 -0
- package/dist/skills/listen/scripts/record.swift +94 -0
- package/dist/skills/markdown-to-pdf/SKILL.md +31 -0
- package/dist/skills/message/SKILL.md +136 -0
- package/dist/skills/mini-apps/SKILL.md +256 -0
- package/dist/skills/music/SKILL.md +139 -0
- package/dist/skills/nano-banana/SKILL.md +70 -0
- package/dist/skills/nano-banana/generate.py +191 -0
- package/dist/skills/news/SKILL.md +41 -0
- package/dist/skills/notify/SKILL.md +123 -0
- package/dist/skills/places/SKILL.md +215 -0
- package/dist/skills/posts/SKILL.md +440 -0
- package/dist/skills/project/SKILL.md +116 -0
- package/dist/skills/pulse/SKILL.md +106 -0
- package/dist/skills/reddit/SKILL.md +41 -0
- package/dist/skills/seeddance/SKILL.md +81 -0
- package/dist/skills/seeddance/generate.py +303 -0
- package/dist/skills/seedream/SKILL.md +86 -0
- package/dist/skills/seedream/generate.py +301 -0
- package/dist/skills/social-graph/SKILL.md +119 -0
- package/dist/skills/transcribe/SKILL.md +150 -0
- package/dist/skills/transcribe/generate.py +389 -0
- package/dist/skills/user/SKILL.md +180 -0
- package/dist/skills/veo3/SKILL.md +76 -0
- package/dist/skills/veo3/generate.py +339 -0
- package/dist/skills/video/SKILL.md +163 -0
- package/dist/skills/weather/SKILL.md +101 -0
- package/dist/skills/web-fetch/SKILL.md +43 -0
- package/dist/skills/web-search/SKILL.md +52 -0
- package/dist/skills/z-asr/SKILL.md +58 -0
- package/dist/skills/z-asr/generate.py +177 -0
- package/dist/skills/z-search/SKILL.md +57 -0
- package/dist/skills/z-search/generate.py +189 -0
- package/dist/skills/z-tts/SKILL.md +51 -0
- package/dist/skills/z-tts/generate.py +172 -0
- package/package.json +1 -1
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: notify
|
|
3
|
+
description: Send push notifications to the user via `cue notify`. Use when sending alerts, reminders, or updates to the user's mobile device.
|
|
4
|
+
category: comms
|
|
5
|
+
type: context
|
|
6
|
+
metadata:
|
|
7
|
+
short-description: Send push notifications
|
|
8
|
+
scope: first-party
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Send push notifications to the user using the Cue CLI.
|
|
12
|
+
|
|
13
|
+
## Requirements
|
|
14
|
+
|
|
15
|
+
- `cue` CLI installed and authenticated (`cue` then `/auth`)
|
|
16
|
+
- User must have registered a device token (via iOS/Android app)
|
|
17
|
+
- Valid category: `messages`, `responses`, `automations`, `reminders`, `social`, `billing`, `system`
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
cue notify "Title" "Message body" [category]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Use a specific account
|
|
26
|
+
|
|
27
|
+
List available profiles and test connection:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
cue auth list # List all accounts
|
|
31
|
+
cue auth status # Test current connection
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Then use `--profile cue:{account-name}` to send as a different account:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
cue --profile cue:work notify "Build Done" "Completed successfully"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### With custom data
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
cue notify "Reminder" "Call dentist" reminders --data '{"reminder_id":"abc-123"}'
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Parameters
|
|
47
|
+
|
|
48
|
+
| Parameter | Required | Description |
|
|
49
|
+
| ------------ | -------- | ---------------------------------- |
|
|
50
|
+
| `--title` | Yes | Notification title (max 200 chars) |
|
|
51
|
+
| `--body` | Yes | Notification body (max 1000 chars) |
|
|
52
|
+
| `--category` | Yes | Notification category (see below) |
|
|
53
|
+
| `--data` | No | Custom JSON data payload |
|
|
54
|
+
|
|
55
|
+
## Categories
|
|
56
|
+
|
|
57
|
+
| Category | Use for |
|
|
58
|
+
| ------------- | ---------------------------- |
|
|
59
|
+
| `messages` | Chat messages |
|
|
60
|
+
| `responses` | AI assistant replies |
|
|
61
|
+
| `automations` | Scheduled automation results |
|
|
62
|
+
| `reminders` | User-set reminders |
|
|
63
|
+
| `social` | Friend requests, mentions |
|
|
64
|
+
| `billing` | Payment alerts |
|
|
65
|
+
| `system` | Account alerts, security |
|
|
66
|
+
|
|
67
|
+
## Examples
|
|
68
|
+
|
|
69
|
+
### System notification
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
cue notify --title "Update Available" --body "A new version of Cue is available" --category "system"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Reminder notification
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
cue notify --title "Reminder" --body "Time for your daily standup" --category "reminders"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Automation result
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
cue notify --title "Expense Report" --body "Weekly expense report generated: $342.50" --category "automations" --data '{"report_id":"xyz-789"}'
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Social notification
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
cue notify --title "New Friend Request" --body "Alex wants to connect" --category "social" --data '{"user_id":"abc-123"}'
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Response
|
|
94
|
+
|
|
95
|
+
On success:
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"success": true,
|
|
100
|
+
"push_sent": true,
|
|
101
|
+
"push_results": [{ "token": "4ad461...", "success": true, "error": null }]
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
If skipped (e.g., muted or no device):
|
|
106
|
+
|
|
107
|
+
```json
|
|
108
|
+
{
|
|
109
|
+
"success": true,
|
|
110
|
+
"push_sent": false,
|
|
111
|
+
"skipped_reason": "no_device_tokens"
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Troubleshooting
|
|
116
|
+
|
|
117
|
+
| Error | Fix |
|
|
118
|
+
| ---------------------- | ----------------------------------------------------- |
|
|
119
|
+
| Not authenticated | Run `cue` then `/auth` to log in |
|
|
120
|
+
| Authentication expired | Re-authenticate with `/auth` |
|
|
121
|
+
| Profile not found | Check account name with `cue auth list` |
|
|
122
|
+
| no_device_tokens | User hasn't registered a device token via mobile app |
|
|
123
|
+
| User preferences block | User has muted this category in notification settings |
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: places
|
|
3
|
+
description: Search and explore places via `cue place`. Text search, nearby search, autocomplete, resolve locations, get place details and photos using Google Places API.
|
|
4
|
+
category: data
|
|
5
|
+
type: context
|
|
6
|
+
metadata:
|
|
7
|
+
short-description: Search and explore places
|
|
8
|
+
scope: first-party
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Search and explore places using the Cue CLI. Proxies Google Places API (New) through the backend.
|
|
12
|
+
|
|
13
|
+
## Requirements
|
|
14
|
+
|
|
15
|
+
- `cue` CLI installed and authenticated (`cue` then `/auth`)
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
### Text search
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
cue place search '{"query":"coffee shop"}'
|
|
23
|
+
cue place search '{"query":"pizza","location_bias":{"lat":40.8,"lng":-73.9,"radius_m":3000}}'
|
|
24
|
+
cue place search '{"query":"cafe","filters":{"open_now":true,"min_rating":4.0},"limit":5}'
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Nearby search
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
cue place nearby '{"location":{"lat":40.8,"lng":-73.9,"radius_m":1500},"included_types":["restaurant"]}'
|
|
31
|
+
cue place nearby '{"location":{"lat":40.8,"lng":-73.9,"radius_m":2000},"excluded_types":["fast_food"],"limit":10}'
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Autocomplete
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
cue place autocomplete '{"input":"cof"}'
|
|
38
|
+
cue place autocomplete '{"input":"star","location_bias":{"lat":40.8,"lng":-73.9,"radius_m":5000},"limit":5}'
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Resolve location text to coordinates
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
cue place resolve '{"location_text":"Soho, London"}'
|
|
45
|
+
cue place resolve '{"location_text":"Times Square, NYC","limit":3}'
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Get place details
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
cue place get <place_id>
|
|
52
|
+
cue place get <place_id> --reviews --photos
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Get photo URL
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
cue place photo <place_id> <photo_name>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
The `photo_name` comes from the `photos[].name` field in place details.
|
|
62
|
+
|
|
63
|
+
### Use a specific account
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
cue --profile cue:work place search '{"query":"office space"}'
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Request Parameters
|
|
70
|
+
|
|
71
|
+
### Search
|
|
72
|
+
|
|
73
|
+
| Field | Type | Required | Description |
|
|
74
|
+
| --------------- | ------ | -------- | --------------------------------------------- |
|
|
75
|
+
| `query` | string | Yes | Search text |
|
|
76
|
+
| `location_bias` | object | No | `{lat, lng, radius_m}` to bias results |
|
|
77
|
+
| `filters` | object | No | `{open_now, min_rating, types, price_levels}` |
|
|
78
|
+
| `limit` | number | No | Max results (default 10, max 20) |
|
|
79
|
+
| `language` | string | No | Language code (e.g. "en") |
|
|
80
|
+
| `region` | string | No | Region code (e.g. "US") |
|
|
81
|
+
| `page_token` | string | No | Pagination token |
|
|
82
|
+
|
|
83
|
+
### Nearby
|
|
84
|
+
|
|
85
|
+
| Field | Type | Required | Description |
|
|
86
|
+
| ---------------- | -------- | -------- | -------------------------------- |
|
|
87
|
+
| `location` | object | Yes | `{lat, lng, radius_m}` |
|
|
88
|
+
| `included_types` | string[] | No | Place types to include |
|
|
89
|
+
| `excluded_types` | string[] | No | Place types to exclude |
|
|
90
|
+
| `limit` | number | No | Max results (default 10, max 20) |
|
|
91
|
+
|
|
92
|
+
### Autocomplete
|
|
93
|
+
|
|
94
|
+
| Field | Type | Required | Description |
|
|
95
|
+
| --------------- | ------ | -------- | ----------------------------------- |
|
|
96
|
+
| `input` | string | Yes | Partial text to complete |
|
|
97
|
+
| `session_token` | string | No | UUID for billing grouping |
|
|
98
|
+
| `location_bias` | object | No | `{lat, lng, radius_m}` |
|
|
99
|
+
| `limit` | number | No | Max suggestions (default 5, max 20) |
|
|
100
|
+
| `language` | string | No | Language code |
|
|
101
|
+
|
|
102
|
+
### Resolve
|
|
103
|
+
|
|
104
|
+
| Field | Type | Required | Description |
|
|
105
|
+
| --------------- | ------ | -------- | ------------------------------- |
|
|
106
|
+
| `location_text` | string | Yes | Location description |
|
|
107
|
+
| `limit` | number | No | Max results (default 5, max 10) |
|
|
108
|
+
|
|
109
|
+
## Response Format
|
|
110
|
+
|
|
111
|
+
### Search / Nearby
|
|
112
|
+
|
|
113
|
+
```json
|
|
114
|
+
{
|
|
115
|
+
"results": [
|
|
116
|
+
{
|
|
117
|
+
"place_id": "ChIJ...",
|
|
118
|
+
"name": "Blue Bottle Coffee",
|
|
119
|
+
"address": "123 Main St, New York, NY",
|
|
120
|
+
"location": { "lat": 40.801, "lng": -73.968 },
|
|
121
|
+
"rating": 4.5,
|
|
122
|
+
"price_level": 2,
|
|
123
|
+
"types": ["cafe", "food"],
|
|
124
|
+
"open_now": true
|
|
125
|
+
}
|
|
126
|
+
],
|
|
127
|
+
"next_page_token": "..."
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Autocomplete
|
|
132
|
+
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"suggestions": [
|
|
136
|
+
{
|
|
137
|
+
"kind": "place",
|
|
138
|
+
"place_id": "ChIJ...",
|
|
139
|
+
"text": "Coffee Shop NYC",
|
|
140
|
+
"main_text": "Coffee Shop",
|
|
141
|
+
"secondary_text": "NYC",
|
|
142
|
+
"types": ["cafe"],
|
|
143
|
+
"distance_meters": 450
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Place Details
|
|
150
|
+
|
|
151
|
+
```json
|
|
152
|
+
{
|
|
153
|
+
"place_id": "ChIJ...",
|
|
154
|
+
"name": "Blue Bottle Coffee",
|
|
155
|
+
"address": "123 Main St, New York, NY",
|
|
156
|
+
"location": { "lat": 40.801, "lng": -73.968 },
|
|
157
|
+
"rating": 4.5,
|
|
158
|
+
"price_level": 2,
|
|
159
|
+
"types": ["cafe", "food"],
|
|
160
|
+
"phone": "+1 212-555-0123",
|
|
161
|
+
"website": "https://bluebottlecoffee.com",
|
|
162
|
+
"hours": ["Monday: 7:00 AM – 7:00 PM"],
|
|
163
|
+
"open_now": true,
|
|
164
|
+
"reviews": [],
|
|
165
|
+
"photos": [
|
|
166
|
+
{ "name": "places/.../photos/...", "width_px": 800, "height_px": 600 }
|
|
167
|
+
]
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Price Levels
|
|
172
|
+
|
|
173
|
+
| Value | Meaning |
|
|
174
|
+
| ----- | -------------- |
|
|
175
|
+
| 0 | Free |
|
|
176
|
+
| 1 | Inexpensive |
|
|
177
|
+
| 2 | Moderate |
|
|
178
|
+
| 3 | Expensive |
|
|
179
|
+
| 4 | Very Expensive |
|
|
180
|
+
|
|
181
|
+
## Examples
|
|
182
|
+
|
|
183
|
+
### Find nearby restaurants
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
cue place nearby '{"location":{"lat":37.7749,"lng":-122.4194,"radius_m":1000},"included_types":["restaurant"],"limit":5}'
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Search with filters
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
cue place search '{"query":"sushi","location_bias":{"lat":37.7749,"lng":-122.4194,"radius_m":2000},"filters":{"open_now":true,"min_rating":4.0,"price_levels":[1,2]}}'
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### Get details with reviews
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
cue place get ChIJOwg_06VPwokRYv534QaPC8g --reviews --photos
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Resolve a location
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
cue place resolve '{"location_text":"Central Park, New York"}'
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
## Troubleshooting
|
|
208
|
+
|
|
209
|
+
| Error | Fix |
|
|
210
|
+
| ------------------------- | ----------------------------------------------- |
|
|
211
|
+
| Not authenticated | Run `cue` then `/auth` to log in |
|
|
212
|
+
| Authentication expired | Re-authenticate with `/auth` |
|
|
213
|
+
| Invalid JSON | Check JSON syntax |
|
|
214
|
+
| 500 Internal Server Error | Google Places API key not configured on backend |
|
|
215
|
+
| 502 Bad Gateway | Google API returned an error (check query) |
|