@aglyn/plugins-ai 1.0.0-beta.231 → 1.0.0-beta.233

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 (234) hide show
  1. package/package.json +17 -17
  2. package/src/lib/activity/ai-activity-actions.js +8 -4
  3. package/src/lib/activity/ai-activity-actions.js.map +1 -1
  4. package/src/lib/components/ai-job-follow.component.js +1 -0
  5. package/src/lib/components/ai-job-follow.component.js.map +1 -1
  6. package/src/lib/components/ai-job-links.js +13 -0
  7. package/src/lib/components/ai-job-links.js.map +1 -1
  8. package/src/lib/components/ai-jobs-list-page.component.js +1 -0
  9. package/src/lib/components/ai-jobs-list-page.component.js.map +1 -1
  10. package/src/lib/components/ai-media-create.component.d.ts +20 -7
  11. package/src/lib/components/ai-media-create.component.js +107 -55
  12. package/src/lib/components/ai-media-create.component.js.map +1 -1
  13. package/src/lib/components/ai-seo-fields-card.component.js +1 -0
  14. package/src/lib/components/ai-seo-fields-card.component.js.map +1 -1
  15. package/src/lib/components/ai-site-memory-card.component.d.ts +32 -0
  16. package/src/lib/components/ai-site-memory-card.component.js +187 -0
  17. package/src/lib/components/ai-site-memory-card.component.js.map +1 -0
  18. package/src/lib/components/ai-site-start-card.component.js +80 -77
  19. package/src/lib/components/ai-site-start-card.component.js.map +1 -1
  20. package/src/lib/components/ai-theme-proposal-card.component.js +4 -0
  21. package/src/lib/components/ai-theme-proposal-card.component.js.map +1 -1
  22. package/src/lib/components/ai-usage-strip.component.js +1 -0
  23. package/src/lib/components/ai-usage-strip.component.js.map +1 -1
  24. package/src/lib/components/assist-panel.component.d.ts +10 -0
  25. package/src/lib/components/assist-panel.component.js +119 -9
  26. package/src/lib/components/assist-panel.component.js.map +1 -1
  27. package/src/lib/components/assist-signals-page.component.js +2 -0
  28. package/src/lib/components/assist-signals-page.component.js.map +1 -1
  29. package/src/lib/components/billing-ai-allotments.component.js +3 -0
  30. package/src/lib/components/billing-ai-allotments.component.js.map +1 -1
  31. package/src/lib/components/billing-ai-top-users.component.js +1 -0
  32. package/src/lib/components/billing-ai-top-users.component.js.map +1 -1
  33. package/src/lib/components/billing-assist-overage-card.component.js +2 -0
  34. package/src/lib/components/billing-assist-overage-card.component.js.map +1 -1
  35. package/src/lib/components/member-ai-usage-card.component.js +10 -0
  36. package/src/lib/components/member-ai-usage-card.component.js.map +1 -1
  37. package/src/lib/components/staff-org-ai-card.component.js +1 -0
  38. package/src/lib/components/staff-org-ai-card.component.js.map +1 -1
  39. package/src/lib/components/staff-org-ai-conversations.component.d.ts +23 -0
  40. package/src/lib/components/staff-org-ai-conversations.component.js +346 -0
  41. package/src/lib/components/staff-org-ai-conversations.component.js.map +1 -0
  42. package/src/lib/declarations.server.js +7 -4
  43. package/src/lib/declarations.server.js.map +1 -1
  44. package/src/lib/jobs/ai-build-capabilities.d.ts +13 -1
  45. package/src/lib/jobs/ai-build-capabilities.js +109 -9
  46. package/src/lib/jobs/ai-build-capabilities.js.map +1 -1
  47. package/src/lib/jobs/ai-business-profile-prefill.d.ts +29 -0
  48. package/src/lib/jobs/ai-business-profile-prefill.js +85 -0
  49. package/src/lib/jobs/ai-business-profile-prefill.js.map +1 -0
  50. package/src/lib/jobs/ai-job-build-step.js +3 -1
  51. package/src/lib/jobs/ai-job-build-step.js.map +1 -1
  52. package/src/lib/jobs/ai-job-edit-step.d.ts +225 -0
  53. package/src/lib/jobs/ai-job-edit-step.js +631 -0
  54. package/src/lib/jobs/ai-job-edit-step.js.map +1 -0
  55. package/src/lib/jobs/ai-job-insight-step.js +21 -4
  56. package/src/lib/jobs/ai-job-insight-step.js.map +1 -1
  57. package/src/lib/jobs/ai-job-layout-language.d.ts +8 -3
  58. package/src/lib/jobs/ai-job-layout-language.js +8 -2
  59. package/src/lib/jobs/ai-job-layout-language.js.map +1 -1
  60. package/src/lib/jobs/ai-job-layout-step.js +7 -6
  61. package/src/lib/jobs/ai-job-layout-step.js.map +1 -1
  62. package/src/lib/jobs/ai-job-logic-step.d.ts +20 -0
  63. package/src/lib/jobs/ai-job-logic-step.js +87 -6
  64. package/src/lib/jobs/ai-job-logic-step.js.map +1 -1
  65. package/src/lib/jobs/ai-job-page-language.d.ts +52 -7
  66. package/src/lib/jobs/ai-job-page-language.js +72 -9
  67. package/src/lib/jobs/ai-job-page-language.js.map +1 -1
  68. package/src/lib/jobs/ai-job-page-step.js +12 -2
  69. package/src/lib/jobs/ai-job-page-step.js.map +1 -1
  70. package/src/lib/jobs/ai-job-plan-step.d.ts +24 -5
  71. package/src/lib/jobs/ai-job-plan-step.js +68 -21
  72. package/src/lib/jobs/ai-job-plan-step.js.map +1 -1
  73. package/src/lib/jobs/ai-job-site-content.d.ts +163 -0
  74. package/src/lib/jobs/ai-job-site-content.js +443 -0
  75. package/src/lib/jobs/ai-job-site-content.js.map +1 -0
  76. package/src/lib/jobs/ai-job-site-look.d.ts +112 -0
  77. package/src/lib/jobs/ai-job-site-look.js +322 -0
  78. package/src/lib/jobs/ai-job-site-look.js.map +1 -0
  79. package/src/lib/jobs/ai-job-site-step.d.ts +26 -5
  80. package/src/lib/jobs/ai-job-site-step.js +163 -24
  81. package/src/lib/jobs/ai-job-site-step.js.map +1 -1
  82. package/src/lib/jobs/ai-jobs-notify.d.ts +16 -1
  83. package/src/lib/jobs/ai-jobs-notify.js +81 -3
  84. package/src/lib/jobs/ai-jobs-notify.js.map +1 -1
  85. package/src/lib/jobs/ai-jobs.d.ts +14 -0
  86. package/src/lib/jobs/ai-jobs.js +28 -10
  87. package/src/lib/jobs/ai-jobs.js.map +1 -1
  88. package/src/lib/layout-language/ai-layout-compiler.d.ts +9 -0
  89. package/src/lib/layout-language/ai-layout-compiler.js +120 -33
  90. package/src/lib/layout-language/ai-layout-compiler.js.map +1 -1
  91. package/src/lib/layout-language/ai-layout-frame.js +5 -4
  92. package/src/lib/layout-language/ai-layout-frame.js.map +1 -1
  93. package/src/lib/layout-language/ai-layout-language.d.ts +12 -5
  94. package/src/lib/layout-language/ai-layout-language.js +92 -9
  95. package/src/lib/layout-language/ai-layout-language.js.map +1 -1
  96. package/src/lib/layout-language/ai-layout-pictures.d.ts +144 -0
  97. package/src/lib/layout-language/ai-layout-pictures.js +214 -0
  98. package/src/lib/layout-language/ai-layout-pictures.js.map +1 -0
  99. package/src/lib/layout-language/ai-layout-store.d.ts +2 -0
  100. package/src/lib/layout-language/ai-layout-store.js +7 -1
  101. package/src/lib/layout-language/ai-layout-store.js.map +1 -1
  102. package/src/lib/model/ai-build-progress.js +4 -1
  103. package/src/lib/model/ai-build-progress.js.map +1 -1
  104. package/src/lib/model/ai-edit-job.d.ts +109 -0
  105. package/src/lib/model/ai-edit-job.js +157 -0
  106. package/src/lib/model/ai-edit-job.js.map +1 -0
  107. package/src/lib/model/ai-job-activity.js +1 -0
  108. package/src/lib/model/ai-job-activity.js.map +1 -1
  109. package/src/lib/model/ai-jobs.types.d.ts +3 -1
  110. package/src/lib/model/ai-jobs.types.js.map +1 -1
  111. package/src/lib/model/ai-logic-job.d.ts +18 -1
  112. package/src/lib/model/ai-logic-job.js +24 -3
  113. package/src/lib/model/ai-logic-job.js.map +1 -1
  114. package/src/lib/model/ai-media-credits.d.ts +8 -4
  115. package/src/lib/model/ai-media-credits.js +11 -4
  116. package/src/lib/model/ai-media-credits.js.map +1 -1
  117. package/src/lib/model/ai-media-kinds.d.ts +68 -0
  118. package/src/lib/model/ai-media-kinds.js +98 -0
  119. package/src/lib/model/ai-media-kinds.js.map +1 -0
  120. package/src/lib/model/ai-plan-capabilities.d.ts +16 -0
  121. package/src/lib/model/ai-plan-capabilities.js +5 -0
  122. package/src/lib/model/ai-plan-capabilities.js.map +1 -1
  123. package/src/lib/model/ai-site-build-progress.d.ts +4 -0
  124. package/src/lib/model/ai-site-build-progress.js +28 -11
  125. package/src/lib/model/ai-site-build-progress.js.map +1 -1
  126. package/src/lib/model/ai-site-context.d.ts +111 -0
  127. package/src/lib/model/ai-site-context.js +222 -0
  128. package/src/lib/model/ai-site-context.js.map +1 -0
  129. package/src/lib/model/ai-site-job.d.ts +10 -2
  130. package/src/lib/model/ai-site-job.js +12 -5
  131. package/src/lib/model/ai-site-job.js.map +1 -1
  132. package/src/lib/model/ai-site-kinds.d.ts +164 -0
  133. package/src/lib/model/ai-site-kinds.js +1942 -0
  134. package/src/lib/model/ai-site-kinds.js.map +1 -0
  135. package/src/lib/model/ai-site-look.d.ts +150 -0
  136. package/src/lib/model/ai-site-look.js +1236 -0
  137. package/src/lib/model/ai-site-look.js.map +1 -0
  138. package/src/lib/model/ai-site-memory.d.ts +80 -0
  139. package/src/lib/model/ai-site-memory.js +171 -0
  140. package/src/lib/model/ai-site-memory.js.map +1 -0
  141. package/src/lib/model/ai-site-start.d.ts +10 -1
  142. package/src/lib/model/ai-site-start.js +16 -2
  143. package/src/lib/model/ai-site-start.js.map +1 -1
  144. package/src/lib/model/assist-follow-up.d.ts +92 -0
  145. package/src/lib/model/assist-follow-up.js +128 -0
  146. package/src/lib/model/assist-follow-up.js.map +1 -0
  147. package/src/lib/operator-alerts.d.ts +18 -0
  148. package/src/lib/operator-alerts.js +42 -0
  149. package/src/lib/operator-alerts.js.map +1 -1
  150. package/src/lib/plugin-config.js +2 -0
  151. package/src/lib/plugin-config.js.map +1 -1
  152. package/src/lib/plugin.js +20 -1
  153. package/src/lib/plugin.js.map +1 -1
  154. package/src/lib/providers/anthropic.d.ts +9 -1
  155. package/src/lib/providers/anthropic.js +143 -9
  156. package/src/lib/providers/anthropic.js.map +1 -1
  157. package/src/lib/providers/catalog.d.ts +37 -7
  158. package/src/lib/providers/catalog.js +103 -11
  159. package/src/lib/providers/catalog.js.map +1 -1
  160. package/src/lib/providers/contract.d.ts +29 -0
  161. package/src/lib/providers/contract.js.map +1 -1
  162. package/src/lib/providers/image-contract.d.ts +22 -1
  163. package/src/lib/providers/image-contract.js +40 -1
  164. package/src/lib/providers/image-contract.js.map +1 -1
  165. package/src/lib/providers/image-endpoints.d.ts +24 -0
  166. package/src/lib/providers/image-endpoints.js +28 -0
  167. package/src/lib/providers/image-endpoints.js.map +1 -0
  168. package/src/lib/providers/model-choice.js +23 -2
  169. package/src/lib/providers/model-choice.js.map +1 -1
  170. package/src/lib/providers/routing.js +18 -0
  171. package/src/lib/providers/routing.js.map +1 -1
  172. package/src/lib/providers/vertex-image-endpoint.d.ts +48 -0
  173. package/src/lib/providers/vertex-image-endpoint.js +80 -0
  174. package/src/lib/providers/vertex-image-endpoint.js.map +1 -0
  175. package/src/lib/providers/vertex-image.d.ts +13 -27
  176. package/src/lib/providers/vertex-image.js +15 -42
  177. package/src/lib/providers/vertex-image.js.map +1 -1
  178. package/src/lib/runtime/ai-blog-post-generation.d.ts +62 -0
  179. package/src/lib/runtime/ai-blog-post-generation.js +89 -0
  180. package/src/lib/runtime/ai-blog-post-generation.js.map +1 -0
  181. package/src/lib/runtime/ai-dev-env.d.ts +53 -0
  182. package/src/lib/runtime/ai-dev-env.js +72 -0
  183. package/src/lib/runtime/ai-dev-env.js.map +1 -0
  184. package/src/lib/runtime/ai-dev-replay.d.ts +116 -0
  185. package/src/lib/runtime/ai-dev-replay.js +313 -0
  186. package/src/lib/runtime/ai-dev-replay.js.map +1 -0
  187. package/src/lib/runtime/ai-doctrine-validators.d.ts +7 -0
  188. package/src/lib/runtime/ai-doctrine-validators.js +9 -2
  189. package/src/lib/runtime/ai-doctrine-validators.js.map +1 -1
  190. package/src/lib/runtime/ai-doctrine.js +5 -1
  191. package/src/lib/runtime/ai-doctrine.js.map +1 -1
  192. package/src/lib/runtime/ai-eval-live.js +4 -0
  193. package/src/lib/runtime/ai-eval-live.js.map +1 -1
  194. package/src/lib/runtime/ai-eval.d.ts +13 -1
  195. package/src/lib/runtime/ai-eval.js +84 -1
  196. package/src/lib/runtime/ai-eval.js.map +1 -1
  197. package/src/lib/runtime/ai-live-batch.d.ts +45 -0
  198. package/src/lib/runtime/ai-live-batch.js +89 -0
  199. package/src/lib/runtime/ai-live-batch.js.map +1 -0
  200. package/src/lib/runtime/ai-runtime.js +46 -2
  201. package/src/lib/runtime/ai-runtime.js.map +1 -1
  202. package/src/lib/runtime/site-context.d.ts +58 -0
  203. package/src/lib/runtime/site-context.js +127 -0
  204. package/src/lib/runtime/site-context.js.map +1 -0
  205. package/src/lib/server/ai-admin-conversations.d.ts +22 -0
  206. package/src/lib/server/ai-admin-conversations.js +197 -0
  207. package/src/lib/server/ai-admin-conversations.js.map +1 -0
  208. package/src/lib/server/ai-media-image.d.ts +5 -5
  209. package/src/lib/server/ai-media-image.js +25 -11
  210. package/src/lib/server/ai-media-image.js.map +1 -1
  211. package/src/lib/server/ai-media-raster-prompt.d.ts +34 -0
  212. package/src/lib/server/ai-media-raster-prompt.js +53 -0
  213. package/src/lib/server/ai-media-raster-prompt.js.map +1 -0
  214. package/src/lib/server/assist-chat.d.ts +11 -0
  215. package/src/lib/server/assist-chat.js +57 -18
  216. package/src/lib/server/assist-chat.js.map +1 -1
  217. package/src/lib/server/assist-edit-applied.js +16 -3
  218. package/src/lib/server/assist-edit-applied.js.map +1 -1
  219. package/src/lib/server/assist-view-context.d.ts +19 -1
  220. package/src/lib/server/assist-view-context.js +38 -1
  221. package/src/lib/server/assist-view-context.js.map +1 -1
  222. package/src/lib/server.js +10 -0
  223. package/src/lib/server.js.map +1 -1
  224. package/src/lib/subprocessors.js +17 -1
  225. package/src/lib/subprocessors.js.map +1 -1
  226. package/src/lib/tools/ai-blog-post-tool.d.ts +60 -0
  227. package/src/lib/tools/ai-blog-post-tool.js +175 -0
  228. package/src/lib/tools/ai-blog-post-tool.js.map +1 -0
  229. package/src/lib/usage/assist-usage.d.ts +3 -0
  230. package/src/lib/usage/assist-usage.js +4 -2
  231. package/src/lib/usage/assist-usage.js.map +1 -1
  232. package/src/lib/usage/staff-org-ai-conversations.d.ts +103 -0
  233. package/src/lib/usage/staff-org-ai-conversations.js +152 -0
  234. package/src/lib/usage/staff-org-ai-conversations.js.map +1 -0
