@mulmoclaude/google-plugin 0.1.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.
package/README.md ADDED
@@ -0,0 +1,21 @@
1
+ # @mulmoclaude/google-plugin
2
+
3
+ MulmoClaude runtime plugin exposing the user's **locally linked Google
4
+ account** to the chat agent as one `google` tool (kind-discriminated
5
+ dispatch). Server-only — no Vue View.
6
+
7
+ - Engine: `@mulmoclaude/core/google` (OAuth loopback + PKCE, token store at
8
+ `~/.config/mulmoclaude/google-token.json`, Calendar v3 REST). The settings
9
+ UI, remote-host commands, `yarn google:auth`, and this tool share one link
10
+ state.
11
+ - Kinds: `status`, `calendarListEvents`, `calendarCreateEvent`. Tasks / Drive
12
+ (`drive.file`) ride the same consent grant later (issue #2115).
13
+ - Not linked yet? The tool's errors tell the LLM to guide the user to
14
+ Settings → Plugins → Google (or `yarn google:auth`).
15
+
16
+ ## Dev loop
17
+
18
+ ```bash
19
+ yarn workspace @mulmoclaude/google-plugin run build
20
+ yarn workspace @mulmoclaude/google-plugin run test
21
+ ```
package/dist/args.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ export declare const GoogleArgs: z.ZodDiscriminatedUnion<[z.ZodObject<{
3
+ kind: z.ZodLiteral<"status">;
4
+ }, z.core.$strip>, z.ZodObject<{
5
+ kind: z.ZodLiteral<"calendarListEvents">;
6
+ timeMin: z.ZodOptional<z.ZodString>;
7
+ maxResults: z.ZodOptional<z.ZodNumber>;
8
+ }, z.core.$strip>, z.ZodObject<{
9
+ kind: z.ZodLiteral<"calendarCreateEvent">;
10
+ summary: z.ZodString;
11
+ start: z.ZodString;
12
+ end: z.ZodString;
13
+ description: z.ZodOptional<z.ZodString>;
14
+ }, z.core.$strip>], "kind">;
15
+ export type GoogleArgs = z.infer<typeof GoogleArgs>;
@@ -0,0 +1,40 @@
1
+ export declare const TOOL_DEFINITION: {
2
+ type: "function";
3
+ name: "google";
4
+ prompt: string;
5
+ description: string;
6
+ parameters: {
7
+ type: "object";
8
+ properties: {
9
+ kind: {
10
+ type: string;
11
+ enum: string[];
12
+ };
13
+ timeMin: {
14
+ type: string;
15
+ description: string;
16
+ };
17
+ maxResults: {
18
+ type: string;
19
+ description: string;
20
+ };
21
+ summary: {
22
+ type: string;
23
+ description: string;
24
+ };
25
+ start: {
26
+ type: string;
27
+ description: string;
28
+ };
29
+ end: {
30
+ type: string;
31
+ description: string;
32
+ };
33
+ description: {
34
+ type: string;
35
+ description: string;
36
+ };
37
+ };
38
+ required: string[];
39
+ };
40
+ };
@@ -0,0 +1,61 @@
1
+ import { TOOL_DEFINITION } from './definition';
2
+ export { TOOL_DEFINITION };
3
+ declare const _default: (runtime: import('gui-chat-protocol').PluginRuntime) => {
4
+ TOOL_DEFINITION: {
5
+ type: "function";
6
+ name: "google";
7
+ prompt: string;
8
+ description: string;
9
+ parameters: {
10
+ type: "object";
11
+ properties: {
12
+ kind: {
13
+ type: string;
14
+ enum: string[];
15
+ };
16
+ timeMin: {
17
+ type: string;
18
+ description: string;
19
+ };
20
+ maxResults: {
21
+ type: string;
22
+ description: string;
23
+ };
24
+ summary: {
25
+ type: string;
26
+ description: string;
27
+ };
28
+ start: {
29
+ type: string;
30
+ description: string;
31
+ };
32
+ end: {
33
+ type: string;
34
+ description: string;
35
+ };
36
+ description: {
37
+ type: string;
38
+ description: string;
39
+ };
40
+ };
41
+ required: string[];
42
+ };
43
+ };
44
+ google(rawArgs: unknown): Promise<{
45
+ guidance?: string | undefined;
46
+ ok: boolean;
47
+ linked: boolean;
48
+ clientSecret: import('@mulmoclaude/core/google').ClientSecretPresence;
49
+ events?: undefined;
50
+ event?: undefined;
51
+ } | {
52
+ ok: boolean;
53
+ events: import('@mulmoclaude/core/google').CalendarEventSummary[];
54
+ event?: undefined;
55
+ } | {
56
+ ok: boolean;
57
+ event: import('@mulmoclaude/core/google').CalendarEventSummary;
58
+ events?: undefined;
59
+ }>;
60
+ };
61
+ export default _default;