adaria-ai 0.1.10 → 0.1.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.
- package/README.md +0 -1
- package/dist/agent/core.d.ts +6 -0
- package/dist/agent/core.d.ts.map +1 -1
- package/dist/agent/core.js +99 -38
- package/dist/agent/core.js.map +1 -1
- package/dist/brands/context.d.ts +11 -0
- package/dist/brands/context.d.ts.map +1 -0
- package/dist/brands/context.js +22 -0
- package/dist/brands/context.js.map +1 -0
- package/dist/brands/fetchers/package.d.ts +25 -0
- package/dist/brands/fetchers/package.d.ts.map +1 -0
- package/dist/brands/fetchers/package.js +99 -0
- package/dist/brands/fetchers/package.js.map +1 -0
- package/dist/brands/fetchers/web.d.ts +38 -0
- package/dist/brands/fetchers/web.d.ts.map +1 -0
- package/dist/brands/fetchers/web.js +189 -0
- package/dist/brands/fetchers/web.js.map +1 -0
- package/dist/brands/flow.d.ts +60 -0
- package/dist/brands/flow.d.ts.map +1 -0
- package/dist/brands/flow.js +337 -0
- package/dist/brands/flow.js.map +1 -0
- package/dist/brands/generator.d.ts +66 -0
- package/dist/brands/generator.d.ts.map +1 -0
- package/dist/brands/generator.js +213 -0
- package/dist/brands/generator.js.map +1 -0
- package/dist/brands/loader.d.ts +22 -0
- package/dist/brands/loader.d.ts.map +1 -0
- package/dist/brands/loader.js +163 -0
- package/dist/brands/loader.js.map +1 -0
- package/dist/cli/doctor.js +6 -6
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/service.d.ts +4 -0
- package/dist/cli/service.d.ts.map +1 -0
- package/dist/cli/service.js +67 -0
- package/dist/cli/service.js.map +1 -0
- package/dist/db/queries.d.ts +29 -0
- package/dist/db/queries.d.ts.map +1 -1
- package/dist/db/queries.js +37 -0
- package/dist/db/queries.js.map +1 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +21 -0
- package/dist/db/schema.js.map +1 -1
- package/dist/index.js +27 -2
- package/dist/index.js.map +1 -1
- package/dist/messenger/adapter.d.ts +12 -0
- package/dist/messenger/adapter.d.ts.map +1 -1
- package/dist/messenger/slack.d.ts +12 -1
- package/dist/messenger/slack.d.ts.map +1 -1
- package/dist/messenger/slack.js +101 -1
- package/dist/messenger/slack.js.map +1 -1
- package/dist/prompts/loader.d.ts.map +1 -1
- package/dist/prompts/loader.js +4 -0
- package/dist/prompts/loader.js.map +1 -1
- package/dist/skills/aso.d.ts.map +1 -1
- package/dist/skills/aso.js +11 -6
- package/dist/skills/aso.js.map +1 -1
- package/dist/skills/brand.d.ts +29 -0
- package/dist/skills/brand.d.ts.map +1 -0
- package/dist/skills/brand.js +314 -0
- package/dist/skills/brand.js.map +1 -0
- package/dist/skills/content.d.ts.map +1 -1
- package/dist/skills/content.js +17 -6
- package/dist/skills/content.js.map +1 -1
- package/dist/skills/index.d.ts +9 -1
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +4 -0
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/onboarding.d.ts.map +1 -1
- package/dist/skills/onboarding.js +8 -4
- package/dist/skills/onboarding.js.map +1 -1
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +2 -0
- package/dist/skills/registry.js.map +1 -1
- package/dist/skills/review.d.ts.map +1 -1
- package/dist/skills/review.js +11 -7
- package/dist/skills/review.js.map +1 -1
- package/dist/skills/seo-blog.d.ts.map +1 -1
- package/dist/skills/seo-blog.js +3 -6
- package/dist/skills/seo-blog.js.map +1 -1
- package/dist/skills/short-form.d.ts.map +1 -1
- package/dist/skills/short-form.js +3 -0
- package/dist/skills/short-form.js.map +1 -1
- package/dist/skills/social-publish.d.ts.map +1 -1
- package/dist/skills/social-publish.js +3 -0
- package/dist/skills/social-publish.js.map +1 -1
- package/dist/social/base.d.ts +1 -10
- package/dist/social/base.d.ts.map +1 -1
- package/dist/social/base.js +1 -18
- package/dist/social/base.js.map +1 -1
- package/dist/social/facebook.d.ts.map +1 -1
- package/dist/social/facebook.js +0 -9
- package/dist/social/facebook.js.map +1 -1
- package/dist/social/linkedin.d.ts.map +1 -1
- package/dist/social/linkedin.js +0 -9
- package/dist/social/linkedin.js.map +1 -1
- package/dist/social/threads.d.ts.map +1 -1
- package/dist/social/threads.js +0 -9
- package/dist/social/threads.js.map +1 -1
- package/dist/social/tiktok.d.ts.map +1 -1
- package/dist/social/tiktok.js +0 -5
- package/dist/social/tiktok.js.map +1 -1
- package/dist/social/twitter.d.ts.map +1 -1
- package/dist/social/twitter.js +0 -9
- package/dist/social/twitter.js.map +1 -1
- package/dist/social/youtube.d.ts.map +1 -1
- package/dist/social/youtube.js +0 -5
- package/dist/social/youtube.js.map +1 -1
- package/dist/types/brand.d.ts +110 -0
- package/dist/types/brand.d.ts.map +1 -0
- package/dist/types/brand.js +72 -0
- package/dist/types/brand.js.map +1 -0
- package/dist/types/skill.d.ts +70 -0
- package/dist/types/skill.d.ts.map +1 -1
- package/dist/utils/paths.d.ts +18 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +37 -0
- package/dist/utils/paths.js.map +1 -1
- package/package.json +2 -5
- package/prompts/aso-description.md +3 -0
- package/prompts/aso-inapp-events.md +3 -0
- package/prompts/aso-metadata.md +3 -0
- package/prompts/aso-screenshots.md +3 -0
- package/prompts/brand-generate.md +43 -0
- package/prompts/onboarding-hypotheses.md +3 -0
- package/prompts/onboarding-review-timing.md +3 -0
- package/prompts/review-clustering.md +3 -0
- package/prompts/review-replies.md +3 -0
- package/prompts/review-sentiment.md +3 -0
- package/prompts/seo-blog-fridgify-recipe.md +3 -0
- package/prompts/seo-blog.md +3 -0
- package/prompts/short-form-ideas.md +3 -0
- package/prompts/social-publish.md +3 -0
package/README.md
CHANGED
package/dist/agent/core.d.ts
CHANGED
|
@@ -70,6 +70,12 @@ export declare class AgentCore {
|
|
|
70
70
|
* database is not initialized (M1 placeholder path — skills still
|
|
71
71
|
* receive a minimal context with a stub `runClaude`).
|
|
72
72
|
*/
|
|
73
|
+
/**
|
|
74
|
+
* Look up an active brand flow row (M6.7). Returns null when no DB
|
|
75
|
+
* or no matching row. Idle cut-off is the safety.approvalTimeoutMinutes
|
|
76
|
+
* setting so abandoned flows don't hang around forever.
|
|
77
|
+
*/
|
|
78
|
+
private findActiveBrandFlow;
|
|
73
79
|
private buildSkillContext;
|
|
74
80
|
/**
|
|
75
81
|
* Called when an approval request is resolved (approved or timed out).
|
package/dist/agent/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/agent/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/agent/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAM1D,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAsB9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA0BxD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,6EAA6E;IAC7E,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACvB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAgC;IACnD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiB;IACpD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0D;gBAGzF,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,gBAAqB;IA2BhC,OAAO,CAAC,aAAa;IAef,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,yEAAyE;IACzE,gBAAgB,IAAI,aAAa;YAInB,aAAa;YA+Nb,mBAAmB;IAiDjC;;;OAGG;YACW,uBAAuB;YAuLvB,qBAAqB;IAenC;;;;OAIG;IACH;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,iBAAiB;IA2DzB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAyC1B,OAAO,CAAC,qBAAqB;CAkC9B"}
|
package/dist/agent/core.js
CHANGED
|
@@ -172,32 +172,84 @@ export class AgentCore {
|
|
|
172
172
|
}
|
|
173
173
|
// 4. Mode A: skill registry dispatch.
|
|
174
174
|
// Mode B: fall through to Claude CLI.
|
|
175
|
-
|
|
175
|
+
// Mode C (M6.7): if a brand_flows row matches this
|
|
176
|
+
// (userId, threadKey), route to BrandSkill.continueFlow
|
|
177
|
+
// before Mode A/B so multi-turn skills can reclaim the turn.
|
|
178
|
+
// DMs have no thread; use a fixed `:dm` suffix so flows persist
|
|
179
|
+
// across messages from the same user. In channel threads, pin
|
|
180
|
+
// to `threadId`. `eventTs` is NOT a stable key — each message
|
|
181
|
+
// has a unique one and would break flow continuity.
|
|
182
|
+
const threadKey = `${msg.channelId}:${msg.threadId ?? "dm"}`;
|
|
183
|
+
const flowContext = { userId: msg.userId, threadKey };
|
|
184
|
+
const activeFlow = this.findActiveBrandFlow(flowContext);
|
|
185
|
+
// Mode A command takes priority over an active flow — the
|
|
186
|
+
// operator can always escape a stuck flow by re-issuing any
|
|
187
|
+
// registered skill command. We terminate the flow first so the
|
|
188
|
+
// reducer doesn't win the next turn either.
|
|
189
|
+
const explicitSkill = this.skillRegistry.findSkill(msg.text);
|
|
190
|
+
if (activeFlow !== null && explicitSkill !== null) {
|
|
191
|
+
this.db
|
|
192
|
+
?.prepare("DELETE FROM brand_flows WHERE flow_id = ?")
|
|
193
|
+
.run(activeFlow.flow_id);
|
|
194
|
+
logInfo(`[brand] flow ${activeFlow.flow_id} cancelled by explicit ${explicitSkill.name} command`);
|
|
195
|
+
}
|
|
196
|
+
const flowStillActive = activeFlow !== null && explicitSkill === null;
|
|
176
197
|
let response;
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
const
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
198
|
+
let skillResult = null;
|
|
199
|
+
if (flowStillActive && activeFlow !== null) {
|
|
200
|
+
const brandSkill = this.skillRegistry.findSkillByName("brand");
|
|
201
|
+
const skillCtx = this.buildSkillContext(flowContext);
|
|
202
|
+
if (!brandSkill?.continueFlow || !skillCtx) {
|
|
203
|
+
response =
|
|
204
|
+
"브랜드 플로우를 이어갈 수 없어. 다시 시작하려면 `@adaria-ai brand` 실행해줘.";
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
logInfo(`Mode C: continuing brand flow ${activeFlow.flow_id} at state ${activeFlow.state}`);
|
|
208
|
+
skillResult = await brandSkill.continueFlow(skillCtx, activeFlow.flow_id, {
|
|
209
|
+
text: msg.text,
|
|
210
|
+
files: msg.images ?? [],
|
|
211
|
+
});
|
|
212
|
+
response = skillResult.summary;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
const skill = explicitSkill;
|
|
217
|
+
if (skill) {
|
|
218
|
+
logInfo(`Mode A: dispatching to skill "${skill.name}"`);
|
|
219
|
+
const skillCtx = this.buildSkillContext(flowContext);
|
|
220
|
+
const stubCtx = skillCtx ?? {
|
|
221
|
+
db: undefined,
|
|
222
|
+
apps: [],
|
|
223
|
+
config: this.config,
|
|
224
|
+
runClaude: () => Promise.resolve(""),
|
|
225
|
+
flowContext,
|
|
226
|
+
};
|
|
227
|
+
skillResult = await skill.dispatch(stubCtx, msg.text);
|
|
228
|
+
response = skillResult.summary;
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
logInfo("Mode B: falling through to Claude CLI");
|
|
232
|
+
response = await this.invokeClaudeWithContext(msg, async (status) => {
|
|
233
|
+
try {
|
|
234
|
+
await this.messenger.updateText(msg.channelId, statusMsgId, status, msg.threadId);
|
|
235
|
+
}
|
|
236
|
+
catch {
|
|
237
|
+
// Ignore update failures — message may have been deleted.
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
// Skill approval plumbing — fires whether we came via Mode A or
|
|
243
|
+
// Mode C (BrandSkill has no approvals today but the contract
|
|
244
|
+
// stays uniform).
|
|
245
|
+
if (skillResult) {
|
|
246
|
+
for (const item of skillResult.approvals) {
|
|
193
247
|
const approvalText = `*[${item.agent}]* ${item.description}`;
|
|
194
248
|
await this.messenger.sendApproval(msg.channelId, approvalText, item.id, msg.threadId);
|
|
195
|
-
// Store payload for execution on approval
|
|
196
249
|
this.approvalPayloads.set(item.id, {
|
|
197
250
|
agent: item.agent,
|
|
198
251
|
payload: item.payload,
|
|
199
252
|
});
|
|
200
|
-
// Register with ApprovalManager (30 min timeout)
|
|
201
253
|
const timeoutMs = (this.config.safety.approvalTimeoutMinutes ?? 30) * 60_000;
|
|
202
254
|
this.approvalManager
|
|
203
255
|
.requestApproval(item.id, item.description, timeoutMs)
|
|
@@ -213,17 +265,6 @@ export class AgentCore {
|
|
|
213
265
|
});
|
|
214
266
|
}
|
|
215
267
|
}
|
|
216
|
-
else {
|
|
217
|
-
logInfo("Mode B: falling through to Claude CLI");
|
|
218
|
-
response = await this.invokeClaudeWithContext(msg, async (status) => {
|
|
219
|
-
try {
|
|
220
|
-
await this.messenger.updateText(msg.channelId, statusMsgId, status, msg.threadId);
|
|
221
|
-
}
|
|
222
|
-
catch {
|
|
223
|
-
// Ignore update failures — message may have been deleted.
|
|
224
|
-
}
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
268
|
if (eventTs) {
|
|
228
269
|
await this.messenger.removeReaction?.(msg.channelId, eventTs, "gear");
|
|
229
270
|
await this.messenger.addReaction?.(msg.channelId, eventTs, "white_check_mark");
|
|
@@ -423,13 +464,40 @@ export class AgentCore {
|
|
|
423
464
|
* database is not initialized (M1 placeholder path — skills still
|
|
424
465
|
* receive a minimal context with a stub `runClaude`).
|
|
425
466
|
*/
|
|
426
|
-
|
|
467
|
+
/**
|
|
468
|
+
* Look up an active brand flow row (M6.7). Returns null when no DB
|
|
469
|
+
* or no matching row. Idle cut-off is the safety.approvalTimeoutMinutes
|
|
470
|
+
* setting so abandoned flows don't hang around forever.
|
|
471
|
+
*/
|
|
472
|
+
findActiveBrandFlow(flowContext) {
|
|
427
473
|
if (!this.db)
|
|
428
474
|
return null;
|
|
475
|
+
const idleMinutes = this.config.safety.approvalTimeoutMinutes ?? 30;
|
|
476
|
+
const cutoff = Date.now() - idleMinutes * 60_000;
|
|
477
|
+
const row = this.db
|
|
478
|
+
.prepare("SELECT flow_id, state FROM brand_flows WHERE user_id = ? AND thread_key = ? AND updated_at >= ?")
|
|
479
|
+
.get(flowContext.userId, flowContext.threadKey, cutoff);
|
|
480
|
+
return row ?? null;
|
|
481
|
+
}
|
|
482
|
+
buildSkillContext(flowContext) {
|
|
483
|
+
if (!this.db)
|
|
484
|
+
return null;
|
|
485
|
+
const downloadFile = this.messenger.downloadImage
|
|
486
|
+
? (file, destPath) => this.messenger.downloadImage({
|
|
487
|
+
url: file.url,
|
|
488
|
+
mimeType: file.mimeType,
|
|
489
|
+
...(file.filename !== undefined && { filename: file.filename }),
|
|
490
|
+
...(file.authHeader !== undefined && {
|
|
491
|
+
authHeader: file.authHeader,
|
|
492
|
+
}),
|
|
493
|
+
}, destPath)
|
|
494
|
+
: undefined;
|
|
429
495
|
return {
|
|
430
496
|
db: this.db,
|
|
431
497
|
apps: this.apps,
|
|
432
498
|
config: this.config,
|
|
499
|
+
...(flowContext && { flowContext }),
|
|
500
|
+
...(downloadFile && { downloadFile }),
|
|
433
501
|
runClaude: async (prompt) => {
|
|
434
502
|
return this.skillClaudeBreaker.execute(async () => {
|
|
435
503
|
await writeAuditLog({
|
|
@@ -468,13 +536,6 @@ export class AgentCore {
|
|
|
468
536
|
logWarn(`Cannot execute approval ${taskId}: DB not available`);
|
|
469
537
|
return;
|
|
470
538
|
}
|
|
471
|
-
// Defense-in-depth: block all write actions during M7 parallel run.
|
|
472
|
-
// Individual platform clients also check isDryRun(), but future skills
|
|
473
|
-
// (blog_publish, metadata_change) may not — gate it here.
|
|
474
|
-
if (process.env["ADARIA_DRY_RUN"] === "1") {
|
|
475
|
-
logInfo(`[dry-run] Skipping approval execution for ${taskId} (agent=${entry.agent})`);
|
|
476
|
-
return;
|
|
477
|
-
}
|
|
478
539
|
// Dispatch to the appropriate skill's execution handler.
|
|
479
540
|
const skill = this.skillRegistry
|
|
480
541
|
.getSkills()
|
package/dist/agent/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/agent/core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/agent/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve `{{brandContext}}` for a skill run. Async I/O so the loader
|
|
3
|
+
* stays file-based; callers should await once per dispatch (or once
|
|
4
|
+
* per app in the weekly orchestrator) and reuse the string across all
|
|
5
|
+
* `preparePrompt` calls for that app.
|
|
6
|
+
*
|
|
7
|
+
* Returns an empty string when no `brand.yaml` exists so existing
|
|
8
|
+
* skill tests (which do not stage profile fixtures) remain green.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveBrandContextForApp(appId: string): Promise<string>;
|
|
11
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/brands/context.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CASjB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { formatBrandContext, loadBrandProfile } from "./loader.js";
|
|
2
|
+
/**
|
|
3
|
+
* Resolve `{{brandContext}}` for a skill run. Async I/O so the loader
|
|
4
|
+
* stays file-based; callers should await once per dispatch (or once
|
|
5
|
+
* per app in the weekly orchestrator) and reuse the string across all
|
|
6
|
+
* `preparePrompt` calls for that app.
|
|
7
|
+
*
|
|
8
|
+
* Returns an empty string when no `brand.yaml` exists so existing
|
|
9
|
+
* skill tests (which do not stage profile fixtures) remain green.
|
|
10
|
+
*/
|
|
11
|
+
export async function resolveBrandContextForApp(appId) {
|
|
12
|
+
try {
|
|
13
|
+
const profile = await loadBrandProfile(appId);
|
|
14
|
+
return formatBrandContext(profile);
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
// Invalid yaml or disk errors — fall back to empty rather than
|
|
18
|
+
// regressing a skill run just because one app's profile is broken.
|
|
19
|
+
return "";
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/brands/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEnE;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,KAAa;IAEb,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;QAC/D,mEAAmE;QACnE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* npm + GitHub brand-signal fetcher for `serviceType: "package"`.
|
|
3
|
+
*
|
|
4
|
+
* npm Registry is fully public and unauthenticated. GitHub READMEs
|
|
5
|
+
* come from the public contents API (60 req/hr per IP, unauth). On
|
|
6
|
+
* 403/429 we surface a rate-limit error and let the caller abort the
|
|
7
|
+
* flow cleanly (per PRD §10 decision 2).
|
|
8
|
+
*/
|
|
9
|
+
export interface PackageBrandData {
|
|
10
|
+
name: string;
|
|
11
|
+
version: string;
|
|
12
|
+
description: string;
|
|
13
|
+
homepage: string;
|
|
14
|
+
repositoryUrl: string;
|
|
15
|
+
keywords: string[];
|
|
16
|
+
readme: string;
|
|
17
|
+
/** Where `readme` came from. `null` when no readme was found. */
|
|
18
|
+
readmeSource: "npm" | "github" | null;
|
|
19
|
+
}
|
|
20
|
+
export interface PackageFetcherDeps {
|
|
21
|
+
fetch?: typeof fetch;
|
|
22
|
+
}
|
|
23
|
+
/** Fetch npm package metadata and (optionally) the GitHub README. */
|
|
24
|
+
export declare function fetchPackageData(npmName: string, githubRepo?: string, deps?: PackageFetcherDeps): Promise<PackageBrandData>;
|
|
25
|
+
//# sourceMappingURL=package.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/brands/fetchers/package.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,YAAY,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC;CACvC;AAQD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAyFD,qEAAqE;AACrE,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CA4C3B"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { ExternalApiError, RateLimitError } from "../../utils/errors.js";
|
|
2
|
+
const NPM_REGISTRY = "https://registry.npmjs.org";
|
|
3
|
+
const GITHUB_API = "https://api.github.com";
|
|
4
|
+
const FETCH_TIMEOUT_MS = 15_000;
|
|
5
|
+
const README_LIMIT = 20_000;
|
|
6
|
+
const USER_AGENT = "adaria-ai/brand-profile";
|
|
7
|
+
function parseRepositoryUrl(repo) {
|
|
8
|
+
if (!repo)
|
|
9
|
+
return "";
|
|
10
|
+
if (typeof repo === "string")
|
|
11
|
+
return repo;
|
|
12
|
+
return repo.url ?? "";
|
|
13
|
+
}
|
|
14
|
+
function deriveGithubRepo(repositoryUrl) {
|
|
15
|
+
const m = repositoryUrl.match(/github\.com[/:]([A-Za-z0-9._-]+)\/([A-Za-z0-9._-]+?)(?:\.git)?(?:[/?#]|$)/);
|
|
16
|
+
if (!m?.[1] || !m[2])
|
|
17
|
+
return null;
|
|
18
|
+
return `${m[1]}/${m[2]}`;
|
|
19
|
+
}
|
|
20
|
+
async function fetchWithTimeout(fetchImpl, url, init) {
|
|
21
|
+
const controller = new AbortController();
|
|
22
|
+
const timer = setTimeout(() => {
|
|
23
|
+
controller.abort();
|
|
24
|
+
}, FETCH_TIMEOUT_MS);
|
|
25
|
+
try {
|
|
26
|
+
return await fetchImpl(url, {
|
|
27
|
+
redirect: "error",
|
|
28
|
+
...init,
|
|
29
|
+
signal: controller.signal,
|
|
30
|
+
headers: {
|
|
31
|
+
"User-Agent": USER_AGENT,
|
|
32
|
+
Accept: "application/json",
|
|
33
|
+
...(init?.headers ?? {}),
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
finally {
|
|
38
|
+
clearTimeout(timer);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async function fetchGithubReadme(fetchImpl, repo) {
|
|
42
|
+
const url = `${GITHUB_API}/repos/${repo}/readme`;
|
|
43
|
+
const response = await fetchWithTimeout(fetchImpl, url, {
|
|
44
|
+
headers: { Accept: "application/vnd.github+json" },
|
|
45
|
+
});
|
|
46
|
+
if (response.status === 404)
|
|
47
|
+
return "";
|
|
48
|
+
if (response.status === 403 || response.status === 429) {
|
|
49
|
+
throw new RateLimitError("GitHub API rate limit hit — wait an hour and re-run `@adaria-ai brand`", { retryAfterSeconds: 3600 });
|
|
50
|
+
}
|
|
51
|
+
if (!response.ok) {
|
|
52
|
+
throw new ExternalApiError(`GitHub API ${String(response.status)} for ${repo}`, { statusCode: response.status });
|
|
53
|
+
}
|
|
54
|
+
const data = (await response.json());
|
|
55
|
+
if (data.encoding !== "base64" || typeof data.content !== "string") {
|
|
56
|
+
return "";
|
|
57
|
+
}
|
|
58
|
+
const decoded = Buffer.from(data.content, "base64").toString("utf-8");
|
|
59
|
+
return decoded.slice(0, README_LIMIT);
|
|
60
|
+
}
|
|
61
|
+
/** Fetch npm package metadata and (optionally) the GitHub README. */
|
|
62
|
+
export async function fetchPackageData(npmName, githubRepo, deps = {}) {
|
|
63
|
+
if (!npmName.trim()) {
|
|
64
|
+
throw new ExternalApiError("npm package name is required");
|
|
65
|
+
}
|
|
66
|
+
const fetchImpl = deps.fetch ?? fetch;
|
|
67
|
+
// npm names may contain @scope/name — encodeURIComponent preserves it.
|
|
68
|
+
const registryUrl = `${NPM_REGISTRY}/${encodeURIComponent(npmName).replace("%40", "@")}`;
|
|
69
|
+
const response = await fetchWithTimeout(fetchImpl, registryUrl);
|
|
70
|
+
if (response.status === 404) {
|
|
71
|
+
throw new ExternalApiError(`npm package not found: ${npmName}`, {
|
|
72
|
+
statusCode: 404,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
if (!response.ok) {
|
|
76
|
+
throw new ExternalApiError(`npm registry ${String(response.status)} for ${npmName}`, { statusCode: response.status });
|
|
77
|
+
}
|
|
78
|
+
const data = (await response.json());
|
|
79
|
+
const repositoryUrl = parseRepositoryUrl(data.repository);
|
|
80
|
+
const resolvedRepo = githubRepo ?? deriveGithubRepo(repositoryUrl);
|
|
81
|
+
let readme = data.readme ?? "";
|
|
82
|
+
let readmeSource = readme ? "npm" : null;
|
|
83
|
+
if (!readme && resolvedRepo !== null && resolvedRepo !== undefined) {
|
|
84
|
+
readme = await fetchGithubReadme(fetchImpl, resolvedRepo);
|
|
85
|
+
if (readme)
|
|
86
|
+
readmeSource = "github";
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
name: data.name ?? npmName,
|
|
90
|
+
version: data["dist-tags"]?.latest ?? "",
|
|
91
|
+
description: data.description ?? "",
|
|
92
|
+
homepage: data.homepage ?? "",
|
|
93
|
+
repositoryUrl,
|
|
94
|
+
keywords: Array.isArray(data.keywords) ? data.keywords : [],
|
|
95
|
+
readme: readme.slice(0, README_LIMIT),
|
|
96
|
+
readmeSource,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=package.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/brands/fetchers/package.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web page brand-signal fetcher used by `generateBrandProfile` for
|
|
3
|
+
* `serviceType: "web"`. Pulls the landing page HTML, extracts the
|
|
4
|
+
* obvious brand signals (title, description, og:*, theme colour, CSS
|
|
5
|
+
* custom properties), and returns a flat object that downstream code
|
|
6
|
+
* feeds into the Claude brand-generate prompt as sanitised input.
|
|
7
|
+
*
|
|
8
|
+
* SSRF: the URL is user-supplied (operator typing a service URL in
|
|
9
|
+
* Slack). We resolve DNS ourselves and refuse to follow redirects —
|
|
10
|
+
* the pre-flight A/AAAA lookup must not resolve to a private range.
|
|
11
|
+
* `fetch` redirects follow server-issued Location headers which could
|
|
12
|
+
* otherwise hop to metadata endpoints.
|
|
13
|
+
*/
|
|
14
|
+
export interface WebBrandData {
|
|
15
|
+
url: string;
|
|
16
|
+
title: string;
|
|
17
|
+
description: string;
|
|
18
|
+
ogTitle: string;
|
|
19
|
+
ogDescription: string;
|
|
20
|
+
ogImage: string;
|
|
21
|
+
themeColor: string;
|
|
22
|
+
primaryColor: string;
|
|
23
|
+
bodyText: string;
|
|
24
|
+
}
|
|
25
|
+
export interface WebFetcherDeps {
|
|
26
|
+
/** Override for tests — resolves the hostname to a list of IPs. */
|
|
27
|
+
resolve?: (hostname: string) => Promise<string[]>;
|
|
28
|
+
/** Override for tests — injected fetch. */
|
|
29
|
+
fetch?: typeof fetch;
|
|
30
|
+
}
|
|
31
|
+
declare function isPrivateOrReservedIp(ip: string): boolean;
|
|
32
|
+
/** Fetch landing page and extract brand signals. SSRF-guarded. */
|
|
33
|
+
export declare function fetchWebData(rawUrl: string, deps?: WebFetcherDeps): Promise<WebBrandData>;
|
|
34
|
+
export declare const __test__: {
|
|
35
|
+
isPrivateOrReservedIp: typeof isPrivateOrReservedIp;
|
|
36
|
+
};
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=web.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../src/brands/fetchers/web.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAOD,MAAM,WAAW,cAAc;IAC7B,mEAAmE;IACnE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD,2CAA2C;IAC3C,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,iBAAS,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CA0BlD;AAwFD,kEAAkE;AAClE,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,YAAY,CAAC,CAoGvB;AAED,eAAO,MAAM,QAAQ;;CAA4B,CAAC"}
|