gooseworks 0.3.15 → 0.4.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 +58 -8
- package/dist/agents/claude.js +1 -1
- package/dist/agents/claude.js.map +1 -1
- package/dist/agents/codex.js +1 -1
- package/dist/agents/codex.js.map +1 -1
- package/dist/agents/skill-links.d.ts +7 -2
- package/dist/agents/skill-links.d.ts.map +1 -1
- package/dist/agents/skill-links.js +10 -5
- package/dist/agents/skill-links.js.map +1 -1
- package/dist/auth/attribution.d.ts +14 -0
- package/dist/auth/attribution.d.ts.map +1 -0
- package/dist/auth/attribution.js +37 -0
- package/dist/auth/attribution.js.map +1 -0
- package/dist/auth/oauth-server.d.ts +4 -4
- package/dist/auth/oauth-server.d.ts.map +1 -1
- package/dist/auth/oauth-server.js +8 -8
- package/dist/auth/oauth-server.js.map +1 -1
- package/dist/commands/call.d.ts.map +1 -1
- package/dist/commands/call.js +6 -5
- package/dist/commands/call.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +11 -7
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/login.d.ts +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +13 -27
- package/dist/commands/login.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +6 -2
- package/dist/config.js.map +1 -1
- package/dist/skills/installer.d.ts +9 -0
- package/dist/skills/installer.d.ts.map +1 -1
- package/dist/skills/installer.js +20 -6
- package/dist/skills/installer.js.map +1 -1
- package/dist/skills/master-skill.d.ts +24 -22
- package/dist/skills/master-skill.d.ts.map +1 -1
- package/dist/skills/master-skill.js +392 -149
- package/dist/skills/master-skill.js.map +1 -1
- package/dist/skills/names.d.ts +53 -1
- package/dist/skills/names.d.ts.map +1 -1
- package/dist/skills/names.js +107 -7
- package/dist/skills/names.js.map +1 -1
- package/dist/skills/routes.d.ts +68 -0
- package/dist/skills/routes.d.ts.map +1 -0
- package/dist/skills/routes.js +124 -0
- package/dist/skills/routes.js.map +1 -0
- package/package.json +1 -1
- package/skills/goose-ads/SKILL.md +124 -104
- package/skills/goose-product-photos/SKILL.md +129 -0
- package/skills/gooseworks/SKILL.md +100 -41
- package/skills/routes.json +157 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# GooseWorks
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Put your AI agent on the growth team. GooseWorks gives Claude Code, Cursor, and Codex specialist skills for research, lead generation, social data, ads, product photography, graphics, and growth work—with one install.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
@@ -8,14 +8,14 @@ Pick your agent:
|
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
10
|
# Claude Code
|
|
11
|
-
npx gooseworks install --claude
|
|
12
|
-
npx gooseworks install --claude --with goose-graphics
|
|
11
|
+
npx gooseworks install --claude --mcp
|
|
12
|
+
npx gooseworks install --claude --mcp --with goose-graphics
|
|
13
13
|
|
|
14
14
|
# Cursor
|
|
15
|
-
npx gooseworks install --cursor
|
|
15
|
+
npx gooseworks install --cursor --mcp
|
|
16
16
|
|
|
17
17
|
# Codex
|
|
18
|
-
npx gooseworks install --codex
|
|
18
|
+
npx gooseworks install --codex --mcp
|
|
19
19
|
|
|
20
20
|
# All detected agents
|
|
21
21
|
npx gooseworks install --all
|
|
@@ -24,7 +24,15 @@ npx gooseworks install --all
|
|
|
24
24
|
This does three things:
|
|
25
25
|
1. Opens browser for Google sign-in
|
|
26
26
|
2. Installs the GooseWorks skill into your coding agent
|
|
27
|
-
3. You're ready — ask your agent to "scrape reddit", "find leads", "research competitors"
|
|
27
|
+
3. You're ready — ask your agent to "scrape reddit", "find leads", "research competitors", or "create product photos"
|
|
28
|
+
|
|
29
|
+
New to GooseWorks? Ask for the work you want done, for example:
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
/gooseworks research my competitors
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Your first request automatically starts or resumes the same onboarding used by the GooseWorks web app. It covers your company, coworker, creative taste, first campaign, growth stage, research review, and channels, saving after every step. The resulting **Company Brain** is shared across web, Claude, Codex, ChatGPT, and Cowork; when setup is complete, the agent immediately continues the request you originally made.
|
|
28
36
|
|
|
29
37
|
Use `--with <skill-slug>` to install standalone GooseWorks skills alongside the main GooseWorks skill. For example, `--with goose-graphics` installs `/goose-graphics` locally so your agent can run it directly without doing a catalog lookup through `/gooseworks`.
|
|
30
38
|
|
|
@@ -57,6 +65,7 @@ npx gooseworks install --codex # Configure for Codex
|
|
|
57
65
|
npx gooseworks install --all # Configure all detected agents
|
|
58
66
|
npx gooseworks install --claude --with goose-graphics
|
|
59
67
|
npx gooseworks install --claude --with goose-graphics --with aeo
|
|
68
|
+
npx gooseworks install --all --ref <campaign-or-referral-code>
|
|
60
69
|
```
|
|
61
70
|
|
|
62
71
|
**What it does:**
|
|
@@ -159,12 +168,53 @@ npx gooseworks update
|
|
|
159
168
|
|
|
160
169
|
Standalone skills installed with `--with` skip the catalog search step. After `npx gooseworks install --claude --with goose-graphics`, you can invoke `/goose-graphics ...` directly from Claude Code.
|
|
161
170
|
|
|
171
|
+
## What growth teams can ask
|
|
172
|
+
|
|
173
|
+
Use `/gooseworks` naturally. It can bring in specialist capabilities without requiring you to know the internal skill name:
|
|
174
|
+
|
|
175
|
+
```text
|
|
176
|
+
/gooseworks Analyze the ads my three competitors are currently running.
|
|
177
|
+
/gooseworks Mine these TikTok and Instagram comments for objections and buying intent.
|
|
178
|
+
/gooseworks Find skincare creators whose audiences match women aged 25–40 in the US.
|
|
179
|
+
/gooseworks Diagnose our Meta performance and recommend the next creative test.
|
|
180
|
+
/gooseworks Research demand for this new product idea.
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
For focused creative work you can also use:
|
|
184
|
+
|
|
185
|
+
- `/goose-ads` for static ads, ad research, and ad performance.
|
|
186
|
+
- `/goose-product-photos` for studio, lifestyle, marketplace, social, and on-model product photography.
|
|
187
|
+
- `/goose-video` for supported video-ad formats.
|
|
188
|
+
- `goose-graphics` for social graphics, carousels, slides, and branded visual content.
|
|
189
|
+
- `animate-image` to turn an approved still into a short motion creative.
|
|
190
|
+
|
|
191
|
+
Consumer and ecommerce brands are one important use case. The same `/gooseworks` coworker remains useful for B2B teams, agencies, sales, research, lead generation, and other GTM work.
|
|
192
|
+
|
|
193
|
+
## Direct provider calls
|
|
194
|
+
|
|
195
|
+
### `call`
|
|
196
|
+
|
|
197
|
+
Call managed data providers without buying a separate provider key. ScrapeCreators uses its first-party GooseWorks proxy and defaults to GET:
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
npx gooseworks call scrapecreators /v2/instagram/post/comments \
|
|
201
|
+
--query='{"url":"https://www.instagram.com/p/POST_ID/"}'
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
For the few official ScrapeCreators POST operations, pass the method and JSON body explicitly:
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
npx gooseworks call scrapecreators /v1/facebook/adLibrary/search/ads \
|
|
208
|
+
--method POST \
|
|
209
|
+
--body='{"query":"running shoes","country":"US"}'
|
|
210
|
+
```
|
|
211
|
+
|
|
162
212
|
## Security & data handling
|
|
163
213
|
|
|
164
214
|
We'd rather you know exactly what this CLI does before you run it:
|
|
165
215
|
|
|
166
216
|
- **Skill scripts are open source and fetched at runtime.** `gooseworks fetch <slug>` (and the skills that call it) download skill content and Python scripts from the GooseWorks catalog on demand, save them under `/tmp/gooseworks-scripts/`, and run them on your machine. Every skill and its scripts live in the public, open-source [goose-skills repo](https://github.com/gooseworks-ai/goose-skills/tree/main/skills) — the catalog is synced from there — so the code is the same maintained, auditable source you can read on GitHub. They're served from the catalog (kept current) rather than pinned to the installed CLI version, so you always get the latest version of a skill.
|
|
167
|
-
- **The MCP server is opt-in.** It's only registered when you pass `--mcp` (or `--all`). When you do, the CLI adds a `gooseworks` entry to `~/.claude.json` (Claude Code) or `~/.codex/config.toml` (Codex) that includes your bearer token in an `Authorization` header — this is how every HTTP MCP server authenticates. Skip `--mcp` if you don't want the server registered as a live tool provider;
|
|
217
|
+
- **The MCP server is opt-in.** It's only registered when you pass `--mcp` (or `--all`). When you do, the CLI adds a `gooseworks` entry to `~/.claude.json` (Claude Code) or `~/.codex/config.toml` (Codex) that includes your bearer token in an `Authorization` header — this is how every HTTP MCP server authenticates. Skip `--mcp` if you don't want the server registered as a live tool provider; shared onboarding and ads creation require it.
|
|
168
218
|
- **Credentials are stored locally.** Your API key lives in `~/.gooseworks/credentials.json`, written with `0600` permissions in a `0700` directory. `gooseworks logout` deletes it.
|
|
169
219
|
- **`gooseworks env` exposes your key.** `eval $(gooseworks env)` exports `GOOSEWORKS_API_KEY` into your shell environment, where any process you run can read it. Most commands (e.g. `gooseworks call`) load credentials on their own — only use `env` when a script genuinely needs the environment variable.
|
|
170
220
|
- **No install hooks.** `npm install` only downloads files; nothing executes on install. The CLI has four dependencies (chalk, commander, open, ora), uses standard OAuth with CSRF protection, and makes all network calls over HTTPS.
|
|
@@ -269,7 +319,7 @@ ad-credit balance. Use `estimate_remix_batch` (cost preview) and `gooseworks cre
|
|
|
269
319
|
|
|
270
320
|
New users get **200 free credits**. Each skill run costs 1-10 credits depending on the data source. Check your balance with `npx gooseworks credits`.
|
|
271
321
|
|
|
272
|
-
Need more? Visit [gooseworks.ai/settings](https://
|
|
322
|
+
Need more? Visit [gooseworks.ai/settings](https://make.gooseworks.ai/settings) to add credits.
|
|
273
323
|
|
|
274
324
|
## Requirements
|
|
275
325
|
|
package/dist/agents/claude.js
CHANGED
|
@@ -54,6 +54,6 @@ function configureClaude() {
|
|
|
54
54
|
return (0, skill_links_1.syncManagedSkillLinks)(skillsBase, CLAUDE_SKILLS_DIR).linked;
|
|
55
55
|
}
|
|
56
56
|
function removeClaude() {
|
|
57
|
-
(0, skill_links_1.removeManagedSkillLinks)(CLAUDE_SKILLS_DIR);
|
|
57
|
+
(0, skill_links_1.removeManagedSkillLinks)(CLAUDE_SKILLS_DIR, (0, installer_1.getSkillsBasePath)());
|
|
58
58
|
}
|
|
59
59
|
//# sourceMappingURL=claude.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/agents/claude.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,gDAEC;AAED,0CAOC;AAED,oCAEC;AAvBD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,mDAAwD;AACxD,+CAA+E;AAE/E,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAEvE,SAAgB,kBAAkB;IAChC,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAgB,eAAe;IAC7B,MAAM,UAAU,GAAG,IAAA,6BAAiB,GAAE,CAAC;IACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,kEAAkE;IAClE,OAAO,IAAA,mCAAqB,EAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,MAAM,CAAC;AACrE,CAAC;AAED,SAAgB,YAAY;IAC1B,IAAA,qCAAuB,EAAC,iBAAiB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/agents/claude.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,gDAEC;AAED,0CAOC;AAED,oCAEC;AAvBD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,mDAAwD;AACxD,+CAA+E;AAE/E,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAEvE,SAAgB,kBAAkB;IAChC,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAgB,eAAe;IAC7B,MAAM,UAAU,GAAG,IAAA,6BAAiB,GAAE,CAAC;IACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,kEAAkE;IAClE,OAAO,IAAA,mCAAqB,EAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,MAAM,CAAC;AACrE,CAAC;AAED,SAAgB,YAAY;IAC1B,IAAA,qCAAuB,EAAC,iBAAiB,EAAE,IAAA,6BAAiB,GAAE,CAAC,CAAC;AAClE,CAAC"}
|
package/dist/agents/codex.js
CHANGED
|
@@ -57,7 +57,7 @@ function configureCodex() {
|
|
|
57
57
|
return (0, skill_links_1.syncManagedSkillLinks)(skillsBase, CODEX_SKILLS_DIR).linked;
|
|
58
58
|
}
|
|
59
59
|
function removeCodex() {
|
|
60
|
-
(0, skill_links_1.removeManagedSkillLinks)(CODEX_SKILLS_DIR);
|
|
60
|
+
(0, skill_links_1.removeManagedSkillLinks)(CODEX_SKILLS_DIR, (0, installer_1.getSkillsBasePath)());
|
|
61
61
|
}
|
|
62
62
|
function normalizeMcpUrl(base) {
|
|
63
63
|
const stripped = base.replace(/\/$/, '');
|
package/dist/agents/codex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/agents/codex.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,8CAEC;AAED,wCAOC;AAED,kCAEC;AA6CD,8CAiBC;AAvFD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,qDAAqD;AACrD,mDAAwD;AACxD,+CAA+E;AAE/E,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACrE,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAE3E,SAAgB,iBAAiB;IAC/B,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAgB,cAAc;IAC5B,MAAM,UAAU,GAAG,IAAA,6BAAiB,GAAE,CAAC;IACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,kEAAkE;IAClE,OAAO,IAAA,mCAAqB,EAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,MAAM,CAAC;AACpE,CAAC;AAED,SAAgB,WAAW;IACzB,IAAA,qCAAuB,EAAC,gBAAgB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/agents/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Drop every managed link under `targetDir` (leaving real directories alone).
|
|
3
|
+
*
|
|
4
|
+
* `skillsBase` is the skills dir the links point into — ownership is decided by
|
|
5
|
+
* what's on disk there, not by the link's name (GOOSE-3191).
|
|
6
|
+
*/
|
|
7
|
+
export declare function removeManagedSkillLinks(targetDir: string, skillsBase: string): void;
|
|
3
8
|
/**
|
|
4
9
|
* Link every managed skill under `skillsBase` into `targetDir`.
|
|
5
10
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-links.d.ts","sourceRoot":"","sources":["../../src/agents/skill-links.ts"],"names":[],"mappings":"AAwEA
|
|
1
|
+
{"version":3,"file":"skill-links.d.ts","sourceRoot":"","sources":["../../src/agents/skill-links.ts"],"names":[],"mappings":"AAwEA;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAanF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAoDpC"}
|
|
@@ -107,8 +107,13 @@ function removeLink(target) {
|
|
|
107
107
|
// ignore — nothing more we can safely do
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
|
-
/**
|
|
111
|
-
|
|
110
|
+
/**
|
|
111
|
+
* Drop every managed link under `targetDir` (leaving real directories alone).
|
|
112
|
+
*
|
|
113
|
+
* `skillsBase` is the skills dir the links point into — ownership is decided by
|
|
114
|
+
* what's on disk there, not by the link's name (GOOSE-3191).
|
|
115
|
+
*/
|
|
116
|
+
function removeManagedSkillLinks(targetDir, skillsBase) {
|
|
112
117
|
if (!fs.existsSync(targetDir))
|
|
113
118
|
return;
|
|
114
119
|
let entries = [];
|
|
@@ -119,7 +124,7 @@ function removeManagedSkillLinks(targetDir) {
|
|
|
119
124
|
return;
|
|
120
125
|
}
|
|
121
126
|
for (const entry of entries) {
|
|
122
|
-
if (!(0, names_1.isManagedGooseworksSkill)(entry))
|
|
127
|
+
if (!(0, names_1.isManagedGooseworksSkill)(entry, skillsBase))
|
|
123
128
|
continue;
|
|
124
129
|
const target = path.join(targetDir, entry);
|
|
125
130
|
if (isLink(target))
|
|
@@ -141,7 +146,7 @@ function syncManagedSkillLinks(skillsBase, targetDir) {
|
|
|
141
146
|
fs.mkdirSync(targetDir, { recursive: true });
|
|
142
147
|
let sources = [];
|
|
143
148
|
try {
|
|
144
|
-
sources = fs.readdirSync(skillsBase).filter(names_1.isManagedGooseworksSkill);
|
|
149
|
+
sources = fs.readdirSync(skillsBase).filter((entry) => (0, names_1.isManagedGooseworksSkill)(entry, skillsBase));
|
|
145
150
|
}
|
|
146
151
|
catch {
|
|
147
152
|
return { linked: 0, failed: 0 };
|
|
@@ -151,7 +156,7 @@ function syncManagedSkillLinks(skillsBase, targetDir) {
|
|
|
151
156
|
// (so a working junction a Windows user repaired by hand isn't destroyed).
|
|
152
157
|
try {
|
|
153
158
|
for (const entry of fs.readdirSync(targetDir)) {
|
|
154
|
-
if (!(0, names_1.isManagedGooseworksSkill)(entry))
|
|
159
|
+
if (!(0, names_1.isManagedGooseworksSkill)(entry, skillsBase))
|
|
155
160
|
continue;
|
|
156
161
|
const target = path.join(targetDir, entry);
|
|
157
162
|
const source = wanted.get(entry);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-links.js","sourceRoot":"","sources":["../../src/agents/skill-links.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"skill-links.js","sourceRoot":"","sources":["../../src/agents/skill-links.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface AttributionResult {
|
|
2
|
+
recorded: boolean;
|
|
3
|
+
kind?: 'marketing' | 'referral' | 'unknown';
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Attach an authenticated --ref touch without changing the user's original
|
|
7
|
+
* signup attribution. The backend resolves marketing refs and keeps creator /
|
|
8
|
+
* user referral handling on the existing OAuth path.
|
|
9
|
+
*
|
|
10
|
+
* Attribution is best-effort: a campaign tracking outage must never block
|
|
11
|
+
* login or installation.
|
|
12
|
+
*/
|
|
13
|
+
export declare function recordAttributionRef(apiBase: string, ref: string | undefined, apiKey: string): Promise<AttributionResult>;
|
|
14
|
+
//# sourceMappingURL=attribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attribution.d.ts","sourceRoot":"","sources":["../../src/auth/attribution.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC,CAuB5B"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.recordAttributionRef = recordAttributionRef;
|
|
4
|
+
/**
|
|
5
|
+
* Attach an authenticated --ref touch without changing the user's original
|
|
6
|
+
* signup attribution. The backend resolves marketing refs and keeps creator /
|
|
7
|
+
* user referral handling on the existing OAuth path.
|
|
8
|
+
*
|
|
9
|
+
* Attribution is best-effort: a campaign tracking outage must never block
|
|
10
|
+
* login or installation.
|
|
11
|
+
*/
|
|
12
|
+
async function recordAttributionRef(apiBase, ref, apiKey) {
|
|
13
|
+
const trimmed = ref?.trim();
|
|
14
|
+
if (!trimmed)
|
|
15
|
+
return { recorded: false };
|
|
16
|
+
try {
|
|
17
|
+
const response = await fetch(`${apiBase.replace(/\/$/, '')}/api/cli/attribution`, {
|
|
18
|
+
method: 'POST',
|
|
19
|
+
headers: {
|
|
20
|
+
Authorization: `Bearer ${apiKey}`,
|
|
21
|
+
'Content-Type': 'application/json',
|
|
22
|
+
},
|
|
23
|
+
body: JSON.stringify({ ref: trimmed }),
|
|
24
|
+
});
|
|
25
|
+
if (!response.ok)
|
|
26
|
+
return { recorded: false };
|
|
27
|
+
const body = await response.json();
|
|
28
|
+
return {
|
|
29
|
+
recorded: body.recorded === true,
|
|
30
|
+
...(body.kind ? { kind: body.kind } : {}),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return { recorded: false };
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=attribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attribution.js","sourceRoot":"","sources":["../../src/auth/attribution.ts"],"names":[],"mappings":";;AAaA,oDA2BC;AAnCD;;;;;;;GAOG;AACI,KAAK,UAAU,oBAAoB,CACxC,OAAe,EACf,GAAuB,EACvB,MAAc;IAEd,MAAM,OAAO,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,EAAE;YAChF,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,MAAM,EAAE;gBACjC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;SACvC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAgC,CAAC;QACjE,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI;YAChC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC"}
|
|
@@ -7,12 +7,12 @@ interface OAuthResult {
|
|
|
7
7
|
mcp_server_url?: string;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
* @param
|
|
10
|
+
* @param attributionRef Referral or marketing code (from `--ref`). Forwarded to
|
|
11
11
|
* the `/cli/auth` page as `?creator_ref=`, which passes it onto `/auth/google`
|
|
12
12
|
* so the backend attributes a first-time signup to that creator's cash rail.
|
|
13
|
-
*
|
|
14
|
-
*
|
|
13
|
+
* Marketing refs are also resolved after authentication by the CLI's
|
|
14
|
+
* authenticated attribution call.
|
|
15
15
|
*/
|
|
16
|
-
export declare function runOAuthFlow(apiBase: string,
|
|
16
|
+
export declare function runOAuthFlow(apiBase: string, attributionRef?: string): Promise<OAuthResult>;
|
|
17
17
|
export {};
|
|
18
18
|
//# sourceMappingURL=oauth-server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-server.d.ts","sourceRoot":"","sources":["../../src/auth/oauth-server.ts"],"names":[],"mappings":"AAUA,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,
|
|
1
|
+
{"version":3,"file":"oauth-server.d.ts","sourceRoot":"","sources":["../../src/auth/oauth-server.ts"],"names":[],"mappings":"AAUA,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,WAAW,CAAC,CAkItB"}
|
|
@@ -45,13 +45,13 @@ const logger = __importStar(require("../utils/logger"));
|
|
|
45
45
|
const config_1 = require("../config");
|
|
46
46
|
const OAUTH_TIMEOUT_MS = 120_000;
|
|
47
47
|
/**
|
|
48
|
-
* @param
|
|
48
|
+
* @param attributionRef Referral or marketing code (from `--ref`). Forwarded to
|
|
49
49
|
* the `/cli/auth` page as `?creator_ref=`, which passes it onto `/auth/google`
|
|
50
50
|
* so the backend attributes a first-time signup to that creator's cash rail.
|
|
51
|
-
*
|
|
52
|
-
*
|
|
51
|
+
* Marketing refs are also resolved after authentication by the CLI's
|
|
52
|
+
* authenticated attribution call.
|
|
53
53
|
*/
|
|
54
|
-
async function runOAuthFlow(apiBase,
|
|
54
|
+
async function runOAuthFlow(apiBase, attributionRef) {
|
|
55
55
|
const state = crypto.randomBytes(16).toString('hex');
|
|
56
56
|
const frontendBase = config_1.FRONTEND_URL;
|
|
57
57
|
return new Promise((resolve, reject) => {
|
|
@@ -140,10 +140,10 @@ async function runOAuthFlow(apiBase, creatorRef) {
|
|
|
140
140
|
// correct backend (e.g. http://localhost:5999 for local dev vs. the
|
|
141
141
|
// ngrok/prod URL baked into NEXT_PUBLIC_API_URL).
|
|
142
142
|
let authUrl = `${frontendBase}/cli/auth?callback_port=${port}&state=${state}&api_base=${encodeURIComponent(apiBase)}`;
|
|
143
|
-
//
|
|
144
|
-
//
|
|
145
|
-
if (
|
|
146
|
-
authUrl += `&creator_ref=${encodeURIComponent(
|
|
143
|
+
// Preserve the existing creator-referral rail. The same value is sent to
|
|
144
|
+
// the authenticated attribution endpoint after OAuth for marketing refs.
|
|
145
|
+
if (attributionRef) {
|
|
146
|
+
authUrl += `&creator_ref=${encodeURIComponent(attributionRef)}`;
|
|
147
147
|
}
|
|
148
148
|
logger.info('Opening browser for Google sign-in...');
|
|
149
149
|
(0, open_1.default)(authUrl).catch(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-server.js","sourceRoot":"","sources":["../../src/auth/oauth-server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,oCAqIC;AA/JD,2CAA6B;AAE7B,+CAAiC;AACjC,gDAAwB;AACxB,+CAAkE;AAClE,wDAA0C;AAC1C,sCAAyC;AAEzC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAWjC;;;;;;GAMG;AACI,KAAK,UAAU,YAAY,CAChC,OAAe,EACf,
|
|
1
|
+
{"version":3,"file":"oauth-server.js","sourceRoot":"","sources":["../../src/auth/oauth-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/commands/call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/commands/call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4BpC,eAAO,MAAM,WAAW,SA+EpB,CAAC"}
|
package/dist/commands/call.js
CHANGED
|
@@ -38,7 +38,7 @@ const commander_1 = require("commander");
|
|
|
38
38
|
const credentials_1 = require("../auth/credentials");
|
|
39
39
|
const http_1 = require("../utils/http");
|
|
40
40
|
const logger = __importStar(require("../utils/logger"));
|
|
41
|
-
const DIRECT_PROXIES = new Set(['apify', 'apollo', 'crustdata']);
|
|
41
|
+
const DIRECT_PROXIES = new Set(['apify', 'apollo', 'crustdata', 'scrapecreators']);
|
|
42
42
|
function parseJsonOption(value, name) {
|
|
43
43
|
if (value === undefined)
|
|
44
44
|
return undefined;
|
|
@@ -50,10 +50,10 @@ function parseJsonOption(value, name) {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
exports.callCommand = new commander_1.Command('call')
|
|
53
|
-
.description('Call any external provider (apify, apollo, crustdata, hunter, pdl, etc.)')
|
|
54
|
-
.argument('<provider>', 'Provider name (e.g. "
|
|
53
|
+
.description('Call any external provider (apify, scrapecreators, apollo, crustdata, hunter, pdl, etc.)')
|
|
54
|
+
.argument('<provider>', 'Provider name (e.g. "scrapecreators", "apify", "hunter")')
|
|
55
55
|
.argument('<path>', 'Endpoint path (e.g. "acts/.../runs", "/v2/email-finder")')
|
|
56
|
-
.option('--method <verb>', 'HTTP method (only used for direct-proxy providers;
|
|
56
|
+
.option('--method <verb>', 'HTTP method (only used for direct-proxy providers; ScrapeCreators defaults to GET, others to POST)')
|
|
57
57
|
.option('--body <json>', 'Request body as JSON string')
|
|
58
58
|
.option('--query <json>', 'Query parameters as JSON string')
|
|
59
59
|
.action(async (provider, path, opts) => {
|
|
@@ -80,7 +80,8 @@ exports.callCommand = new commander_1.Command('call')
|
|
|
80
80
|
if (isDirect) {
|
|
81
81
|
const cleanPath = path.replace(/^\/+/, '');
|
|
82
82
|
endpointPath = `/v1/proxy/${provider.toLowerCase()}/${cleanPath}`;
|
|
83
|
-
|
|
83
|
+
const defaultMethod = provider.toLowerCase() === 'scrapecreators' ? 'GET' : 'POST';
|
|
84
|
+
method = (opts.method ?? defaultMethod).toUpperCase();
|
|
84
85
|
body = bodyParsed;
|
|
85
86
|
if (queryParsed && typeof queryParsed === 'object') {
|
|
86
87
|
query = queryParsed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/commands/call.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,qDAAqD;AACrD,wCAA4C;AAC5C,wDAA0C;AAE1C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/commands/call.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,wBAAgB,oBAAoB,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,wBAAgB,oBAAoB,IAAI,OAAO,CA4J9C;AAED,eAAO,MAAM,cAAc,SAAyB,CAAC"}
|
package/dist/commands/install.js
CHANGED
|
@@ -61,7 +61,7 @@ Examples:
|
|
|
61
61
|
.option('--mcp', 'Also register the GooseWorks MCP server')
|
|
62
62
|
.option('--with <skill-slug>', 'Also install a standalone GooseWorks skill (repeatable)', collectSkillSlug, [])
|
|
63
63
|
.option('--api-base <url>', 'API base URL', config_1.API_BASE)
|
|
64
|
-
.option('--ref <code>', '
|
|
64
|
+
.option('--ref <code>', 'Referral or marketing campaign code for attribution')
|
|
65
65
|
.action(async (opts) => {
|
|
66
66
|
logger.banner((0, version_1.getVersion)());
|
|
67
67
|
const targetAgents = resolveTargetAgents(opts);
|
|
@@ -183,13 +183,17 @@ Examples:
|
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
185
|
const agentNames = targetAgents.map((a) => a === 'claude' ? 'Claude Code' : a === 'codex' ? 'Codex' : 'Cursor').join(' and ');
|
|
186
|
-
logger.done(`Setup complete! Open ${agentNames} and
|
|
186
|
+
logger.done(`Setup complete! Open ${agentNames} and ask for the work you want done.`);
|
|
187
187
|
console.log('');
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
188
|
+
if (wantMcp) {
|
|
189
|
+
logger.info('Your first GooseWorks request automatically starts or resumes the same onboarding used on the web.');
|
|
190
|
+
logger.example('/gooseworks research my competitors');
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
const flag = targetAgents.length === 1 ? `--${targetAgents[0]}` : '--all';
|
|
194
|
+
logger.info('Shared onboarding needs the GooseWorks MCP connection. Enable it with:');
|
|
195
|
+
logger.example(`gooseworks install ${flag} --mcp`);
|
|
196
|
+
}
|
|
193
197
|
console.log('');
|
|
194
198
|
});
|
|
195
199
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/login.d.ts
CHANGED
|
@@ -4,5 +4,5 @@ export declare const loginCommand: Command;
|
|
|
4
4
|
* Ensures the user is logged in, running OAuth if needed.
|
|
5
5
|
* Returns credentials or exits the process.
|
|
6
6
|
*/
|
|
7
|
-
export declare function ensureLoggedIn(apiBase?: string,
|
|
7
|
+
export declare function ensureLoggedIn(apiBase?: string, ref?: string): Promise<import("../auth/credentials").Credentials>;
|
|
8
8
|
//# sourceMappingURL=login.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkDpC,eAAO,MAAM,YAAY,SA2BrB,CAAC;AAEL;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,MAAiB,EAAE,GAAG,CAAC,EAAE,MAAM,sDAe5E"}
|