mcp-google-multi 6.0.0-beta.1 → 6.0.0-beta.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.
Files changed (103) hide show
  1. package/README.md +5 -3
  2. package/dist/accounts.d.ts +5 -0
  3. package/dist/accounts.js +12 -1
  4. package/dist/api-probe.js +3 -0
  5. package/dist/arg-normalize.d.ts +61 -4
  6. package/dist/arg-normalize.js +228 -4
  7. package/dist/arg-strict.d.ts +54 -0
  8. package/dist/arg-strict.js +163 -0
  9. package/dist/auth.js +15 -72
  10. package/dist/client.js +15 -5
  11. package/dist/config-file.d.ts +1 -0
  12. package/dist/config-file.js +4 -0
  13. package/dist/discover.js +35 -14
  14. package/dist/discovery-client.d.ts +8 -1
  15. package/dist/discovery-client.js +96 -17
  16. package/dist/doctor.d.ts +9 -1
  17. package/dist/doctor.js +32 -4
  18. package/dist/env-load.d.ts +11 -0
  19. package/dist/env-load.js +23 -1
  20. package/dist/executor.js +12 -1
  21. package/dist/fanout.js +43 -8
  22. package/dist/http-transport.d.ts +11 -2
  23. package/dist/http-transport.js +10 -5
  24. package/dist/index.js +112 -12
  25. package/dist/metrics-cli.d.ts +21 -0
  26. package/dist/metrics-cli.js +206 -0
  27. package/dist/metrics-tap.d.ts +12 -0
  28. package/dist/metrics-tap.js +95 -0
  29. package/dist/oauth-consent.d.ts +25 -10
  30. package/dist/oauth-consent.js +85 -39
  31. package/dist/outbound-allowlist.d.ts +34 -0
  32. package/dist/outbound-allowlist.js +108 -0
  33. package/dist/registry.d.ts +49 -2
  34. package/dist/registry.js +147 -7
  35. package/dist/scope-catalog.js +16 -0
  36. package/dist/services.d.ts +8 -0
  37. package/dist/services.js +28 -1
  38. package/dist/setup-prompt.d.ts +1 -1
  39. package/dist/setup-prompt.js +1 -1
  40. package/dist/tools/_coerce.d.ts +5 -0
  41. package/dist/tools/_coerce.js +11 -0
  42. package/dist/tools/_errors.d.ts +31 -3
  43. package/dist/tools/_errors.js +307 -43
  44. package/dist/tools/_local-files.js +7 -2
  45. package/dist/tools/account-wizard.d.ts +24 -1
  46. package/dist/tools/account-wizard.js +152 -51
  47. package/dist/tools/admin.js +7 -6
  48. package/dist/tools/analytics.d.ts +18 -0
  49. package/dist/tools/analytics.js +284 -0
  50. package/dist/tools/calendar.d.ts +7 -0
  51. package/dist/tools/calendar.js +75 -15
  52. package/dist/tools/chat.js +7 -4
  53. package/dist/tools/contacts.js +57 -30
  54. package/dist/tools/docs.js +56 -54
  55. package/dist/tools/drive.js +132 -70
  56. package/dist/tools/forms.js +7 -7
  57. package/dist/tools/generated/_shared.d.ts +6 -0
  58. package/dist/tools/generated/_shared.js +11 -1
  59. package/dist/tools/generated/admin.js +345 -214
  60. package/dist/tools/generated/analytics.d.ts +2 -0
  61. package/dist/tools/generated/analytics.js +981 -0
  62. package/dist/tools/generated/appsmarket.js +4 -4
  63. package/dist/tools/generated/calendar.js +28 -28
  64. package/dist/tools/generated/chat.js +83 -56
  65. package/dist/tools/generated/classroom.js +258 -216
  66. package/dist/tools/generated/cloudidentity.js +76 -68
  67. package/dist/tools/generated/cloudsearch.js +40 -39
  68. package/dist/tools/generated/contacts.js +20 -11
  69. package/dist/tools/generated/drive.js +62 -53
  70. package/dist/tools/generated/drivelabels.js +60 -32
  71. package/dist/tools/generated/forms.js +7 -7
  72. package/dist/tools/generated/gmail.js +136 -109
  73. package/dist/tools/generated/groupsmigration.js +1 -1
  74. package/dist/tools/generated/groupssettings.js +3 -3
  75. package/dist/tools/generated/index.js +2 -0
  76. package/dist/tools/generated/keep.js +8 -7
  77. package/dist/tools/generated/licensing.js +39 -23
  78. package/dist/tools/generated/meet.js +14 -14
  79. package/dist/tools/generated/method-map.d.ts +2 -0
  80. package/dist/tools/generated/method-map.js +894 -0
  81. package/dist/tools/generated/postmaster.js +3 -3
  82. package/dist/tools/generated/reseller.js +34 -28
  83. package/dist/tools/generated/script.js +29 -19
  84. package/dist/tools/generated/searchconsole.js +5 -3
  85. package/dist/tools/generated/sheets.js +10 -9
  86. package/dist/tools/generated/tasks.js +10 -4
  87. package/dist/tools/generated/vault.js +65 -56
  88. package/dist/tools/generated/workspaceevents.js +17 -16
  89. package/dist/tools/gmail.d.ts +10 -1
  90. package/dist/tools/gmail.js +50 -18
  91. package/dist/tools/google-api.js +48 -19
  92. package/dist/tools/meet.js +5 -2
  93. package/dist/tools/searchconsole.js +10 -10
  94. package/dist/tools/sheets.js +36 -48
  95. package/dist/tools/slides.js +6 -6
  96. package/dist/tools/tasks.js +16 -16
  97. package/dist/trim.d.ts +21 -0
  98. package/dist/trim.js +47 -0
  99. package/dist/usage-metrics.d.ts +155 -0
  100. package/dist/usage-metrics.js +603 -0
  101. package/dist/write-control.d.ts +27 -1
  102. package/dist/write-control.js +90 -11
  103. package/package.json +8 -3
