@open-macaron/review 0.3.2 → 0.3.4
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/macaron-review.mjs +77 -2
- package/package.json +1 -1
package/macaron-review.mjs
CHANGED
|
@@ -28913,6 +28913,15 @@ var Me = external_exports.object({
|
|
|
28913
28913
|
role: external_exports.enum(["user", "admin"]),
|
|
28914
28914
|
capabilities: external_exports.array(Capability)
|
|
28915
28915
|
});
|
|
28916
|
+
var MonthlyCapUsd = external_exports.number().positive("a cap is above $0").max(1e5).multipleOf(0.01, "whole cents").nullable();
|
|
28917
|
+
var SetMonthlyCap = external_exports.object({ monthlyCapUsd: MonthlyCapUsd });
|
|
28918
|
+
var MyMonth = external_exports.object({
|
|
28919
|
+
monthlyCapUsd: MonthlyCapUsd,
|
|
28920
|
+
/** Settled runs billed to this user's key. */
|
|
28921
|
+
spentUsd: external_exports.number().nonnegative(),
|
|
28922
|
+
/** The limits of their runs not settled yet, counted against the cap until they are. */
|
|
28923
|
+
reservedUsd: external_exports.number().nonnegative()
|
|
28924
|
+
});
|
|
28916
28925
|
var InvitationStatus = external_exports.enum(["pending", "accepted", "revoked", "expired"]);
|
|
28917
28926
|
var Invitation = external_exports.object({
|
|
28918
28927
|
id: external_exports.uuid(),
|
|
@@ -28964,6 +28973,68 @@ var UsageQuery = external_exports.object({
|
|
|
28964
28973
|
before: external_exports.string().optional(),
|
|
28965
28974
|
limit: external_exports.coerce.number().int().min(1).max(100).default(25)
|
|
28966
28975
|
});
|
|
28976
|
+
var Endpoint = external_exports.object({
|
|
28977
|
+
id: external_exports.uuid(),
|
|
28978
|
+
name: external_exports.string(),
|
|
28979
|
+
baseUrl: external_exports.url(),
|
|
28980
|
+
enabled: external_exports.boolean(),
|
|
28981
|
+
pricingNote: external_exports.string().nullable(),
|
|
28982
|
+
/** Null for the deployment's defaults (LLM_ENDPOINT_DEFAULTS). */
|
|
28983
|
+
createdBy: GitHubLogin.nullable(),
|
|
28984
|
+
createdAt: Timestamp
|
|
28985
|
+
});
|
|
28986
|
+
var Endpoints = external_exports.object({ endpoints: external_exports.array(Endpoint) });
|
|
28987
|
+
var EndpointBaseUrl = external_exports.url({ protocol: /^https$/, error: "an https:// URL" }).refine((value) => {
|
|
28988
|
+
const url2 = URL.parse(value);
|
|
28989
|
+
return url2 === null || url2.username === "" && url2.password === "" && url2.search === "" && url2.hash === "";
|
|
28990
|
+
}, "no credentials, query or fragment in the URL").transform((value) => value.replace(/\/+$/, ""));
|
|
28991
|
+
var CreateEndpoint = external_exports.object({
|
|
28992
|
+
name: external_exports.string().trim().min(2).max(60),
|
|
28993
|
+
baseUrl: EndpointBaseUrl,
|
|
28994
|
+
pricingNote: external_exports.string().trim().max(280).nullish().transform((note) => note === void 0 || note === null || note === "" ? null : note)
|
|
28995
|
+
});
|
|
28996
|
+
var SetEndpointEnabled = external_exports.object({ enabled: external_exports.boolean() });
|
|
28997
|
+
var EndpointChoice = Endpoint.pick({ id: true, name: true, baseUrl: true, pricingNote: true });
|
|
28998
|
+
var LlmKeyStatus = external_exports.enum(["valid", "rejected"]);
|
|
28999
|
+
var LlmKey = external_exports.object({
|
|
29000
|
+
endpoint: Endpoint.pick({ id: true, name: true, baseUrl: true, pricingNote: true, enabled: true }),
|
|
29001
|
+
last4: external_exports.string(),
|
|
29002
|
+
/** `rejected` once the endpoint refused it during a run: save it again, or another. */
|
|
29003
|
+
status: LlmKeyStatus,
|
|
29004
|
+
validatedAt: Timestamp,
|
|
29005
|
+
createdAt: Timestamp,
|
|
29006
|
+
updatedAt: Timestamp
|
|
29007
|
+
});
|
|
29008
|
+
var MyLlmKey = external_exports.object({
|
|
29009
|
+
key: LlmKey.nullable(),
|
|
29010
|
+
/** The enabled endpoints a key may be saved for. */
|
|
29011
|
+
endpoints: external_exports.array(EndpointChoice),
|
|
29012
|
+
/** False when this deployment can't store keys (no key-encryption key): saving is refused. */
|
|
29013
|
+
storage: external_exports.boolean(),
|
|
29014
|
+
/** Until when this session may save or delete a key; sign in again after. */
|
|
29015
|
+
freshUntil: Timestamp
|
|
29016
|
+
});
|
|
29017
|
+
var SaveLlmKey = external_exports.object({
|
|
29018
|
+
endpointId: external_exports.uuid(),
|
|
29019
|
+
key: external_exports.string().trim().min(8, "too short for an API key").max(1024, "too long for an API key").regex(/^[\x21-\x7e]+$/, "printable characters only, without spaces")
|
|
29020
|
+
});
|
|
29021
|
+
var SavedLlmKey = external_exports.object({
|
|
29022
|
+
key: LlmKey,
|
|
29023
|
+
/** Models the configuration uses that the endpoint didn't list: runs needing them would fail. */
|
|
29024
|
+
missingModels: external_exports.array(external_exports.string())
|
|
29025
|
+
});
|
|
29026
|
+
var LlmKeyEventKind = external_exports.enum(["created", "replaced", "deleted", "used", "rejected", "unreachable"]);
|
|
29027
|
+
var LlmKeyEvent = external_exports.object({
|
|
29028
|
+
id: external_exports.uuid(),
|
|
29029
|
+
kind: LlmKeyEventKind,
|
|
29030
|
+
at: Timestamp,
|
|
29031
|
+
endpointName: external_exports.string().nullable(),
|
|
29032
|
+
last4: external_exports.string().nullable(),
|
|
29033
|
+
/** The thread of the run that used the key, for `used` and `rejected` during a run. */
|
|
29034
|
+
thread: external_exports.object({ repo: external_exports.string(), number: external_exports.int().positive(), kind: external_exports.enum(["issue", "pull"]) }).nullable(),
|
|
29035
|
+
detail: external_exports.string().nullable()
|
|
29036
|
+
});
|
|
29037
|
+
var LlmKeyEvents = external_exports.object({ events: external_exports.array(LlmKeyEvent), nextCursor: external_exports.string().nullable() });
|
|
28967
29038
|
|
|
28968
29039
|
// ../contracts/src/auth-fields.ts
|
|
28969
29040
|
var AUTH_COOKIE_PREFIX = "macaron";
|
|
@@ -29494,7 +29565,12 @@ var GlobalFile = external_exports.strictObject({
|
|
|
29494
29565
|
var ProjectFile = external_exports.strictObject({
|
|
29495
29566
|
project: Slug,
|
|
29496
29567
|
owners: external_exports.string().regex(/^@[A-Za-z0-9-]+\/[A-Za-z0-9-]+$/),
|
|
29497
|
-
|
|
29568
|
+
/**
|
|
29569
|
+
* Deprecated and ignored: who may trigger the bot is an account of the web app (invited, with its
|
|
29570
|
+
* capabilities). Still accepted so open-macaron/config's files parse until it drops them.
|
|
29571
|
+
*/
|
|
29572
|
+
users: external_exports.array(GitHubLogin).optional(),
|
|
29573
|
+
/** Review bots whose comments on the bot's pull requests count, for review loops only. */
|
|
29498
29574
|
bots: external_exports.array(GitHubLogin).default([]),
|
|
29499
29575
|
budget: external_exports.strictObject({ monthUsd: Usd }),
|
|
29500
29576
|
concurrency: external_exports.int().min(1).max(50),
|
|
@@ -29506,7 +29582,6 @@ var RepoConfig = RepoSettings.extend({
|
|
|
29506
29582
|
repo: RepoSlug,
|
|
29507
29583
|
fork: ForkName,
|
|
29508
29584
|
project: Slug,
|
|
29509
|
-
users: external_exports.array(GitHubLogin),
|
|
29510
29585
|
bots: external_exports.array(GitHubLogin)
|
|
29511
29586
|
});
|
|
29512
29587
|
var mergeSettings = deepmergeCustom({ mergeArrays: false });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-macaron/review",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"description": "macaron-bot's review engine: open-macaron/knowledge rules selected by changed files, checked by an agent in a read-only session, evidence verified. Used by the bot and, as the macaron-review CLI, locally.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|