@elizaos/app-core 2.0.0-alpha.338 → 2.0.0-alpha.339

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 (55) hide show
  1. package/apps/app-lifeops/src/actions/calendar.d.ts.map +1 -1
  2. package/apps/app-lifeops/src/actions/calendar.js +5 -0
  3. package/apps/app-lifeops/src/actions/life.d.ts.map +1 -1
  4. package/apps/app-lifeops/src/actions/life.js +1 -0
  5. package/apps/app-lifeops/src/actions/owner-calendar.d.ts.map +1 -1
  6. package/apps/app-lifeops/src/actions/owner-calendar.js +1 -0
  7. package/apps/app-lifeops/src/actions/scheduling.d.ts.map +1 -1
  8. package/apps/app-lifeops/src/actions/scheduling.js +2 -0
  9. package/apps/app-lifeops/src/lifeops/google-calendar.d.ts +14 -0
  10. package/apps/app-lifeops/src/lifeops/google-calendar.d.ts.map +1 -1
  11. package/apps/app-lifeops/src/lifeops/google-calendar.js +38 -0
  12. package/apps/app-lifeops/src/lifeops/google-managed-client.d.ts +15 -0
  13. package/apps/app-lifeops/src/lifeops/google-managed-client.d.ts.map +1 -1
  14. package/apps/app-lifeops/src/lifeops/google-managed-client.js +10 -0
  15. package/apps/app-lifeops/src/lifeops/owner-profile.d.ts +18 -0
  16. package/apps/app-lifeops/src/lifeops/owner-profile.d.ts.map +1 -1
  17. package/apps/app-lifeops/src/lifeops/owner-profile.js +126 -0
  18. package/apps/app-lifeops/src/lifeops/service-mixin-calendar.d.ts +15 -1
  19. package/apps/app-lifeops/src/lifeops/service-mixin-calendar.d.ts.map +1 -1
  20. package/apps/app-lifeops/src/lifeops/service-mixin-calendar.js +202 -7
  21. package/apps/app-lifeops/src/routes/lifeops-routes.d.ts.map +1 -1
  22. package/apps/app-lifeops/src/routes/lifeops-routes.js +40 -0
  23. package/apps/app-lifeops/src/routes/plugin.d.ts.map +1 -1
  24. package/apps/app-lifeops/src/routes/plugin.js +2 -0
  25. package/package.json +5 -5
  26. package/packages/agent/src/api/provider-switch-config.js +1 -1
  27. package/packages/agent/src/triggers/action.d.ts.map +1 -1
  28. package/packages/agent/src/triggers/action.js +10 -2
  29. package/packages/agent/src/triggers/runtime.d.ts.map +1 -1
  30. package/packages/agent/src/triggers/runtime.js +6 -1
  31. package/packages/app-core/src/api/client-agent.d.ts +2 -1
  32. package/packages/app-core/src/api/client-agent.d.ts.map +1 -1
  33. package/packages/app-core/src/api/client-agent.js +6 -0
  34. package/packages/app-core/src/api/client-lifeops.d.ts +7 -1
  35. package/packages/app-core/src/api/client-lifeops.d.ts.map +1 -1
  36. package/packages/app-core/src/api/client-lifeops.js +14 -0
  37. package/packages/app-core/src/api/client-types-config.d.ts +15 -0
  38. package/packages/app-core/src/api/client-types-config.d.ts.map +1 -1
  39. package/packages/app-core/src/components/conversations/ConversationsSidebar.d.ts.map +1 -1
  40. package/packages/app-core/src/components/conversations/ConversationsSidebar.js +26 -31
  41. package/packages/app-core/src/components/music/MusicPlayerGlobal.d.ts.map +1 -1
  42. package/packages/app-core/src/components/music/MusicPlayerGlobal.js +40 -46
  43. package/packages/app-core/src/components/pages/AutomationsView.d.ts.map +1 -1
  44. package/packages/app-core/src/components/pages/AutomationsView.js +29 -2
  45. package/packages/app-core/src/components/pages/BrowserWorkspaceView.d.ts.map +1 -1
  46. package/packages/app-core/src/components/pages/BrowserWorkspaceView.js +13 -28
  47. package/packages/app-core/src/components/pages/ChatView.d.ts.map +1 -1
  48. package/packages/app-core/src/components/pages/ChatView.js +31 -29
  49. package/packages/app-core/src/components/pages/WorkflowGraphViewer.d.ts.map +1 -1
  50. package/packages/app-core/src/components/pages/WorkflowGraphViewer.js +1 -1
  51. package/packages/shared/src/contracts/lifeops.d.ts +48 -0
  52. package/packages/shared/src/contracts/lifeops.d.ts.map +1 -1
  53. package/packages/typescript/src/services/message.d.ts +1 -0
  54. package/packages/typescript/src/services/message.d.ts.map +1 -1
  55. package/packages/typescript/src/services/message.js +12 -1
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAKN,aAAa,EACb,MAAM,EACN,KAAK,EACN,MAAM,eAAe,CAAC;AA+CvB,KAAK,iBAAiB,GAClB,MAAM,GACN,YAAY,GACZ,eAAe,GACf,cAAc,GACd,cAAc,GACd,cAAc,GACd,aAAa,CAAC;AAuBlB,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AA8nDF,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,SAA2B,GAClC,OAAO,CAAC,eAAe,CAAC,CAiM1B;AAkiCD,eAAO,MAAM,cAAc,EAAE,MAAM,GAAG;IACpC,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAowC1C,CAAC"}
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAKN,aAAa,EACb,MAAM,EACN,KAAK,EACN,MAAM,eAAe,CAAC;AA+CvB,KAAK,iBAAiB,GAClB,MAAM,GACN,YAAY,GACZ,eAAe,GACf,cAAc,GACd,cAAc,GACd,cAAc,GACd,aAAa,CAAC;AAuBlB,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AA+nDF,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,SAA2B,GAClC,OAAO,CAAC,eAAe,CAAC,CAiM1B;AAkiCD,eAAO,MAAM,cAAc,EAAE,MAAM,GAAG;IACpC,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAwwC1C,CAAC"}
@@ -1017,6 +1017,7 @@ async function loadCreateEventCalendarContext(service, details, hasCalendarRead)
1017
1017
  }
