@kodelyth/google-meet 2026.5.42 → 2026.6.2
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 +17 -6
- package/doctor-contract-api.ts +0 -1
- package/google-meet.live.test.ts +0 -82
- package/index.create.test.ts +0 -671
- package/index.test.ts +0 -5051
- package/index.ts +0 -1224
- package/node-host.test.ts +0 -241
- package/src/agent-consult.ts +0 -158
- package/src/calendar.ts +0 -252
- package/src/cli.test.ts +0 -1234
- package/src/cli.ts +0 -2350
- package/src/config-compat.test.ts +0 -98
- package/src/config-compat.ts +0 -84
- package/src/config.ts +0 -589
- package/src/create.ts +0 -157
- package/src/drive.ts +0 -72
- package/src/google-api-errors.ts +0 -20
- package/src/meet.ts +0 -1024
- package/src/node-host.ts +0 -520
- package/src/oauth.test.ts +0 -73
- package/src/oauth.ts +0 -229
- package/src/realtime-node.ts +0 -780
- package/src/realtime.ts +0 -1334
- package/src/runtime.ts +0 -1008
- package/src/setup.ts +0 -285
- package/src/test-support/plugin-harness.ts +0 -232
- package/src/transports/chrome-browser-proxy.test.ts +0 -39
- package/src/transports/chrome-browser-proxy.ts +0 -204
- package/src/transports/chrome-create.ts +0 -364
- package/src/transports/chrome.test.ts +0 -12
- package/src/transports/chrome.ts +0 -1065
- package/src/transports/twilio.ts +0 -57
- package/src/transports/types.ts +0 -147
- package/src/voice-call-gateway.test.ts +0 -152
- package/src/voice-call-gateway.ts +0 -241
- package/tsconfig.json +0 -16
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kodelyth/google-meet",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.6.2",
|
|
4
4
|
"description": "Klaw Google Meet participant plugin",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -12,15 +12,19 @@
|
|
|
12
12
|
"typebox": "1.1.38"
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
15
|
-
"@kodelyth/plugin-sdk": "
|
|
16
|
-
"@kodelyth/klaw": "
|
|
15
|
+
"@kodelyth/plugin-sdk": "workspace:*",
|
|
16
|
+
"@kodelyth/klaw": "workspace:*"
|
|
17
17
|
},
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@kodelyth/klaw": ">=2026.5.19"
|
|
19
|
+
"@kodelyth/klaw": ">=2026.5.19",
|
|
20
|
+
"klaw": ">=2026.5.39"
|
|
20
21
|
},
|
|
21
22
|
"peerDependenciesMeta": {
|
|
22
23
|
"@kodelyth/klaw": {
|
|
23
24
|
"optional": true
|
|
25
|
+
},
|
|
26
|
+
"klaw": {
|
|
27
|
+
"optional": true
|
|
24
28
|
}
|
|
25
29
|
},
|
|
26
30
|
"klaw": {
|
|
@@ -41,6 +45,13 @@
|
|
|
41
45
|
"release": {
|
|
42
46
|
"publishToClawHub": true,
|
|
43
47
|
"publishToNpm": true
|
|
44
|
-
}
|
|
45
|
-
|
|
48
|
+
},
|
|
49
|
+
"runtimeExtensions": [
|
|
50
|
+
"./dist/index.js"
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
"files": [
|
|
54
|
+
"dist/**",
|
|
55
|
+
"klaw.plugin.json"
|
|
56
|
+
]
|
|
46
57
|
}
|
package/doctor-contract-api.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { legacyConfigRules, normalizeCompatibilityConfig } from "./src/config-compat.js";
|
package/google-meet.live.test.ts
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { isLiveTestEnabled } from "klaw/plugin-sdk/test-env";
|
|
2
|
-
import { describe, expect, it } from "vitest";
|
|
3
|
-
import { buildGoogleMeetExportManifest, googleMeetExportFileNames } from "./src/cli.js";
|
|
4
|
-
import {
|
|
5
|
-
fetchGoogleMeetArtifacts,
|
|
6
|
-
fetchGoogleMeetAttendance,
|
|
7
|
-
fetchLatestGoogleMeetConferenceRecord,
|
|
8
|
-
} from "./src/meet.js";
|
|
9
|
-
import { resolveGoogleMeetAccessToken } from "./src/oauth.js";
|
|
10
|
-
|
|
11
|
-
const LIVE_MEETING = process.env.KLAW_GOOGLE_MEET_LIVE_MEETING?.trim() ?? "";
|
|
12
|
-
const CLIENT_ID =
|
|
13
|
-
process.env.KLAW_GOOGLE_MEET_CLIENT_ID?.trim() ?? process.env.GOOGLE_MEET_CLIENT_ID?.trim() ?? "";
|
|
14
|
-
const CLIENT_SECRET =
|
|
15
|
-
process.env.KLAW_GOOGLE_MEET_CLIENT_SECRET?.trim() ??
|
|
16
|
-
process.env.GOOGLE_MEET_CLIENT_SECRET?.trim();
|
|
17
|
-
const REFRESH_TOKEN =
|
|
18
|
-
process.env.KLAW_GOOGLE_MEET_REFRESH_TOKEN?.trim() ??
|
|
19
|
-
process.env.GOOGLE_MEET_REFRESH_TOKEN?.trim() ??
|
|
20
|
-
"";
|
|
21
|
-
const ACCESS_TOKEN =
|
|
22
|
-
process.env.KLAW_GOOGLE_MEET_ACCESS_TOKEN?.trim() ?? process.env.GOOGLE_MEET_ACCESS_TOKEN?.trim();
|
|
23
|
-
const EXPIRES_AT = Number(
|
|
24
|
-
process.env.KLAW_GOOGLE_MEET_ACCESS_TOKEN_EXPIRES_AT ??
|
|
25
|
-
process.env.GOOGLE_MEET_ACCESS_TOKEN_EXPIRES_AT,
|
|
26
|
-
);
|
|
27
|
-
|
|
28
|
-
const LIVE =
|
|
29
|
-
isLiveTestEnabled() &&
|
|
30
|
-
LIVE_MEETING.length > 0 &&
|
|
31
|
-
((CLIENT_ID.length > 0 && REFRESH_TOKEN.length > 0) || Boolean(ACCESS_TOKEN));
|
|
32
|
-
const describeLive = LIVE ? describe : describe.skip;
|
|
33
|
-
|
|
34
|
-
describeLive("google-meet live", () => {
|
|
35
|
-
it("resolves latest conference record and artifacts for a real meeting", async () => {
|
|
36
|
-
const token = await resolveGoogleMeetAccessToken({
|
|
37
|
-
clientId: CLIENT_ID,
|
|
38
|
-
clientSecret: CLIENT_SECRET,
|
|
39
|
-
refreshToken: REFRESH_TOKEN,
|
|
40
|
-
accessToken: ACCESS_TOKEN,
|
|
41
|
-
expiresAt: Number.isFinite(EXPIRES_AT) ? EXPIRES_AT : undefined,
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
const latest = await fetchLatestGoogleMeetConferenceRecord({
|
|
45
|
-
accessToken: token.accessToken,
|
|
46
|
-
meeting: LIVE_MEETING,
|
|
47
|
-
});
|
|
48
|
-
expect(latest.space.name).toMatch(/^spaces\//);
|
|
49
|
-
|
|
50
|
-
const artifacts = await fetchGoogleMeetArtifacts({
|
|
51
|
-
accessToken: token.accessToken,
|
|
52
|
-
meeting: LIVE_MEETING,
|
|
53
|
-
pageSize: 5,
|
|
54
|
-
});
|
|
55
|
-
expect(artifacts.conferenceRecords.length).toBeLessThanOrEqual(1);
|
|
56
|
-
expect(Array.isArray(artifacts.artifacts)).toBe(true);
|
|
57
|
-
|
|
58
|
-
const attendance = await fetchGoogleMeetAttendance({
|
|
59
|
-
accessToken: token.accessToken,
|
|
60
|
-
meeting: LIVE_MEETING,
|
|
61
|
-
pageSize: 5,
|
|
62
|
-
});
|
|
63
|
-
expect(attendance.conferenceRecords.length).toBe(artifacts.conferenceRecords.length);
|
|
64
|
-
|
|
65
|
-
const manifest = buildGoogleMeetExportManifest({
|
|
66
|
-
artifacts,
|
|
67
|
-
attendance,
|
|
68
|
-
files: googleMeetExportFileNames(),
|
|
69
|
-
request: {
|
|
70
|
-
meeting: LIVE_MEETING,
|
|
71
|
-
pageSize: 5,
|
|
72
|
-
includeTranscriptEntries: true,
|
|
73
|
-
includeDocumentBodies: false,
|
|
74
|
-
allConferenceRecords: false,
|
|
75
|
-
mergeDuplicateParticipants: true,
|
|
76
|
-
},
|
|
77
|
-
tokenSource: token.refreshed ? "refresh-token" : "cached-access-token",
|
|
78
|
-
});
|
|
79
|
-
expect(manifest.files).toContain("manifest.json");
|
|
80
|
-
expect(manifest.counts.conferenceRecords).toBe(artifacts.conferenceRecords.length);
|
|
81
|
-
}, 120_000);
|
|
82
|
-
});
|