@wireai/activation 0.13.3 → 0.13.6-next.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.
Files changed (61) hide show
  1. package/AGENTS.md +3 -1
  2. package/CHANGELOG.md +63 -0
  3. package/INTEGRATION_PROMPT.md +7 -1
  4. package/README.md +183 -0
  5. package/dist/analytics/index.d.mts +86 -6
  6. package/dist/analytics/index.d.ts +86 -6
  7. package/dist/analytics/index.js +167 -2
  8. package/dist/analytics/index.js.map +1 -1
  9. package/dist/analytics/index.mjs +167 -3
  10. package/dist/analytics/index.mjs.map +1 -1
  11. package/dist/coachmarks/index.d.mts +1 -1
  12. package/dist/coachmarks/index.d.ts +1 -1
  13. package/dist/coachmarks/index.js.map +1 -1
  14. package/dist/coachmarks/index.mjs.map +1 -1
  15. package/dist/{currentSession-BoWtr3Jp.d.mts → currentSession-Cs3lweFZ.d.mts} +15 -2
  16. package/dist/{currentSession-CCOMlaQ2.d.ts → currentSession-DD6dKB0i.d.ts} +15 -2
  17. package/dist/{decision-Cjw0jbEj.d.mts → decision-Bgo17oH7.d.mts} +1 -1
  18. package/dist/{decision-GfpXAsk_.d.ts → decision-Bkh_LigV.d.ts} +1 -1
  19. package/dist/index.d.mts +4 -4
  20. package/dist/index.d.ts +4 -4
  21. package/dist/index.js +28 -3
  22. package/dist/index.js.map +1 -1
  23. package/dist/index.mjs +28 -3
  24. package/dist/index.mjs.map +1 -1
  25. package/dist/questionnaire/index.d.mts +3 -3
  26. package/dist/questionnaire/index.d.ts +3 -3
  27. package/dist/questionnaire/index.js.map +1 -1
  28. package/dist/questionnaire/index.mjs.map +1 -1
  29. package/dist/reviews/index.d.mts +5 -5
  30. package/dist/reviews/index.d.ts +5 -5
  31. package/dist/reviews/index.js +4 -2
  32. package/dist/reviews/index.js.map +1 -1
  33. package/dist/reviews/index.mjs +4 -2
  34. package/dist/reviews/index.mjs.map +1 -1
  35. package/dist/showcase/index.d.mts +1 -1
  36. package/dist/showcase/index.d.ts +1 -1
  37. package/dist/showcase/index.js.map +1 -1
  38. package/dist/showcase/index.mjs.map +1 -1
  39. package/dist/{transport-DFuPyCoJ.d.ts → transport-B_0SgCBe.d.ts} +1 -1
  40. package/dist/{transport-CefdERPs.d.mts → transport-j5gFfJhK.d.mts} +1 -1
  41. package/dist/{types-CKFhyrMu.d.mts → types-BpwiRpA8.d.mts} +1 -1
  42. package/dist/{types-CKFhyrMu.d.ts → types-BpwiRpA8.d.ts} +1 -1
  43. package/dist/{types-l2tfg23P.d.mts → types-Cju-1_jT.d.mts} +1 -1
  44. package/dist/{types-UVYt9BJe.d.ts → types-h2BZvl1t.d.ts} +1 -1
  45. package/llms.txt +1 -1
  46. package/package.json +3 -1
  47. package/src/OnboardingFlow.tsx +8 -1
  48. package/src/activation/revalidation.ts +9 -1
  49. package/src/analytics/currentSession.ts +10 -0
  50. package/src/analytics/eventQueue.ts +5 -0
  51. package/src/analytics/index.ts +6 -0
  52. package/src/analytics/reportClientEvent.ts +29 -7
  53. package/src/analytics/wireDoctor.ts +330 -0
  54. package/src/coachmarks/runtime.ts +10 -1
  55. package/src/context/deviceId.ts +10 -1
  56. package/src/features/WireFeaturesProvider.tsx +8 -0
  57. package/src/identity/identityRecord.ts +9 -1
  58. package/src/reviews/runtime.ts +11 -1
  59. package/src/theme/ThemeContext.tsx +7 -0
  60. package/src/types.ts +13 -0
  61. package/src/utils/readPlan.ts +74 -0
package/dist/index.mjs CHANGED
@@ -1121,6 +1121,26 @@ var deriveAnswers = (messages) => {
1121
1121
  return out;
1122
1122
  };
1123
1123
 
1124
+ // src/utils/readPlan.ts
1125
+ var PLAN_PART_KIND = "onboarding_plan";
1126
+ var isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
1127
+ var hasDataParts = (value) => isRecord(value) && Array.isArray(value.dataParts);
1128
+ var planFromPart = (part) => {
1129
+ if (!isRecord(part) || part.kind !== PLAN_PART_KIND) return void 0;
1130
+ return isRecord(part.plan) ? part.plan : void 0;
1131
+ };
1132
+ var readPlan = (messages) => {
1133
+ for (let i = messages.length - 1; i >= 0; i--) {
1134
+ const message = messages[i];
1135
+ if (!hasDataParts(message)) continue;
1136
+ for (const part of message.dataParts) {
1137
+ const plan = planFromPart(part);
1138
+ if (plan !== void 0) return plan;
1139
+ }
1140
+ }
1141
+ return void 0;
1142
+ };
1143
+
1124
1144
  // src/utils/readProgress.ts
1125
1145
  var readProgress = (response) => {
1126
1146
  var _a;
@@ -1151,13 +1171,15 @@ var toWireEvents = (events) => events.map((event) => {
1151
1171
  return rest;
1152
1172
  }
1153
1173
  });
1154
- var buildEventsRequest = (target, events) => {
1174
+ var buildEventsRequest = (target, events, options) => {
1155
1175
  if (!(target == null ? void 0 : target.serverUrl) || events.length === 0) return null;
1156
1176
  try {
1157
1177
  const url = `${target.serverUrl.replace(/\/$/, "")}/v1/events`;
1158
1178
  const headers = { "Content-Type": "application/json" };
1159
1179
  if (target.apiKey) headers.Authorization = `Bearer ${target.apiKey}`;
1160
- const body = JSON.stringify({ events: toWireEvents(events) });
1180
+ const envelope = { events: toWireEvents(events) };
1181
+ if ((options == null ? void 0 : options.dryRun) === true) ;
1182
+ const body = JSON.stringify(envelope);
1161
1183
  return { url, init: { method: "POST", headers, body } };
1162
1184
  } catch {
1163
1185
  return null;
@@ -1789,7 +1811,10 @@ var OnboardingFlow = ({
1789
1811
  const handleFinish = useCallback(() => {
1790
1812
  if (finished.current) return;
1791
1813
  finished.current = true;
1792
- onCompleteRef.current({ answers: deriveAnswers(messages), raw: messages });
1814
+ const result = { answers: deriveAnswers(messages), raw: messages };
1815
+ const plan = readPlan(messages);
1816
+ if (plan !== void 0) result.plan = plan;
1817
+ onCompleteRef.current(result);
1793
1818
  }, [messages]);
1794
1819
  const handleRetry = useCallback(() => {
1795
1820
  attempts.current = 0;