@pellux/goodvibes-sdk 0.25.0 → 0.25.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/dist/_internal/daemon/otlp-protobuf.d.ts +3 -0
- package/dist/_internal/daemon/otlp-protobuf.d.ts.map +1 -0
- package/dist/_internal/daemon/otlp-protobuf.js +968 -0
- package/dist/_internal/daemon/telemetry-routes.d.ts.map +1 -1
- package/dist/_internal/daemon/telemetry-routes.js +22 -13
- package/dist/_internal/platform/intelligence/lsp/service.d.ts.map +1 -1
- package/dist/_internal/platform/intelligence/lsp/service.js +18 -9
- package/dist/_internal/platform/providers/anthropic-vertex.d.ts.map +1 -1
- package/dist/_internal/platform/providers/anthropic-vertex.js +135 -2
- package/dist/_internal/platform/version.js +1 -1
- package/dist/_internal/platform/watchers/registry.d.ts.map +1 -1
- package/dist/_internal/platform/watchers/registry.js +4 -1
- package/package.json +9 -8
- package/vendor/bash-language-server/CHANGELOG.md +453 -0
- package/vendor/bash-language-server/GOODVIBES_PATCH.md +22 -0
- package/vendor/bash-language-server/README.md +230 -0
- package/vendor/bash-language-server/out/analyser.d.ts +187 -0
- package/vendor/bash-language-server/out/analyser.js +782 -0
- package/vendor/bash-language-server/out/analyser.js.map +1 -0
- package/vendor/bash-language-server/out/builtins.d.ts +2 -0
- package/vendor/bash-language-server/out/builtins.js +71 -0
- package/vendor/bash-language-server/out/builtins.js.map +1 -0
- package/vendor/bash-language-server/out/cli.d.ts +3 -0
- package/vendor/bash-language-server/out/cli.js +74 -0
- package/vendor/bash-language-server/out/cli.js.map +1 -0
- package/vendor/bash-language-server/out/config.d.ts +88 -0
- package/vendor/bash-language-server/out/config.js +96 -0
- package/vendor/bash-language-server/out/config.js.map +1 -0
- package/vendor/bash-language-server/out/executables.d.ts +19 -0
- package/vendor/bash-language-server/out/executables.js +86 -0
- package/vendor/bash-language-server/out/executables.js.map +1 -0
- package/vendor/bash-language-server/out/parser.d.ts +2 -0
- package/vendor/bash-language-server/out/parser.js +36 -0
- package/vendor/bash-language-server/out/parser.js.map +1 -0
- package/vendor/bash-language-server/out/reserved-words.d.ts +2 -0
- package/vendor/bash-language-server/out/reserved-words.js +33 -0
- package/vendor/bash-language-server/out/reserved-words.js.map +1 -0
- package/vendor/bash-language-server/out/server.d.ts +56 -0
- package/vendor/bash-language-server/out/server.js +756 -0
- package/vendor/bash-language-server/out/server.js.map +1 -0
- package/vendor/bash-language-server/out/shellcheck/config.d.ts +5 -0
- package/vendor/bash-language-server/out/shellcheck/config.js +17 -0
- package/vendor/bash-language-server/out/shellcheck/config.js.map +1 -0
- package/vendor/bash-language-server/out/shellcheck/directive.d.ts +18 -0
- package/vendor/bash-language-server/out/shellcheck/directive.js +62 -0
- package/vendor/bash-language-server/out/shellcheck/directive.js.map +1 -0
- package/vendor/bash-language-server/out/shellcheck/index.d.ts +22 -0
- package/vendor/bash-language-server/out/shellcheck/index.js +229 -0
- package/vendor/bash-language-server/out/shellcheck/index.js.map +1 -0
- package/vendor/bash-language-server/out/shellcheck/types.d.ts +175 -0
- package/vendor/bash-language-server/out/shellcheck/types.js +35 -0
- package/vendor/bash-language-server/out/shellcheck/types.js.map +1 -0
- package/vendor/bash-language-server/out/shfmt/index.d.ts +18 -0
- package/vendor/bash-language-server/out/shfmt/index.js +151 -0
- package/vendor/bash-language-server/out/shfmt/index.js.map +1 -0
- package/vendor/bash-language-server/out/snippets.d.ts +2 -0
- package/vendor/bash-language-server/out/snippets.js +671 -0
- package/vendor/bash-language-server/out/snippets.js.map +1 -0
- package/vendor/bash-language-server/out/types.d.ts +13 -0
- package/vendor/bash-language-server/out/types.js +12 -0
- package/vendor/bash-language-server/out/types.js.map +1 -0
- package/vendor/bash-language-server/out/util/array.d.ts +14 -0
- package/vendor/bash-language-server/out/util/array.js +36 -0
- package/vendor/bash-language-server/out/util/array.js.map +1 -0
- package/vendor/bash-language-server/out/util/async.d.ts +13 -0
- package/vendor/bash-language-server/out/util/async.js +24 -0
- package/vendor/bash-language-server/out/util/async.js.map +1 -0
- package/vendor/bash-language-server/out/util/declarations.d.ts +88 -0
- package/vendor/bash-language-server/out/util/declarations.js +295 -0
- package/vendor/bash-language-server/out/util/declarations.js.map +1 -0
- package/vendor/bash-language-server/out/util/discriminate.d.ts +1 -0
- package/vendor/bash-language-server/out/util/discriminate.js +7 -0
- package/vendor/bash-language-server/out/util/discriminate.js.map +1 -0
- package/vendor/bash-language-server/out/util/fs.d.ts +6 -0
- package/vendor/bash-language-server/out/util/fs.js +73 -0
- package/vendor/bash-language-server/out/util/fs.js.map +1 -0
- package/vendor/bash-language-server/out/util/logger.d.ts +35 -0
- package/vendor/bash-language-server/out/util/logger.js +105 -0
- package/vendor/bash-language-server/out/util/logger.js.map +1 -0
- package/vendor/bash-language-server/out/util/lsp.d.ts +5 -0
- package/vendor/bash-language-server/out/util/lsp.js +13 -0
- package/vendor/bash-language-server/out/util/lsp.js.map +1 -0
- package/vendor/bash-language-server/out/util/platform.d.ts +1 -0
- package/vendor/bash-language-server/out/util/platform.js +7 -0
- package/vendor/bash-language-server/out/util/platform.js.map +1 -0
- package/vendor/bash-language-server/out/util/sh.d.ts +16 -0
- package/vendor/bash-language-server/out/util/sh.js +132 -0
- package/vendor/bash-language-server/out/util/sh.js.map +1 -0
- package/vendor/bash-language-server/out/util/shebang.d.ts +10 -0
- package/vendor/bash-language-server/out/util/shebang.js +53 -0
- package/vendor/bash-language-server/out/util/shebang.js.map +1 -0
- package/vendor/bash-language-server/out/util/sourcing.d.ts +15 -0
- package/vendor/bash-language-server/out/util/sourcing.js +182 -0
- package/vendor/bash-language-server/out/util/sourcing.js.map +1 -0
- package/vendor/bash-language-server/out/util/tree-sitter.d.ts +22 -0
- package/vendor/bash-language-server/out/util/tree-sitter.js +110 -0
- package/vendor/bash-language-server/out/util/tree-sitter.js.map +1 -0
- package/vendor/bash-language-server/package.json +52 -0
- package/vendor/bash-language-server/parser.info +2 -0
- package/vendor/bash-language-server/tree-sitter-bash.wasm +0 -0
- package/dist/_internal/platform/runtime/contracts/index.d.ts +0 -40
- package/dist/_internal/platform/runtime/contracts/index.d.ts.map +0 -1
- package/dist/_internal/platform/runtime/contracts/index.js +0 -133
- package/dist/_internal/platform/runtime/contracts/migrations/index.d.ts +0 -75
- package/dist/_internal/platform/runtime/contracts/migrations/index.d.ts.map +0 -1
- package/dist/_internal/platform/runtime/contracts/migrations/index.js +0 -158
- package/dist/_internal/platform/runtime/contracts/migrations/schemas.d.ts +0 -57
- package/dist/_internal/platform/runtime/contracts/migrations/schemas.d.ts.map +0 -1
- package/dist/_internal/platform/runtime/contracts/migrations/schemas.js +0 -157
- package/dist/_internal/platform/runtime/contracts/types.d.ts +0 -123
- package/dist/_internal/platform/runtime/contracts/types.d.ts.map +0 -1
- package/dist/_internal/platform/runtime/contracts/types.js +0 -41
- package/dist/_internal/platform/runtime/contracts/validators/event-envelope.d.ts +0 -24
- package/dist/_internal/platform/runtime/contracts/validators/event-envelope.d.ts.map +0 -1
- package/dist/_internal/platform/runtime/contracts/validators/event-envelope.js +0 -104
- package/dist/_internal/platform/runtime/contracts/validators/index.d.ts +0 -11
- package/dist/_internal/platform/runtime/contracts/validators/index.d.ts.map +0 -1
- package/dist/_internal/platform/runtime/contracts/validators/index.js +0 -10
- package/dist/_internal/platform/runtime/contracts/validators/runtime-state.d.ts +0 -23
- package/dist/_internal/platform/runtime/contracts/validators/runtime-state.d.ts.map +0 -1
- package/dist/_internal/platform/runtime/contracts/validators/runtime-state.js +0 -101
- package/dist/_internal/platform/runtime/contracts/validators/session.d.ts +0 -24
- package/dist/_internal/platform/runtime/contracts/validators/session.d.ts.map +0 -1
- package/dist/_internal/platform/runtime/contracts/validators/session.js +0 -103
- package/dist/_internal/platform/runtime/contracts/version.d.ts +0 -84
- package/dist/_internal/platform/runtime/contracts/version.d.ts.map +0 -1
- package/dist/_internal/platform/runtime/contracts/version.js +0 -41
- package/scripts/postinstall-patch-minimatch.mjs +0 -285
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry-routes.d.ts","sourceRoot":"","sources":["../../../src/_internal/daemon/telemetry-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAyB,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"telemetry-routes.d.ts","sourceRoot":"","sources":["../../../src/_internal/daemon/telemetry-routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { buildMissingScopeBody } from './http-policy.js';
|
|
2
|
+
import { decodeOtlpProtobuf } from './otlp-protobuf.js';
|
|
2
3
|
import { DaemonErrorCategory } from '../errors/index.js';
|
|
3
4
|
function parseNumber(value) {
|
|
4
5
|
if (value === null || value.trim().length === 0)
|
|
@@ -45,10 +46,9 @@ function buildFilter(url) {
|
|
|
45
46
|
// ---------------------------------------------------------------------------
|
|
46
47
|
/** Max ingest payload (4 MiB) — reject larger bodies with 413 */
|
|
47
48
|
const OTLP_INGEST_MAX_BODY_BYTES = 4 * 1024 * 1024;
|
|
48
|
-
/** Accepted content-types for OTLP/HTTP
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
];
|
|
49
|
+
/** Accepted content-types for OTLP/HTTP ingest. */
|
|
50
|
+
const OTLP_JSON_CONTENT_TYPE = 'application/json';
|
|
51
|
+
const OTLP_PROTOBUF_CONTENT_TYPES = new Set(['application/x-protobuf', 'application/protobuf']);
|
|
52
52
|
const OTLP_PARTIAL_SUCCESS_KEYS = {
|
|
53
53
|
logs: 'partialSuccess',
|
|
54
54
|
traces: 'partialSuccess',
|
|
@@ -58,18 +58,19 @@ const OTLP_PARTIAL_SUCCESS_KEYS = {
|
|
|
58
58
|
* Validate and parse an OTLP HTTP ingest request body.
|
|
59
59
|
* Returns a parsed JSON Record on success, or a Response (error) on failure.
|
|
60
60
|
*
|
|
61
|
-
* Protocol: OTLP/HTTP spec §4.2 —
|
|
62
|
-
*
|
|
63
|
-
* for a future release.
|
|
61
|
+
* Protocol: OTLP/HTTP spec §4.2 — supports JSON and binary protobuf service
|
|
62
|
+
* requests for logs, traces, and metrics.
|
|
64
63
|
*/
|
|
65
|
-
async function parseOtlpBody(req) {
|
|
64
|
+
async function parseOtlpBody(req, kind) {
|
|
66
65
|
const contentType = (req.headers.get('content-type') ?? '').toLowerCase().split(';')[0].trim();
|
|
67
|
-
|
|
66
|
+
const acceptsJson = contentType === OTLP_JSON_CONTENT_TYPE;
|
|
67
|
+
const acceptsProtobuf = OTLP_PROTOBUF_CONTENT_TYPES.has(contentType);
|
|
68
|
+
if (!acceptsJson && !acceptsProtobuf) {
|
|
68
69
|
return Response.json({
|
|
69
70
|
error: `Unsupported Content-Type '${contentType}' for OTLP ingest`,
|
|
70
71
|
code: 'UNSUPPORTED_MEDIA_TYPE',
|
|
71
72
|
category: DaemonErrorCategory.BAD_REQUEST,
|
|
72
|
-
hint: `Use 'application/
|
|
73
|
+
hint: `Use '${OTLP_JSON_CONTENT_TYPE}' or 'application/x-protobuf'.`,
|
|
73
74
|
}, { status: 415 });
|
|
74
75
|
}
|
|
75
76
|
const raw = await req.arrayBuffer();
|
|
@@ -80,6 +81,14 @@ async function parseOtlpBody(req) {
|
|
|
80
81
|
category: DaemonErrorCategory.BAD_REQUEST,
|
|
81
82
|
}, { status: 413 });
|
|
82
83
|
}
|
|
84
|
+
if (acceptsProtobuf) {
|
|
85
|
+
try {
|
|
86
|
+
return decodeOtlpProtobuf(kind, new Uint8Array(raw));
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return Response.json({ error: 'OTLP ingest body is not valid protobuf', code: 'INVALID_PAYLOAD', category: DaemonErrorCategory.BAD_REQUEST }, { status: 400 });
|
|
90
|
+
}
|
|
91
|
+
}
|
|
83
92
|
try {
|
|
84
93
|
const text = new TextDecoder().decode(raw);
|
|
85
94
|
const parsed = JSON.parse(text);
|
|
@@ -289,7 +298,7 @@ export function createDaemonTelemetryRouteHandlers(context) {
|
|
|
289
298
|
if (!auth) {
|
|
290
299
|
return Response.json({ error: 'Authentication required for OTLP ingest', code: 'AUTH_REQUIRED', category: DaemonErrorCategory.AUTHENTICATION, status: 401 }, { status: 401 });
|
|
291
300
|
}
|
|
292
|
-
const bodyOrErr = await parseOtlpBody(req);
|
|
301
|
+
const bodyOrErr = await parseOtlpBody(req, 'logs');
|
|
293
302
|
if (bodyOrErr instanceof Response)
|
|
294
303
|
return bodyOrErr;
|
|
295
304
|
context.ingestSink?.ingestLogs(bodyOrErr);
|
|
@@ -300,7 +309,7 @@ export function createDaemonTelemetryRouteHandlers(context) {
|
|
|
300
309
|
if (!auth) {
|
|
301
310
|
return Response.json({ error: 'Authentication required for OTLP ingest', code: 'AUTH_REQUIRED', category: DaemonErrorCategory.AUTHENTICATION, status: 401 }, { status: 401 });
|
|
302
311
|
}
|
|
303
|
-
const bodyOrErr = await parseOtlpBody(req);
|
|
312
|
+
const bodyOrErr = await parseOtlpBody(req, 'traces');
|
|
304
313
|
if (bodyOrErr instanceof Response)
|
|
305
314
|
return bodyOrErr;
|
|
306
315
|
context.ingestSink?.ingestTraces(bodyOrErr);
|
|
@@ -311,7 +320,7 @@ export function createDaemonTelemetryRouteHandlers(context) {
|
|
|
311
320
|
if (!auth) {
|
|
312
321
|
return Response.json({ error: 'Authentication required for OTLP ingest', code: 'AUTH_REQUIRED', category: DaemonErrorCategory.AUTHENTICATION, status: 401 }, { status: 401 });
|
|
313
322
|
}
|
|
314
|
-
const bodyOrErr = await parseOtlpBody(req);
|
|
323
|
+
const bodyOrErr = await parseOtlpBody(req, 'metrics');
|
|
315
324
|
if (bodyOrErr instanceof Response)
|
|
316
325
|
return bodyOrErr;
|
|
317
326
|
context.ingestSink?.ingestMetrics(bodyOrErr);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/intelligence/lsp/service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,KAAK,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,oBAAoB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/intelligence/lsp/service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,KAAK,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,oBAAoB,CAAC,CAAC;AAiClF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjD;AAeD,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,OAAO,CAA2C;IAC1D,OAAO,CAAC,YAAY,CAAqD;IACzE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;gBAErB,KAAK,EAAE,QAAQ;IAI3B,sDAAsD;IACtD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IAI7D;;;OAGG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;YAuB5C,YAAY;IAuB1B;;;OAGG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBnD,kDAAkD;YACpC,iBAAiB;IAkB/B,gCAAgC;IAC1B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAO/B;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAyC5D;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAWlD"}
|
|
@@ -1,19 +1,30 @@
|
|
|
1
1
|
import { existsSync } from 'fs';
|
|
2
|
-
import { join } from 'path';
|
|
3
|
-
import { pathToFileURL } from 'url';
|
|
2
|
+
import { dirname, join, resolve } from 'path';
|
|
3
|
+
import { fileURLToPath, pathToFileURL } from 'url';
|
|
4
4
|
import { logger } from '../../utils/logger.js';
|
|
5
5
|
import { LspClient } from './client.js';
|
|
6
6
|
import { getBinaryPath, ensureBinary } from './binary-downloader.js';
|
|
7
7
|
import { summarizeError } from '../../utils/error-display.js';
|
|
8
|
+
const SDK_PACKAGE_ROOT = resolve(dirname(fileURLToPath(import.meta.url)), '../../../../..');
|
|
9
|
+
function bundledCommandPath(command, workingDirectory) {
|
|
10
|
+
const candidates = [
|
|
11
|
+
join(workingDirectory, 'node_modules', '.bin', command),
|
|
12
|
+
join(SDK_PACKAGE_ROOT, 'node_modules', '.bin', command),
|
|
13
|
+
];
|
|
14
|
+
for (const candidate of candidates) {
|
|
15
|
+
if (existsSync(candidate))
|
|
16
|
+
return candidate;
|
|
17
|
+
}
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
8
20
|
/**
|
|
9
21
|
* Resolve a server command: check node_modules/.bin/ first (bundled),
|
|
10
22
|
* then fall back to system PATH via Bun.which().
|
|
11
23
|
* Returns the resolved command path, or the original command if neither found.
|
|
12
24
|
*/
|
|
13
25
|
function resolveCommand(command, workingDirectory) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (existsSync(bundled))
|
|
26
|
+
const bundled = bundledCommandPath(command, workingDirectory);
|
|
27
|
+
if (bundled)
|
|
17
28
|
return bundled;
|
|
18
29
|
// Try .goodvibes/bin/ (downloaded binaries)
|
|
19
30
|
const downloaded = getBinaryPath(join(workingDirectory, '.goodvibes', 'bin'), command);
|
|
@@ -110,8 +121,7 @@ export class LspService {
|
|
|
110
121
|
if (!config)
|
|
111
122
|
return false;
|
|
112
123
|
// Check bundled first
|
|
113
|
-
|
|
114
|
-
if (existsSync(bundled))
|
|
124
|
+
if (bundledCommandPath(config.command, this.roots.workingDirectory))
|
|
115
125
|
return true;
|
|
116
126
|
// Check downloaded binaries
|
|
117
127
|
const downloaded = getBinaryPath(this.roots.resolveProjectPath('bin'), config.command);
|
|
@@ -160,8 +170,7 @@ export class LspService {
|
|
|
160
170
|
for (const { command, langIds, args } of WELL_KNOWN_SERVERS) {
|
|
161
171
|
let found = false;
|
|
162
172
|
// Check bundled first, then .goodvibes/bin/, then system PATH
|
|
163
|
-
|
|
164
|
-
if (existsSync(bundledPath)) {
|
|
173
|
+
if (bundledCommandPath(command, this.roots.workingDirectory)) {
|
|
165
174
|
found = true;
|
|
166
175
|
}
|
|
167
176
|
// Check .goodvibes/bin/ (downloaded binaries)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-vertex.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/providers/anthropic-vertex.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"anthropic-vertex.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/providers/anthropic-vertex.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAoMnE,qBAAa,uBAAwB,SAAQ,oBAAoB;;CAmChE"}
|
|
@@ -1,10 +1,143 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseAnthropic } from '@anthropic-ai/sdk/client';
|
|
2
|
+
import * as Resources from '@anthropic-ai/sdk/resources/index';
|
|
3
|
+
import { AuthClient, GoogleAuth } from 'google-auth-library';
|
|
2
4
|
import { AnthropicSdkProvider } from './anthropic-sdk-provider.js';
|
|
5
|
+
const DEFAULT_VERSION = 'vertex-2023-10-16';
|
|
6
|
+
const MODEL_ENDPOINTS = new Set(['/v1/messages', '/v1/messages?beta=true']);
|
|
3
7
|
const VERTEX_MODELS = [
|
|
4
8
|
'claude-sonnet-4-6',
|
|
5
9
|
'claude-opus-4-6',
|
|
6
10
|
'claude-haiku-4-5',
|
|
7
11
|
];
|
|
12
|
+
function readEnv(name) {
|
|
13
|
+
return process.env[name] ?? null;
|
|
14
|
+
}
|
|
15
|
+
function isRecord(value) {
|
|
16
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
17
|
+
}
|
|
18
|
+
function resolveVertexBaseUrl(region) {
|
|
19
|
+
if (region === 'global')
|
|
20
|
+
return 'https://aiplatform.googleapis.com/v1';
|
|
21
|
+
if (region === 'us')
|
|
22
|
+
return 'https://aiplatform.us.rep.googleapis.com/v1';
|
|
23
|
+
if (region === 'eu')
|
|
24
|
+
return 'https://aiplatform.eu.rep.googleapis.com/v1';
|
|
25
|
+
return `https://${region}-aiplatform.googleapis.com/v1`;
|
|
26
|
+
}
|
|
27
|
+
function mergeHeaders(authHeaders, existingHeaders) {
|
|
28
|
+
const merged = new Headers(authHeaders);
|
|
29
|
+
if (existingHeaders instanceof Headers) {
|
|
30
|
+
existingHeaders.forEach((value, key) => merged.set(key, value));
|
|
31
|
+
return merged;
|
|
32
|
+
}
|
|
33
|
+
if (Array.isArray(existingHeaders)) {
|
|
34
|
+
for (const entry of existingHeaders) {
|
|
35
|
+
if (Array.isArray(entry) && entry.length >= 2) {
|
|
36
|
+
const [key, value] = entry;
|
|
37
|
+
if (typeof key === 'string' && typeof value === 'string') {
|
|
38
|
+
merged.set(key, value);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return merged;
|
|
43
|
+
}
|
|
44
|
+
if (isRecord(existingHeaders)) {
|
|
45
|
+
for (const [key, value] of Object.entries(existingHeaders)) {
|
|
46
|
+
if (typeof value === 'string') {
|
|
47
|
+
merged.set(key, value);
|
|
48
|
+
}
|
|
49
|
+
else if (Array.isArray(value)) {
|
|
50
|
+
for (const item of value) {
|
|
51
|
+
if (typeof item === 'string')
|
|
52
|
+
merged.append(key, item);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return merged;
|
|
58
|
+
}
|
|
59
|
+
class AnthropicVertexClient extends BaseAnthropic {
|
|
60
|
+
messages;
|
|
61
|
+
beta;
|
|
62
|
+
region;
|
|
63
|
+
projectId;
|
|
64
|
+
authClientPromise;
|
|
65
|
+
constructor({ baseURL = readEnv('ANTHROPIC_VERTEX_BASE_URL'), region = readEnv('CLOUD_ML_REGION'), projectId = readEnv('ANTHROPIC_VERTEX_PROJECT_ID'), googleAuth, authClient, ...options } = {}) {
|
|
66
|
+
const resolvedRegion = region ?? 'global';
|
|
67
|
+
super({
|
|
68
|
+
baseURL: baseURL ?? resolveVertexBaseUrl(resolvedRegion),
|
|
69
|
+
...options,
|
|
70
|
+
});
|
|
71
|
+
if (authClient && googleAuth) {
|
|
72
|
+
throw new Error('Provide either authClient or googleAuth for Anthropic Vertex, not both.');
|
|
73
|
+
}
|
|
74
|
+
this.messages = makeMessagesResource(this);
|
|
75
|
+
this.beta = makeBetaResource(this);
|
|
76
|
+
this.region = resolvedRegion;
|
|
77
|
+
this.projectId = projectId;
|
|
78
|
+
this.authClientPromise = authClient
|
|
79
|
+
? Promise.resolve(authClient)
|
|
80
|
+
: (googleAuth ?? new GoogleAuth({ scopes: 'https://www.googleapis.com/auth/cloud-platform' })).getClient();
|
|
81
|
+
}
|
|
82
|
+
validateHeaders() {
|
|
83
|
+
// Vertex auth headers are resolved asynchronously in prepareOptions.
|
|
84
|
+
}
|
|
85
|
+
async prepareOptions(options) {
|
|
86
|
+
const authClient = await this.authClientPromise;
|
|
87
|
+
const authHeaders = await authClient.getRequestHeaders();
|
|
88
|
+
const credentialProjectId = authClient.projectId ?? authHeaders.get('x-goog-user-project');
|
|
89
|
+
if (!this.projectId && credentialProjectId) {
|
|
90
|
+
this.projectId = credentialProjectId;
|
|
91
|
+
}
|
|
92
|
+
options.headers = mergeHeaders(authHeaders, options.headers);
|
|
93
|
+
}
|
|
94
|
+
async buildRequest(options, context) {
|
|
95
|
+
if (isRecord(options.body)) {
|
|
96
|
+
options.body = { ...options.body };
|
|
97
|
+
}
|
|
98
|
+
if (isRecord(options.body) && !options.body['anthropic_version']) {
|
|
99
|
+
options.body['anthropic_version'] = DEFAULT_VERSION;
|
|
100
|
+
}
|
|
101
|
+
if (MODEL_ENDPOINTS.has(options.path) && options.method === 'post') {
|
|
102
|
+
if (!this.projectId) {
|
|
103
|
+
throw new Error('No projectId was given and it could not be resolved from credentials. '
|
|
104
|
+
+ 'Set ANTHROPIC_VERTEX_PROJECT_ID, GOOGLE_CLOUD_PROJECT, or GOOGLE_CLOUD_PROJECT_ID.');
|
|
105
|
+
}
|
|
106
|
+
if (!isRecord(options.body)) {
|
|
107
|
+
throw new Error('Expected request body to be an object for Vertex messages requests.');
|
|
108
|
+
}
|
|
109
|
+
const model = options.body['model'];
|
|
110
|
+
if (typeof model !== 'string' || model.length === 0) {
|
|
111
|
+
throw new Error('Expected request body to include a non-empty Vertex model string.');
|
|
112
|
+
}
|
|
113
|
+
options.body['model'] = undefined;
|
|
114
|
+
const stream = options.body['stream'] ?? false;
|
|
115
|
+
const specifier = stream ? 'streamRawPredict' : 'rawPredict';
|
|
116
|
+
options.path = `/projects/${this.projectId}/locations/${this.region}/publishers/anthropic/models/${model}:${specifier}`;
|
|
117
|
+
}
|
|
118
|
+
if (options.path === '/v1/messages/count_tokens'
|
|
119
|
+
|| (options.path === '/v1/messages/count_tokens?beta=true' && options.method === 'post')) {
|
|
120
|
+
if (!this.projectId) {
|
|
121
|
+
throw new Error('No projectId was given and it could not be resolved from credentials. '
|
|
122
|
+
+ 'Set ANTHROPIC_VERTEX_PROJECT_ID, GOOGLE_CLOUD_PROJECT, or GOOGLE_CLOUD_PROJECT_ID.');
|
|
123
|
+
}
|
|
124
|
+
options.path = `/projects/${this.projectId}/locations/${this.region}/publishers/anthropic/models/count-tokens:rawPredict`;
|
|
125
|
+
}
|
|
126
|
+
return super.buildRequest(options, context);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
function makeMessagesResource(client) {
|
|
130
|
+
const resource = new Resources.Messages(client);
|
|
131
|
+
// Vertex does not expose Anthropic message batches.
|
|
132
|
+
delete resource.batches;
|
|
133
|
+
return resource;
|
|
134
|
+
}
|
|
135
|
+
function makeBetaResource(client) {
|
|
136
|
+
const resource = new Resources.Beta(client);
|
|
137
|
+
// Vertex does not expose Anthropic beta message batches.
|
|
138
|
+
delete resource.messages.batches;
|
|
139
|
+
return resource;
|
|
140
|
+
}
|
|
8
141
|
function resolveVertexProjectId() {
|
|
9
142
|
return process.env['ANTHROPIC_VERTEX_PROJECT_ID']
|
|
10
143
|
?? process.env['GOOGLE_CLOUD_PROJECT']
|
|
@@ -23,7 +156,7 @@ export class AnthropicVertexProvider extends AnthropicSdkProvider {
|
|
|
23
156
|
label: 'Anthropic Vertex',
|
|
24
157
|
defaultModel: 'claude-sonnet-4-6',
|
|
25
158
|
models: VERTEX_MODELS,
|
|
26
|
-
createClient: () => new
|
|
159
|
+
createClient: () => new AnthropicVertexClient({
|
|
27
160
|
projectId: resolveVertexProjectId(),
|
|
28
161
|
region: process.env['GOOGLE_CLOUD_LOCATION'] ?? process.env['CLOUD_ML_REGION'] ?? 'global',
|
|
29
162
|
}),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readFileSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
-
let version = '0.25.
|
|
3
|
+
let version = '0.25.2';
|
|
4
4
|
try {
|
|
5
5
|
const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', '..', 'package.json'), 'utf-8'));
|
|
6
6
|
version = pkg.version ?? version;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/watchers/registry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAuB,MAAM,sCAAsC,CAAC;AAC5G,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAevE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAG3E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;CAC7D;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAC3C;AAwFD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqD;IAC5E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,GAAE,sBAA2B;IAKhD,OAAO,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/watchers/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -91,7 +91,10 @@ export class WatcherRegistry {
|
|
|
91
91
|
this.featureFlags = options.featureFlags ?? null;
|
|
92
92
|
}
|
|
93
93
|
isEnabled() {
|
|
94
|
-
|
|
94
|
+
const enabled = isFeatureGateEnabled(this.featureFlags, 'watcher-framework', ['managed-watcher-services']);
|
|
95
|
+
if (!enabled)
|
|
96
|
+
this.clearTimers();
|
|
97
|
+
return enabled;
|
|
95
98
|
}
|
|
96
99
|
requireEnabled(operation) {
|
|
97
100
|
requireFeatureGate(this.featureFlags, 'watcher-framework', operation, ['managed-watcher-services']);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pellux/goodvibes-sdk",
|
|
3
|
-
"version": "0.25.
|
|
3
|
+
"version": "0.25.2",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/mgd34msu/goodvibes-sdk.git"
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
"main": "./dist/index.js",
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@agentclientprotocol/sdk": "^0.16.1",
|
|
11
|
-
"@anthropic-ai/bedrock-sdk": "^0.
|
|
11
|
+
"@anthropic-ai/bedrock-sdk": "^0.29.0",
|
|
12
12
|
"@anthropic-ai/sdk": "^0.82.0",
|
|
13
|
-
"@anthropic-ai/vertex-sdk": "^0.16.0",
|
|
14
13
|
"@ast-grep/napi": "^0.42.0",
|
|
15
14
|
"@aws/bedrock-token-generator": "^1.1.0",
|
|
16
|
-
"bash-language-server": "
|
|
15
|
+
"bash-language-server": "file:vendor/bash-language-server",
|
|
17
16
|
"fuse.js": "^7.1.0",
|
|
17
|
+
"google-auth-library": "10.6.2",
|
|
18
18
|
"graphql": "^16.13.2",
|
|
19
19
|
"jszip": "^3.10.1",
|
|
20
20
|
"node-edge-tts": "^1.2.10",
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
"files": [
|
|
114
114
|
"dist",
|
|
115
115
|
"sbom.cdx.json",
|
|
116
|
-
"
|
|
116
|
+
"vendor/bash-language-server"
|
|
117
117
|
],
|
|
118
118
|
"homepage": "https://github.com/mgd34msu/goodvibes-sdk",
|
|
119
119
|
"keywords": [
|
|
@@ -146,9 +146,10 @@
|
|
|
146
146
|
}
|
|
147
147
|
},
|
|
148
148
|
"overrides": {
|
|
149
|
+
"ajv": "8.18.0",
|
|
150
|
+
"fast-xml-parser": "5.7.1",
|
|
151
|
+
"google-auth-library": "10.6.2",
|
|
152
|
+
"lodash": "4.18.1",
|
|
149
153
|
"minimatch": "^10.2.5"
|
|
150
|
-
},
|
|
151
|
-
"scripts": {
|
|
152
|
-
"postinstall": "node scripts/postinstall-patch-minimatch.mjs"
|
|
153
154
|
}
|
|
154
155
|
}
|