@@ -0,0 +1,155 @@
1
+ export declare const METRICS_DIR_NAME = "metrics";
2
+ /** Union of every `error:` slug literal emitted anywhere in src/ (kept honest
3
+ * by a set-equality grep test). Anything outside buckets to `other`. */
4
+ export declare const KNOWN_ERROR_SLUGS: ReadonlySet<string>;
5
+ export declare function stateDir(env?: NodeJS.ProcessEnv): string;
6
+ export declare function latBucket(ms: number): string;
7
+ export declare function charsBucket(n: number): string;
8
+ export declare function fanBucket(width: number): string | undefined;
9
+ export type MetricsSource = {
10
+ kind: 'default';
11
+ } | {
12
+ kind: 'config';
13
+ } | {
14
+ kind: 'process-env';
15
+ } | {
16
+ kind: 'env-file';
17
+ file: string;
18
+ };
19
+ export interface UsageMetricsState {
20
+ enabled: boolean;
21
+ source: MetricsSource;
22
+ /** exactly one stderr warning on a malformed non-empty env value (fail-closed) */
23
+ warning?: string;
24
+ }
25
+ /**
26
+ * Fail-closed resolution (mirror of resolveDiscoveryMode's fail-open: here the
27
+ * safe state is off). Env wins over config; empty env value = unset, silent;
28
+ * any other value = one warning, off. `envFile` is the .env path that supplied
29
+ * the variable when it did not come from the real process env (attribution
30
+ * is computed by the caller; this module never reads env files).
31
+ */
32
+ export declare function resolveUsageMetrics(env: NodeJS.ProcessEnv, configValue: boolean | undefined, envFile?: string): UsageMetricsState;
33
+ export declare function sourceLabel(source: MetricsSource): string;
34
+ export interface ToolEntryInfo {
35
+ name: string;
36
+ service: string;
37
+ meta: boolean;
38
+ generated: boolean;
39
+ }
40
+ interface ToolAgg {
41
+ n: number;
42
+ err: Record<string, number>;
43
+ hint: number;
44
+ lat: Record<string, number>;
45
+ fanout?: {
46
+ calls: number;
47
+ } & Record<string, number>;
48
+ argfix?: number;
49
+ /** undeclared keys, counted by the DECLARED key they resolve to */
50
+ argdrop?: Record<string, number>;
51
+ }
52
+ export interface DayAgg {
53
+ v: 1;
54
+ day: string;
55
+ boots: Record<string, number>;
56
+ node: string;
57
+ calls: number;
58
+ tools: Record<string, ToolAgg>;
59
+ hints: Record<string, {
60
+ hinted: number;
61
+ unhinted: number;
62
+ }>;
63
+ retries: Record<string, {
64
+ hintedOk: number;
65
+ hintedFail: number;
66
+ unhintedOk: number;
67
+ unhintedFail: number;
68
+ }>;
69
+ escape: {
70
+ methods: Record<string, number>;
71
+ _overflow: number;
72
+ unknown_method: number;
73
+ apis_searched: Record<string, number>;
74
+ unknown_api: number;
75
+ };
76
+ validation: Record<string, number>;
77
+ rpc: Record<string, number>;
78
+ bigrams: Record<string, number>;
79
+ }
80
+ export interface InitOptions {
81
+ dir?: string;
82
+ version: string;
83
+ mode: string;
84
+ transport: string;
85
+ env?: NodeJS.ProcessEnv;
86
+ now?: () => number;
87
+ monotonic?: () => number;
88
+ log?: (line: string) => void;
89
+ }
90
+ /** Deep-add b into a for the DayAgg shape (numbers add, maps union). */
91
+ export declare function mergeDay(a: DayAgg, b: DayAgg): DayAgg;
92
+ export declare class Metrics {
93
+ private readonly dir;
94
+ private readonly aggDir;
95
+ private readonly eventsFile;
96
+ private readonly now;
97
+ private readonly mono;
98
+ private readonly log;
99
+ private readonly bootKey;
100
+ private readonly bootId;
101
+ private seq;
102
+ private deltas;
103
+ private events;
104
+ private lastError;
105
+ private lastTool;
106
+ private pendingMid;
107
+ private timer;
108
+ private dirty;
109
+ private failures;
110
+ private disabled;
111
+ constructor(opts: InitOptions);
112
+ private day;
113
+ private initStorage;
114
+ private pruneAggs;
115
+ private day2ms;
116
+ private pruneEventAge;
117
+ /** Outermost dispatch wrapper; a throw inside recording never affects the call. */
118
+ wrap<A extends unknown[], R>(entry: ToolEntryInfo, handler: (...args: A) => Promise<R> | R, widthOf?: (args: unknown) => number): (...args: A) => Promise<R>;
119
+ private record;
120
+ /** Escape hatch: only the RESOLVED methodId (double-gated) or a miss. */
121
+ recordEscapeMethod(idOrNull: string | null): void;
122
+ /** Search instrument: post-resolution SUPPORTED_APIS keys, or null on failure. */
123
+ recordSearchApi(resolvedApis: string[] | null): void;
124
+ /**
125
+ * Undeclared argument keys seen on a call. `resolvedKeys` carries only the
126
+ * SUGGESTED (declared) key or the literal `_unmatched`, never the caller's
127
+ * key, so the closed-vocabulary guarantee holds: a client cannot write an
128
+ * invented string to disk through this path.
129
+ */
130
+ recordArgDrop(tool: string, resolvedKeys: string[]): void;
131
+ recordArgFix(tool: string, by?: number): void;
132
+ /** Protocol-level failures (no handler ran); wired by the transport tap. */
133
+ recordRpc(kind: 'schema_validation' | 'tool_not_found' | number, tool?: string): void;
134
+ private rolloverIfNeeded;
135
+ /** Merge deltas into the day file under lock; append buffered events. */
136
+ flush(): void;
137
+ private rotateIfNeeded;
138
+ /** Best-effort synchronous flush for shutdown paths. */
139
+ shutdown(): void;
140
+ /** For the doctor/diagnose status line. */
141
+ statusLine(): string;
142
+ }
143
+ /** Read-only description of the metrics dir for doctor/diagnose status lines
144
+ * (never creates anything; safe to call with the feature off). */
145
+ export declare function describeMetricsDir(env?: NodeJS.ProcessEnv): {
146
+ dir: string;
147
+ files: number;
148
+ kb: number;
149
+ };
150
+ /**
151
+ * null when off: no directory, no file, no timer, nothing initializes; setting
152
+ * USAGE_METRICS_PATH alone never enables anything and never creates anything.
153
+ */
154
+ export declare function initUsageMetrics(state: UsageMetricsState, opts: InitOptions): Metrics | null;
155
+ export {};