nothumanallowed 13.2.61 → 13.2.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nothumanallowed",
3
- "version": "13.2.61",
3
+ "version": "13.2.62",
4
4
  "description": "NotHumanAllowed — 38 AI agents, 80 tools, Studio (visual agentic workflows). Email, calendar, browser automation, screen capture, canvas, cron/heartbeat, Alexandria E2E messaging, GitHub, Notion, Slack, voice chat, free AI (Liara), 28 languages. Zero-dependency CLI.",
5
5
  "type": "module",
6
6
  "bin": {
package/src/constants.mjs CHANGED
@@ -5,7 +5,7 @@ import { fileURLToPath } from 'url';
5
5
  const __filename = fileURLToPath(import.meta.url);
6
6
  const __dirname = path.dirname(__filename);
7
7
 
8
- export const VERSION = '13.2.61';
8
+ export const VERSION = '13.2.62';
9
9
  export const BASE_URL = 'https://nothumanallowed.com/cli';
10
10
  export const API_BASE = 'https://nothumanallowed.com/api/v1';
11
11
 
@@ -75,7 +75,11 @@ export async function listEvents(config, calendarId = 'primary', timeMin, timeMa
75
75
  });
76
76
 
77
77
  const data = await calFetch(config, `/calendars/${encodeURIComponent(calendarId)}/events?${params}`);
78
- const events = (data.items || []).map(parseEvent);
78
+ const events = (data.items || []).map(raw => {
79
+ const e = parseEvent(raw);
80
+ e.calendarId = calendarId; // propagate real calendarId
81
+ return e;
82
+ });
79
83
 
80
84
  // Cache events
81
85
  cacheEvents(timeMin, events);
@@ -99,6 +103,7 @@ export async function getTodayEvents(config) {
99
103
  const events = await listEvents(config, cal.id, startOfDay, endOfDay);
100
104
  for (const e of events) {
101
105
  e.calendarName = cal.summary;
106
+ e.calendarId = cal.id; // ensure real calendarId is set
102
107
  allEvents.push(e);
103
108
  }
104
109
  } catch { /* skip failed calendars */ }
@@ -116,7 +121,23 @@ export async function getEventsForDate(config, date) {
116
121
  const d = new Date(date);
117
122
  const startOfDay = new Date(d.getFullYear(), d.getMonth(), d.getDate());
118
123
  const endOfDay = new Date(startOfDay.getTime() + 86400000);
119
- return listEvents(config, 'primary', startOfDay, endOfDay);
124
+
125
+ // Load from all calendars so calendarId is always accurate
126
+ const calendars = await listCalendars(config);
127
+ const allEvents = [];
128
+ for (const cal of calendars) {
129
+ if (cal.accessRole === 'freeBusyReader') continue;
130
+ try {
131
+ const events = await listEvents(config, cal.id, startOfDay, endOfDay);
132
+ for (const e of events) {
133
+ e.calendarName = cal.summary;
134
+ e.calendarId = cal.id;
135
+ allEvents.push(e);
136
+ }
137
+ } catch { /* skip */ }
138
+ }
139
+ allEvents.sort((a, b) => new Date(a.start).getTime() - new Date(b.start).getTime());
140
+ return allEvents;
120
141
  }
121
142
 
122
143
  /**