@@ -254,10 +254,14 @@ let transitionListener = null;
254
254
  /** Whether a transition listener is registered: what a surface that runs jobs must have. */ export function aiJobTransitionListenerRegistered() {
255
255
  return transitionListener !== null;
256
256
  }
257
- /** Tells the listener; a listener that throws never fails the write it follows. */ async function announceAiJobTransition(job, to) {
257
+ /** Tells the listener; a listener that throws never fails the write it follows. */ async function announceAiJobTransition(job, to, failure) {
258
258
  if (!transitionListener) return;
259
259
  try {
260
- await transitionListener({
260
+ await transitionListener(failure ? {
261
+ job,
262
+ to,
263
+ failure
264
+ } : {
261
265
  job,
262
266
  to
263
267
  });
@@ -850,7 +854,14 @@ async function transition(firestore, orgId, jobId, apply) {
850
854
  }) : step),
851
855
  updatedAt: now
852
856
  });
853
- if (changed) await announceAiJobTransition(job, 'failed');
857
+ if (changed) {
858
+ var _ref2, _ref3;
859
+ await announceAiJobTransition(job, 'failed', {
860
+ ours: (_ref2 = detail == null ? void 0 : detail.ours) != null ? _ref2 : false,
861
+ stepIndex: (_ref3 = detail == null ? void 0 : detail.stepIndex) != null ? _ref3 : null,
862
+ error: (detail == null ? void 0 : detail.error) instanceof Error ? detail.error.message : (detail == null ? void 0 : detail.error) == null ? null : String(detail.error)
863
+ });
864
+ }
854
865
  return job;
855
866
  }
