adaria-ai 0.1.11 → 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.
Files changed (126) hide show
  1. package/README.md +0 -1
  2. package/dist/agent/core.d.ts +6 -0
  3. package/dist/agent/core.d.ts.map +1 -1
  4. package/dist/agent/core.js +99 -38
  5. package/dist/agent/core.js.map +1 -1
  6. package/dist/brands/context.d.ts +11 -0
  7. package/dist/brands/context.d.ts.map +1 -0
  8. package/dist/brands/context.js +22 -0
  9. package/dist/brands/context.js.map +1 -0
  10. package/dist/brands/fetchers/package.d.ts +25 -0
  11. package/dist/brands/fetchers/package.d.ts.map +1 -0
  12. package/dist/brands/fetchers/package.js +99 -0
  13. package/dist/brands/fetchers/package.js.map +1 -0
  14. package/dist/brands/fetchers/web.d.ts +38 -0
  15. package/dist/brands/fetchers/web.d.ts.map +1 -0
  16. package/dist/brands/fetchers/web.js +189 -0
  17. package/dist/brands/fetchers/web.js.map +1 -0
  18. package/dist/brands/flow.d.ts +60 -0
  19. package/dist/brands/flow.d.ts.map +1 -0
  20. package/dist/brands/flow.js +337 -0
  21. package/dist/brands/flow.js.map +1 -0
  22. package/dist/brands/generator.d.ts +66 -0
  23. package/dist/brands/generator.d.ts.map +1 -0
  24. package/dist/brands/generator.js +213 -0
  25. package/dist/brands/generator.js.map +1 -0
  26. package/dist/brands/loader.d.ts +22 -0
  27. package/dist/brands/loader.d.ts.map +1 -0
  28. package/dist/brands/loader.js +163 -0
  29. package/dist/brands/loader.js.map +1 -0
  30. package/dist/cli/doctor.js +6 -6
  31. package/dist/cli/doctor.js.map +1 -1
  32. package/dist/db/queries.d.ts +29 -0
  33. package/dist/db/queries.d.ts.map +1 -1
  34. package/dist/db/queries.js +37 -0
  35. package/dist/db/queries.js.map +1 -1
  36. package/dist/db/schema.d.ts.map +1 -1
  37. package/dist/db/schema.js +21 -0
  38. package/dist/db/schema.js.map +1 -1
  39. package/dist/messenger/adapter.d.ts +12 -0
  40. package/dist/messenger/adapter.d.ts.map +1 -1
  41. package/dist/messenger/slack.d.ts +12 -1
  42. package/dist/messenger/slack.d.ts.map +1 -1
  43. package/dist/messenger/slack.js +101 -1
  44. package/dist/messenger/slack.js.map +1 -1
  45. package/dist/prompts/loader.d.ts.map +1 -1
  46. package/dist/prompts/loader.js +4 -0
  47. package/dist/prompts/loader.js.map +1 -1
  48. package/dist/skills/aso.d.ts.map +1 -1
  49. package/dist/skills/aso.js +11 -6
  50. package/dist/skills/aso.js.map +1 -1
  51. package/dist/skills/brand.d.ts +29 -0
  52. package/dist/skills/brand.d.ts.map +1 -0
  53. package/dist/skills/brand.js +314 -0
  54. package/dist/skills/brand.js.map +1 -0
  55. package/dist/skills/content.d.ts.map +1 -1
  56. package/dist/skills/content.js +17 -6
  57. package/dist/skills/content.js.map +1 -1
  58. package/dist/skills/index.d.ts +9 -1
  59. package/dist/skills/index.d.ts.map +1 -1
  60. package/dist/skills/index.js +4 -0
  61. package/dist/skills/index.js.map +1 -1
  62. package/dist/skills/onboarding.d.ts.map +1 -1
  63. package/dist/skills/onboarding.js +8 -4
  64. package/dist/skills/onboarding.js.map +1 -1
  65. package/dist/skills/registry.d.ts.map +1 -1
  66. package/dist/skills/registry.js +2 -0
  67. package/dist/skills/registry.js.map +1 -1
  68. package/dist/skills/review.d.ts.map +1 -1
  69. package/dist/skills/review.js +11 -7
  70. package/dist/skills/review.js.map +1 -1
  71. package/dist/skills/seo-blog.d.ts.map +1 -1
  72. package/dist/skills/seo-blog.js +3 -6
  73. package/dist/skills/seo-blog.js.map +1 -1
  74. package/dist/skills/short-form.d.ts.map +1 -1
  75. package/dist/skills/short-form.js +3 -0
  76. package/dist/skills/short-form.js.map +1 -1
  77. package/dist/skills/social-publish.d.ts.map +1 -1
  78. package/dist/skills/social-publish.js +3 -0
  79. package/dist/skills/social-publish.js.map +1 -1
  80. package/dist/social/base.d.ts +1 -10
  81. package/dist/social/base.d.ts.map +1 -1
  82. package/dist/social/base.js +1 -18
  83. package/dist/social/base.js.map +1 -1
  84. package/dist/social/facebook.d.ts.map +1 -1
  85. package/dist/social/facebook.js +0 -9
  86. package/dist/social/facebook.js.map +1 -1
  87. package/dist/social/linkedin.d.ts.map +1 -1
  88. package/dist/social/linkedin.js +0 -9
  89. package/dist/social/linkedin.js.map +1 -1
  90. package/dist/social/threads.d.ts.map +1 -1
  91. package/dist/social/threads.js +0 -9
  92. package/dist/social/threads.js.map +1 -1
  93. package/dist/social/tiktok.d.ts.map +1 -1
  94. package/dist/social/tiktok.js +0 -5
  95. package/dist/social/tiktok.js.map +1 -1
  96. package/dist/social/twitter.d.ts.map +1 -1
  97. package/dist/social/twitter.js +0 -9
  98. package/dist/social/twitter.js.map +1 -1
  99. package/dist/social/youtube.d.ts.map +1 -1
  100. package/dist/social/youtube.js +0 -5
  101. package/dist/social/youtube.js.map +1 -1
  102. package/dist/types/brand.d.ts +110 -0
  103. package/dist/types/brand.d.ts.map +1 -0
  104. package/dist/types/brand.js +72 -0
  105. package/dist/types/brand.js.map +1 -0
  106. package/dist/types/skill.d.ts +70 -0
  107. package/dist/types/skill.d.ts.map +1 -1
  108. package/dist/utils/paths.d.ts +18 -0
  109. package/dist/utils/paths.d.ts.map +1 -1
  110. package/dist/utils/paths.js +37 -0
  111. package/dist/utils/paths.js.map +1 -1
  112. package/package.json +2 -5
  113. package/prompts/aso-description.md +3 -0
  114. package/prompts/aso-inapp-events.md +3 -0
  115. package/prompts/aso-metadata.md +3 -0
  116. package/prompts/aso-screenshots.md +3 -0
  117. package/prompts/brand-generate.md +43 -0
  118. package/prompts/onboarding-hypotheses.md +3 -0
  119. package/prompts/onboarding-review-timing.md +3 -0
  120. package/prompts/review-clustering.md +3 -0
  121. package/prompts/review-replies.md +3 -0
  122. package/prompts/review-sentiment.md +3 -0
  123. package/prompts/seo-blog-fridgify-recipe.md +3 -0
  124. package/prompts/seo-blog.md +3 -0
  125. package/prompts/short-form-ideas.md +3 -0
  126. package/prompts/social-publish.md +3 -0