1018
1018
  const requestTimeZone = resolveCalendarTimeZone(details);
1019
1019
  const feed = await service.getCalendarFeed(INTERNAL_URL, {
1020
+ includeHiddenCalendars: true,
1020
1021
  mode: detailString(details, "mode"),
1021
1022
  side: detailString(details, "side"),
1022
1023
  grantId: detailString(details, "grantId"),
@@ -2611,6 +2612,7 @@ export const calendarAction = {
2611
2612
  ...buildWideLookupRange(resolveCalendarTimeZone(details)),
2612
2613
  };
2613
2614
  const feed = await service.getCalendarFeed(INTERNAL_URL, {
2615
+ includeHiddenCalendars: true,
2614
2616
  mode: detailString(details, "mode"),
2615
2617
  side: detailString(details, "side"),
2616
2618
  grantId: detailString(details, "grantId"),
@@ -2738,6 +2740,7 @@ export const calendarAction = {
2738
2740
  ...buildWideLookupRange(resolveCalendarTimeZone(details)),
2739
2741
  };
2740
2742
  const feed = await service.getCalendarFeed(INTERNAL_URL, {
2743
+ includeHiddenCalendars: true,
2741
2744
  mode: detailString(details, "mode"),
2742
2745
  side: detailString(details, "side"),
2743
2746
  grantId: detailString(details, "grantId"),
@@ -2853,6 +2856,7 @@ export const calendarAction = {
2853
2856
  }
2854
2857
  if (subaction === "trip_window" && tripWindowIntent) {
2855
2858
  const feed = await service.getCalendarFeed(INTERNAL_URL, {
2859
+ includeHiddenCalendars: true,
2856
2860
  mode: detailString(details, "mode"),
2857
2861
  side: detailString(details, "side"),
2858
2862
  grantId: detailString(details, "grantId"),
@@ -2899,6 +2903,7 @@ export const calendarAction = {
2899
2903
  const label = baseResolved.label;
2900
2904
  const hasExplicitWindow = baseResolved.explicitWindow;
2901
2905
  const feed = await service.getCalendarFeed(INTERNAL_URL, {
2906
+ includeHiddenCalendars: true,
2902
2907
  mode: detailString(details, "mode"),
2903
2908
  side: detailString(details, "side"),
2904
2909
  grantId: detailString(details, "grantId"),
@@ -1 +1 @@
1
- {"version":3,"file":"life.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/life.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMP,MAAM,eAAe,CAAC;AA+4EvB,eAAO,MAAM,UAAU,EAAE,MAAM,GAAG;IAChC,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAuyD1C,CAAC"}
1
+ {"version":3,"file":"life.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/life.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMP,MAAM,eAAe,CAAC;AA+4EvB,eAAO,MAAM,UAAU,EAAE,MAAM,GAAG;IAChC,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAwyD1C,CAAC"}
@@ -2312,6 +2312,7 @@ export const lifeAction = {
2312
2312
  ? "this week"
2313
2313
  : "today";
2314
2314
  const feed = await service.getCalendarFeed(INTERNAL_URL, {
2315
+ includeHiddenCalendars: true,
2315
2316
  timeMin: range.timeMin,
2316
2317
  timeMax: range.timeMax,
2317
2318
  });
@@ -1 +1 @@
1
- {"version":3,"file":"owner-calendar.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/owner-calendar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,MAAM,EAQP,MAAM,eAAe,CAAC;AA2BvB,KAAK,sBAAsB,GAEvB,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,eAAe,GACf,cAAc,GACd,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,GAEjB,oBAAoB,GACpB,eAAe,GAEf,oBAAoB,GAEpB,uBAAuB,GACvB,2BAA2B,GAC3B,mBAAmB,GACnB,0BAA0B,GAE1B,iBAAiB,GACjB,mBAAmB,GACnB,mBAAmB,GACnB,oBAAoB,GACpB,gBAAgB,GAChB,kBAAkB,CAAC;AAIvB,UAAU,uBAAuB;IAC/B,SAAS,CAAC,EAAE,sBAAsB,GAAG,MAAM,CAAC;IAE5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,cAAc,CAAC;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA4HD,KAAK,8BAA8B,GAAG;IACpC,SAAS,EAAE,sBAAsB,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC/C,CAAC;AAmDF,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,MAAM,GACd,8BAA8B,GAAG,IAAI,CAmCvC;AA8VD,eAAO,MAAM,mBAAmB,EAAE,MAAM,GAAG;IACzC,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAmhB1C,CAAC"}
1
+ {"version":3,"file":"owner-calendar.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/owner-calendar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,MAAM,EAQP,MAAM,eAAe,CAAC;AA2BvB,KAAK,sBAAsB,GAEvB,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,eAAe,GACf,cAAc,GACd,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,GAEjB,oBAAoB,GACpB,eAAe,GAEf,oBAAoB,GAEpB,uBAAuB,GACvB,2BAA2B,GAC3B,mBAAmB,GACnB,0BAA0B,GAE1B,iBAAiB,GACjB,mBAAmB,GACnB,mBAAmB,GACnB,oBAAoB,GACpB,gBAAgB,GAChB,kBAAkB,CAAC;AAIvB,UAAU,uBAAuB;IAC/B,SAAS,CAAC,EAAE,sBAAsB,GAAG,MAAM,CAAC;IAE5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,cAAc,CAAC;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA4HD,KAAK,8BAA8B,GAAG;IACpC,SAAS,EAAE,sBAAsB,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC/C,CAAC;AAmDF,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,MAAM,GACd,8BAA8B,GAAG,IAAI,CAmCvC;AA+VD,eAAO,MAAM,mBAAmB,EAAE,MAAM,GAAG;IACzC,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAmhB1C,CAAC"}
@@ -250,6 +250,7 @@ async function handleBulkReschedulePreview(args) {
250
250
  let events = [];
251
251
  try {
252
252
  const feed = await service.getCalendarFeed(INTERNAL_URL, {
253
+ includeHiddenCalendars: true,
253
254
  timeMin,
254
255
  timeMax,
255
256
  timeZone,
@@ -1 +1 @@
1
- {"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/scheduling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,MAAM,EAOP,MAAM,eAAe,CAAC;AAMvB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAO9E,OAAO,EAIL,KAAK,yBAAyB,EAG/B,MAAM,6BAA6B,CAAC;AAWrC,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAkGF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,GAAG,EAAE,IAAI,CAAC;IACV,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,yBAAyB,CAAC;IACvC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACzC,GAAG,mBAAmB,EAAE,CAwExB;AAqBD,wBAAgB,mCAAmC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CA4BjF;AA8BD,KAAK,yBAAyB,GAAG;IAC/B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtC,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,GAAG,MAAM,CAkBT;AAsBD,eAAO,MAAM,yBAAyB,EAAE,MAAM,GAAG;IAC/C,8BAA8B,CAAC,EAAE,OAAO,CAAC;CA0M1C,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAkIrC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,MAAM,GAAG;IACpD,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAqI1C,CAAC;AAsLF,eAAO,MAAM,gBAAgB,EAAE,MAAM,GAAG;IACtC,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAsT1C,CAAC"}
1
+ {"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/actions/scheduling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,MAAM,EAOP,MAAM,eAAe,CAAC;AAMvB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAO9E,OAAO,EAIL,KAAK,yBAAyB,EAG/B,MAAM,6BAA6B,CAAC;AAWrC,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAkGF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,GAAG,EAAE,IAAI,CAAC;IACV,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,yBAAyB,CAAC;IACvC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACzC,GAAG,mBAAmB,EAAE,CAwExB;AAqBD,wBAAgB,mCAAmC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CA4BjF;AA8BD,KAAK,yBAAyB,GAAG;IAC/B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtC,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,GAAG,MAAM,CAkBT;AAsBD,eAAO,MAAM,yBAAyB,EAAE,MAAM,GAAG;IAC/C,8BAA8B,CAAC,EAAE,OAAO,CAAC;CA2M1C,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAmIrC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,MAAM,GAAG;IACpD,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAqI1C,CAAC;AAsLF,eAAO,MAAM,gBAAgB,EAAE,MAAM,GAAG;IACtC,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAsT1C,CAAC"}
@@ -326,6 +326,7 @@ export const proposeMeetingTimesAction = {
326
326
  let events = [];
327
327
  try {
328
328
  const feed = await service.getCalendarFeed(INTERNAL_URL, {
329
+ includeHiddenCalendars: true,
329
330
  timeMin: windowStart.toISOString(),
330
331
  timeMax: windowEnd.toISOString(),
331
332
  timeZone: effectivePreferences.timeZone,
@@ -457,6 +458,7 @@ export const checkAvailabilityAction = {
457
458
  let events = [];
458
459
  try {
459
460
  const feed = await service.getCalendarFeed(INTERNAL_URL, {
461
+ includeHiddenCalendars: true,
460
462
  timeMin: windowStart.toISOString(),
461
463
  timeMax: windowEnd.toISOString(),
462
464
  timeZone: preferences.timeZone,
@@ -8,6 +8,20 @@ export declare function fetchGoogleCalendarEvents(args: {
8
8
  timeMax: string;
9
9
  timeZone?: string;
10
10
  }): Promise<SyncedGoogleCalendarEvent[]>;
11
+ export interface GoogleCalendarListEntry {
12
+ calendarId: string;
13
+ summary: string;
14
+ description: string | null;
15
+ primary: boolean;
16
+ accessRole: string;
17
+ backgroundColor: string | null;
18
+ foregroundColor: string | null;
19
+ timeZone: string | null;
20
+ selected: boolean;
21
+ }
22
+ export declare function listGoogleCalendars(args: {
23
+ accessToken: string;
24
+ }): Promise<GoogleCalendarListEntry[]>;
11
25
  export declare function fetchGoogleCalendarEvent(args: {
12
26
  accessToken: string;
13
27
  calendarId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"google-calendar.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/google-calendar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAuH3E,MAAM,WAAW,yBACf,SAAQ,IAAI,CACV,oBAAoB,EACpB,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAClE;CAAG;AA2GN,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAwCvC;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAqBrC;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;CACJ,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA+CrC;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;CACJ,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAsDrC;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBhB"}
1
+ {"version":3,"file":"google-calendar.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/google-calendar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAyH3E,MAAM,WAAW,yBACf,SAAQ,IAAI,CACV,oBAAoB,EACpB,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAClE;CAAG;AA2GN,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAwCvC;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAiBD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAwCrC;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAqBrC;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;CACJ,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA+CrC;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;CACJ,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAsDrC;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBhB"}
@@ -2,6 +2,7 @@ import { GoogleApiError } from "./google-api-error.js";
2
2
  import { googleApiFetch } from "./google-fetch.js";
3
3
  import { buildUtcDateFromLocalParts, formatInstantAsRfc3339InTimeZone, } from "./time.js";
4
4
  const GOOGLE_CALENDAR_EVENTS_ENDPOINT = "https://www.googleapis.com/calendar/v3/calendars";
5
+ const GOOGLE_CALENDAR_LIST_ENDPOINT = "https://www.googleapis.com/calendar/v3/users/me/calendarList";
5
6
  function hasExplicitDateTimeOffset(dateTime) {
6
7
  return /(?:[zZ]|[+-]\d{2}:\d{2})$/.test(dateTime);
7
8
  }
@@ -150,6 +151,43 @@ export async function fetchGoogleCalendarEvents(args) {
150
151
  }
151
152
  return events;
152
153
  }
154
+ export async function listGoogleCalendars(args) {
155
+ const params = new URLSearchParams({
156
+ minAccessRole: "reader",
157
+ showDeleted: "false",
158
+ showHidden: "false",
159
+ fields: "items(id,summary,summaryOverride,description,primary,accessRole,backgroundColor,foregroundColor,timeZone,selected,deleted,hidden)",
160
+ });
161
+ const response = await googleApiFetch(`${GOOGLE_CALENDAR_LIST_ENDPOINT}?${params.toString()}`, {
162
+ headers: {
163
+ Authorization: `Bearer ${args.accessToken}`,
164
+ },
165
+ });
166
+ const parsed = (await response.json());
167
+ const entries = [];
168
+ for (const item of parsed.items ?? []) {
169
+ if (item.deleted || item.hidden)
170
+ continue;
171
+ const calendarId = item.id?.trim();
172
+ if (!calendarId)
173
+ continue;
174
+ const summary = (item.summaryOverride?.trim() ||
175
+ item.summary?.trim() ||
176
+ calendarId);
177
+ entries.push({
178
+ calendarId,
179
+ summary,
180
+ description: item.description?.trim() || null,
181
+ primary: Boolean(item.primary),
182
+ accessRole: item.accessRole?.trim() || "reader",
183
+ backgroundColor: item.backgroundColor?.trim() || null,
184
+ foregroundColor: item.foregroundColor?.trim() || null,
185
+ timeZone: item.timeZone?.trim() || null,
186
+ selected: item.selected !== false,
187
+ });
188
+ }
189
+ return entries;
190
+ }
153
191
  export async function fetchGoogleCalendarEvent(args) {
154
192
  const calendarId = args.calendarId ?? "primary";
155
193
  const response = await googleApiFetch(`${GOOGLE_CALENDAR_EVENTS_ENDPOINT}/${encodeURIComponent(calendarId)}/events/${encodeURIComponent(args.eventId)}`, {
@@ -33,6 +33,17 @@ export interface ManagedGoogleCalendarFeedResponse {
33
33
  events: SyncedGoogleCalendarEvent[];
34
34
  syncedAt: string;
35
35
  }
36
+ export interface ManagedGoogleCalendarSummaryResponse {
37
+ calendarId: string;
38
+ summary: string;
39
+ description: string | null;
40
+ primary: boolean;
41
+ accessRole: string;
42
+ backgroundColor: string | null;
43
+ foregroundColor: string | null;
44
+ timeZone: string | null;
45
+ selected: boolean;
46
+ }
36
47
  export interface ManagedGoogleCalendarEventResponse {
37
48
  event: SyncedGoogleCalendarEvent;
38
49
  }
@@ -104,6 +115,10 @@ export declare class GoogleManagedClient {
104
115
  timeMax: string;
105
116
  timeZone: string;
106
117
  }): Promise<ManagedGoogleCalendarFeedResponse>;
118
+ listCalendars(args: {
119
+ side: LifeOpsConnectorSide;
120
+ grantId?: string;
121
+ }): Promise<ManagedGoogleCalendarSummaryResponse[]>;
107
122
  createCalendarEvent(request: Omit<CreateLifeOpsCalendarEventRequest, "mode"> & {
108
123
  side: LifeOpsConnectorSide;
109
124
  grantId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"google-managed-client.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/google-managed-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google-managed-client.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/google-managed-client.ts"],"names":[],"mappings":"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"}
@@ -226,6 +226,16 @@ export class GoogleManagedClient {
226
226
  method: "GET",
227
227
  });
228
228
  }
229
+ async listCalendars(args) {
230
+ const query = new URLSearchParams({
231
+ side: args.side,
232
+ });
233
+ if (args.grantId)
234
+ query.set("grantId", args.grantId);
235
+ return this.request(`milady/google/calendar/calendars?${query.toString()}`, {
236
+ method: "GET",
237
+ });
238
+ }
229
239
  async createCalendarEvent(request) {
230
240
  const normalizedRequest = {
231
241
  ...request,
@@ -11,6 +11,24 @@ export declare function fetchConfiguredOwnerName(): Promise<string | null>;
11
11
  export declare function persistConfiguredOwnerName(name: string): Promise<boolean>;
12
12
  export declare function resolveLifeOpsOwnerProfile(metadata: Record<string, unknown> | null | undefined, configuredName?: string | null): LifeOpsOwnerProfile;
13
13
  export declare function readLifeOpsOwnerProfile(runtime: IAgentRuntime): Promise<LifeOpsOwnerProfile>;
14
+ export interface LifeOpsCalendarFeedPreferences {
15
+ calendarFeedIncludes: Record<string, boolean>;
16
+ updatedAt: string | null;
17
+ }
18
+ /**
19
+ * Preference key for a calendar under a specific account grant. Google returns
20
+ * `calendarId: "primary"` for every account's primary calendar, so keying on
21
+ * `calendarId` alone would collide across multi-account users. The grantId
22
+ * disambiguates the account.
23
+ */
24
+ export declare function calendarFeedPreferenceKey(grantId: string, calendarId: string): string;
25
+ export interface CalendarFeedPreferenceIdentifier {
26
+ grantId: string;
27
+ calendarId: string;
28
+ }
29
+ export declare function readLifeOpsCalendarFeedPreferences(runtime: IAgentRuntime): Promise<LifeOpsCalendarFeedPreferences>;
30
+ export declare function ensureLifeOpsCalendarFeedIncludes(runtime: IAgentRuntime, identifiers: readonly CalendarFeedPreferenceIdentifier[]): Promise<LifeOpsCalendarFeedPreferences>;
31
+ export declare function setLifeOpsCalendarFeedIncluded(runtime: IAgentRuntime, identifier: CalendarFeedPreferenceIdentifier, included: boolean): Promise<LifeOpsCalendarFeedPreferences>;
14
32
  /**
15
33
  * Meeting preferences — stored alongside the owner profile in the LifeOps
16
34
  * scheduler task's metadata. Consumed by scheduling-with-others actions to
@@ -1 +1 @@
1
- {"version":3,"file":"owner-profile.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/owner-profile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,eAAe,CAAC;AAS/D,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAGxC,eAAO,MAAM,4BAA4B,0KAa/B,CAAC;AAEX,MAAM,MAAM,wBAAwB,GAClC,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAC5C,MAAM,CAAC,wBAAwB,EAAE,MAAM,CAAC,CACzC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,wBAAwB,EAAE,MAAM,CAAC,GAAG;IAC3E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAoGF,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,wBAAwB,GAAG,IAAI,GAAG,SAAS,GAC3E,wBAAwB,CAgB1B;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmBvE;AAED,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAkBlB;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EACpD,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAC7B,mBAAmB,CAgBrB;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,iCAAiC;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,iCAAiC,EAAE,CAAC;IACrD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAClD,IAAI,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAC7C,CAAC;AAsCF,wBAAgB,uCAAuC,CACrD,KAAK,EACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,8BAA8B,GAC9B,IAAI,GACJ,SAAS,GACZ,8BAA8B,CA+BhC;AAgBD,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,yBAAyB,CAAC,CAIpC;AAED,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,8BAA8B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9D,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAoB3C;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxD,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA8BrC"}
1
+ {"version":3,"file":"owner-profile.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/owner-profile.ts"],"names":[],"mappings":"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"}
@@ -174,6 +174,132 @@ export async function readLifeOpsOwnerProfile(runtime) {
174
174
  const metadata = isRecord(task?.metadata) ? task.metadata : null;
175
175
  return resolveLifeOpsOwnerProfile(metadata, configuredName);
176
176
  }
177
+ const DEFAULT_CALENDAR_FEED_PREFERENCES = {
178
+ calendarFeedIncludes: {},
179
+ updatedAt: null,
180
+ };
181
+ /**
182
+ * Preference key for a calendar under a specific account grant. Google returns
183
+ * `calendarId: "primary"` for every account's primary calendar, so keying on
184
+ * `calendarId` alone would collide across multi-account users. The grantId
185
+ * disambiguates the account.
186
+ */
187
+ export function calendarFeedPreferenceKey(grantId, calendarId) {
188
+ return `${grantId}:${calendarId}`;
189
+ }
190
+ function normalizeCalendarFeedIncludes(value) {
191
+ if (!isRecord(value)) {
192
+ return {};
193
+ }
194
+ const normalized = {};
195
+ for (const [rawCalendarId, rawIncluded] of Object.entries(value)) {
196
+ const calendarId = rawCalendarId.trim();
197
+ if (!calendarId || typeof rawIncluded !== "boolean") {
198
+ continue;
199
+ }
200
+ normalized[calendarId] = rawIncluded;
201
+ }
202
+ return normalized;
203
+ }
204
+ function resolveCalendarFeedPreferences(metadata) {
205
+ const stored = isRecord(metadata?.calendarFeedPreferences)
206
+ ? metadata.calendarFeedPreferences
207
+ : null;
208
+ const updatedAt = stored && typeof stored.updatedAt === "string"
209
+ ? normalizeProfileValue(stored.updatedAt, 64)
210
+ : null;
211
+ return {
212
+ ...DEFAULT_CALENDAR_FEED_PREFERENCES,
213
+ calendarFeedIncludes: normalizeCalendarFeedIncludes(stored?.calendarFeedIncludes),
214
+ updatedAt,
215
+ };
216
+ }
217
+ export async function readLifeOpsCalendarFeedPreferences(runtime) {
218
+ const task = await readLifeOpsSchedulerTask(runtime);
219
+ const metadata = isRecord(task?.metadata) ? task.metadata : null;
220
+ return resolveCalendarFeedPreferences(metadata);
221
+ }
222
+ function normalizeCalendarFeedIdentifiers(identifiers) {
223
+ const seen = new Set();
224
+ const result = [];
225
+ for (const id of identifiers) {
226
+ const grantId = typeof id?.grantId === "string" ? id.grantId.trim() : "";
227
+ const calendarId = typeof id?.calendarId === "string" ? id.calendarId.trim() : "";
228
+ if (!grantId || !calendarId) {
229
+ continue;
230
+ }
231
+ const key = calendarFeedPreferenceKey(grantId, calendarId);
232
+ if (seen.has(key)) {
233
+ continue;
234
+ }
235
+ seen.add(key);
236
+ result.push({ grantId, calendarId });
237
+ }
238
+ return result;
239
+ }
240
+ export async function ensureLifeOpsCalendarFeedIncludes(runtime, identifiers) {
241
+ const normalizedIdentifiers = normalizeCalendarFeedIdentifiers(identifiers);
242
+ const task = await readLifeOpsSchedulerTask(runtime);
243
+ const currentMetadata = isRecord(task?.metadata) ? task.metadata : null;
244
+ const current = resolveCalendarFeedPreferences(currentMetadata);
245
+ const missingIdentifiers = normalizedIdentifiers.filter(({ grantId, calendarId }) => !(calendarFeedPreferenceKey(grantId, calendarId) in
246
+ current.calendarFeedIncludes));
247
+ if (missingIdentifiers.length === 0) {
248
+ return current;
249
+ }
250
+ const taskId = await ensureLifeOpsSchedulerTask(runtime);
251
+ const metadata = currentMetadata && task?.id === taskId
252
+ ? currentMetadata
253
+ : buildFallbackSchedulerMetadata(runtime.agentId);
254
+ const nextCalendarFeedIncludes = { ...current.calendarFeedIncludes };
255
+ for (const { grantId, calendarId } of missingIdentifiers) {
256
+ nextCalendarFeedIncludes[calendarFeedPreferenceKey(grantId, calendarId)] =
257
+ true;
258
+ }
259
+ const next = {
260
+ calendarFeedIncludes: nextCalendarFeedIncludes,
261
+ updatedAt: new Date().toISOString(),
262
+ };
263
+ await runtime.updateTask(taskId, {
264
+ metadata: {
265
+ ...(metadata ?? {}),
266
+ calendarFeedPreferences: next,
267
+ },
268
+ });
269
+ return next;
270
+ }
271
+ export async function setLifeOpsCalendarFeedIncluded(runtime, identifier, included) {
272
+ const grantId = typeof identifier?.grantId === "string" ? identifier.grantId.trim() : "";
273
+ const calendarId = typeof identifier?.calendarId === "string"
274
+ ? identifier.calendarId.trim()
275
+ : "";
276
+ if (!grantId) {
277
+ throw new Error("grantId is required");
278
+ }
279
+ if (!calendarId) {
280
+ throw new Error("calendarId is required");
281
+ }
282
+ const taskId = await ensureLifeOpsSchedulerTask(runtime);
283
+ const task = await readLifeOpsSchedulerTask(runtime);
284
+ const metadata = isRecord(task?.metadata) && task.id === taskId
285
+ ? task.metadata
286
+ : buildFallbackSchedulerMetadata(runtime.agentId);
287
+ const current = resolveCalendarFeedPreferences(metadata);
288
+ const next = {
289
+ calendarFeedIncludes: {
290
+ ...current.calendarFeedIncludes,
291
+ [calendarFeedPreferenceKey(grantId, calendarId)]: included,
292
+ },
293
+ updatedAt: new Date().toISOString(),
294
+ };
295
+ await runtime.updateTask(taskId, {
296
+ metadata: {
297
+ ...(metadata ?? {}),
298
+ calendarFeedPreferences: next,
299
+ },
300
+ });
301
+ return next;
302
+ }
177
303
  const DEFAULT_MEETING_PREFERENCES = {
178
304
  timeZone: "America/Los_Angeles",
179
305
  preferredStartLocal: "09:00",
@@ -1,6 +1,14 @@
1
- import type { CreateLifeOpsCalendarEventAttendee, CreateLifeOpsCalendarEventRequest, GetLifeOpsCalendarFeedRequest, LifeOpsCalendarEvent, LifeOpsCalendarFeed, LifeOpsConnectorMode, LifeOpsConnectorSide, LifeOpsNextCalendarEventContext } from "@elizaos/app-lifeops/contracts";
1
+ import type { CreateLifeOpsCalendarEventAttendee, CreateLifeOpsCalendarEventRequest, GetLifeOpsCalendarFeedRequest, LifeOpsCalendarEvent, LifeOpsCalendarFeed, LifeOpsCalendarSummary, LifeOpsConnectorMode, LifeOpsConnectorSide, LifeOpsNextCalendarEventContext, ListLifeOpsCalendarsRequest } from "@elizaos/app-lifeops/contracts";
2
2
  import type { Constructor, LifeOpsServiceBase, MixinClass } from "./service-mixin-core.js";
3
3
  export interface LifeOpsCalendarService {
4
+ listCalendars(requestUrl: URL, request?: ListLifeOpsCalendarsRequest): Promise<LifeOpsCalendarSummary[]>;
5
+ setCalendarIncluded(requestUrl: URL, request: {
6
+ calendarId: string;
7
+ includeInFeed: boolean;
8
+ side?: LifeOpsConnectorSide;
9
+ mode?: LifeOpsConnectorMode;
10
+ grantId?: string;
11
+ }): Promise<LifeOpsCalendarSummary>;
4
12
  getCalendarFeed(requestUrl: URL, request?: GetLifeOpsCalendarFeedRequest, now?: Date): Promise<LifeOpsCalendarFeed>;
5
13
  createCalendarEvent(requestUrl: URL, request: CreateLifeOpsCalendarEventRequest, now?: Date): Promise<LifeOpsCalendarEvent>;
6
14
  updateCalendarEvent(requestUrl: URL, request: {
@@ -26,5 +34,11 @@ export interface LifeOpsCalendarService {
26
34
  }): Promise<void>;
27
35
  getNextCalendarEventContext(requestUrl: URL, request?: GetLifeOpsCalendarFeedRequest, now?: Date): Promise<LifeOpsNextCalendarEventContext>;
28
36
  }
37
+ type AggregatedCalendarFeedSource = {
38
+ calendar: Pick<LifeOpsCalendarSummary, "accountEmail" | "calendarId" | "grantId" | "summary">;
39
+ feed: LifeOpsCalendarFeed;
40
+ };
41
+ export declare function mergeAggregatedCalendarFeedEvents(sources: readonly AggregatedCalendarFeedSource[]): LifeOpsCalendarEvent[];
29
42
  export declare function withCalendar<TBase extends Constructor<LifeOpsServiceBase>>(Base: TBase): MixinClass<TBase, LifeOpsCalendarService>;
43
+ export {};
30
44
  //# sourceMappingURL=service-mixin-calendar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service-mixin-calendar.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/service-mixin-calendar.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kCAAkC,EAClC,iCAAiC,EACjC,6BAA6B,EAC7B,oBAAoB,EACpB,mBAAmB,EAEnB,oBAAoB,EACpB,oBAAoB,EAEpB,+BAA+B,EAChC,MAAM,gCAAgC,CAAC;AAsDxC,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,UAAU,EACX,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,sBAAsB;IACrC,eAAe,CACb,UAAU,EAAE,GAAG,EACf,OAAO,CAAC,EAAE,6BAA6B,EACvC,GAAG,CAAC,EAAE,IAAI,GACT,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC,mBAAmB,CACjB,UAAU,EAAE,GAAG,EACf,OAAO,EAAE,iCAAiC,EAC1C,GAAG,CAAC,EAAE,IAAI,GACT,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACjC,mBAAmB,CACjB,UAAU,EAAE,GAAG,EACf,OAAO,EAAE;QACP,IAAI,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;QACnC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,kCAAkC,EAAE,GAAG,IAAI,CAAC;KACzD,GACA,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACjC,mBAAmB,CACjB,UAAU,EAAE,GAAG,EACf,OAAO,EAAE;QACP,IAAI,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;QACnC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;KACjB,GACA,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,2BAA2B,CACzB,UAAU,EAAE,GAAG,EACf,OAAO,CAAC,EAAE,6BAA6B,EACvC,GAAG,CAAC,EAAE,IAAI,GACT,OAAO,CAAC,+BAA+B,CAAC,CAAC;CAC7C;AAID,wBAAgB,YAAY,CAAC,KAAK,SAAS,WAAW,CAAC,kBAAkB,CAAC,EACxE,IAAI,EAAE,KAAK,GACV,UAAU,CAAC,KAAK,EAAE,sBAAsB,CAAC,CA2zB3C"}
1
+ {"version":3,"file":"service-mixin-calendar.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/service-mixin-calendar.ts"],"names":[],"mappings":"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"}