856
867
  /**
@@ -984,7 +995,9 @@ async function transition(firestore, orgId, jobId, apply) {
984
995
  now
985
996
  }));
986
997
  }
987
- return failAiJob(firestore, orgId, jobId, message, detail, now);
998
+ return failAiJob(firestore, orgId, jobId, message, _extends({}, detail, {
999
+ ours: true
1000
+ }), now);
988
1001
  }
989
1002
  // ── A build's settlement (AGL-3616) ──────────────────────────────────────
990
1003
  /**
@@ -1066,16 +1079,16 @@ async function transition(firestore, orgId, jobId, apply) {
1066
1079
  * planning is charged and the job is `done`, failed items and all; nothing
1067
1080
  * delivered, and its planning is given back too and the job is `failed`.
1068
1081
  */ export async function settleAiBuildJob(firestore, orgId, jobId, input) {
1069
- var _job_items, _job_items1, _job_items2, _ref, _ref1;
1082
+ var _job_items, _job_items1, _job_items2, _ref, _ref1, _job_items3;
1070
1083
  var _job_orchestration;
1071
1084
  const { now } = input;
1072
1085
  let job = await getAiJob(firestore, orgId, jobId);
1073
1086
  if (!job || isAiJobTerminal(job.status)) return job;
1074
1087
  const stopped = input.stopped;
1075
1088
  if (stopped && ((_job_items = job.items) != null ? _job_items : []).some((row)=>row.status === 'pending' || row.status === 'running')) {
1076
- var _job_items3;
1089
+ var _job_items4;
1077
1090
  const refunds = new Map();
1078
- for (const row of (_job_items3 = job.items) != null ? _job_items3 : []){
1091
+ for (const row of (_job_items4 = job.items) != null ? _job_items4 : []){
1079
1092
  var _row_attemptCredits;
1080
1093
  if (row.status !== 'running') continue;
1081
1094
  const refund = await refundBuildCredits(firestore, orgId, job, {
@@ -1141,8 +1154,8 @@ async function transition(firestore, orgId, jobId, apply) {
1141
1154
  // was not built, and its Try again starts over from its answers.
1142
1155
  const parts = new Map();
1143
1156
  if (job.kind === 'site') {
1144
- var _job_items4;
1145
- for (const row of (_job_items4 = job.items) != null ? _job_items4 : []){
1157
+ var _job_items5;
1158
+ for (const row of (_job_items5 = job.items) != null ? _job_items5 : []){
1146
1159
  var _row_creditsSpent, _row_creditsRefunded, _ref2;
1147
1160
  const owed = Math.max(0, ((_row_creditsSpent = row.creditsSpent) != null ? _row_creditsSpent : 0) - ((_row_creditsRefunded = row.creditsRefunded) != null ? _row_creditsRefunded : 0));
1148
1161
  if (owed <= 0 || row.status === 'failed') continue;
@@ -1193,7 +1206,12 @@ async function transition(firestore, orgId, jobId, apply) {
1193
1206
  });
1194
1207
  const nothing = job.kind === 'site' ? AI_SITE_GUIDED_BUILD_FAILED_COPY : AI_BUILD_NOTHING_BUILT_COPY;
1195
1208
  return failAiJob(firestore, orgId, jobId, (_ref1 = stopped == null ? void 0 : stopped.message) != null ? _ref1 : nothing, {
1196
- error: 'build delivered nothing'
1209
+ error: 'build delivered nothing',
1210
+ // Ours unless every item that failed was the model declining (AGL-3616).
1211
+ ours: Boolean(stopped) || ((_job_items3 = job.items) != null ? _job_items3 : []).some((row)=>{
1212
+ var _row_failure;
1213
+ return row.status === 'failed' && ((_row_failure = row.failure) == null ? void 0 : _row_failure.ours);
1214
+ })
1197
1215
  }, now);
1198
1216
  }
1199
1217
  /**