package/README.md CHANGED
@@ -130,7 +130,6 @@ Run a separate dev instance alongside production:
130
130
  # Dev profile uses ~/.adaria-dev with isolated keychain namespace
131
131
  npm run init:dev
132
132
  npm run smoke:collectors:dev
133
- npm run smoke:social:dev
134
133
  ```
135
134
 
136
135
  ## Skills Reference
@@ -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).
@@ -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;AAE1D,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;YA2Kb,mBAAmB;IAiDjC;;;OAGG;YACW,uBAAuB;YAuLvB,qBAAqB;IAenC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAmD1B,OAAO,CAAC,qBAAqB;CAkC9B"}
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"}
@@ -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
- const skill = this.skillRegistry.findSkill(msg.text);
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
- if (skill) {
178
- logInfo(`Mode A: dispatching to skill "${skill.name}"`);
179
- const skillCtx = this.buildSkillContext();
180
- // When db is not available (M1 placeholder path), pass a
181
- // minimal stub context so placeholder skills can still return
182
- // their "not implemented" message.
183
- const stubCtx = skillCtx ?? {
184
- db: undefined,
185
- apps: [],
186
- config: this.config,
187
- runClaude: () => Promise.resolve(""),
188
- };
189
- const result = await skill.dispatch(stubCtx, msg.text);
190
- response = result.summary;
191
- // Send approval buttons and register pending approvals.
192
- for (const item of result.approvals) {
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
- buildSkillContext() {
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()
@@ -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"}