@assemblyline-agents/node 3.3.0 → 4.0.1
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/adapters.d.ts +2 -1
- package/dist/adapters.d.ts.map +1 -1
- package/dist/adapters.js +11 -1
- package/dist/adapters.js.map +1 -1
- package/dist/index.d.ts +2 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -15
- package/dist/index.js.map +1 -1
- package/dist/model-auth.d.ts +20 -0
- package/dist/model-auth.d.ts.map +1 -0
- package/dist/model-auth.js +116 -0
- package/dist/model-auth.js.map +1 -0
- package/package.json +11 -11
package/dist/adapters.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type BlobAdapter, type ConnectionAuthorizationSessionStore, type ConnectionDefinitionStore, type ConnectionGrantStore, type ConnectionEventStore, type AssemblyLineRuntime, type RunTimeline, type RunTimelinePage, type RunTimelinePageQuery, type RuntimeOptions, type SandboxAdapter, type ScheduleStore, type SkillStore, type LearningStore, type MediaProcessor, type StateAdapter } from "@assemblyline-agents/runtime";
|
|
1
|
+
import { type BlobAdapter, type ConnectionAuthorizationSessionStore, type ConnectionDefinitionStore, type ConnectionGrantStore, type ConnectionEventStore, type AssemblyLineRuntime, type RunTimeline, type RunTimelinePage, type RunTimelinePageQuery, type RuntimeOptions, type SandboxAdapter, type ScheduleStore, type SkillStore, type LearningStore, type MediaProcessor, type ModelCredentialStore, type StateAdapter } from "@assemblyline-agents/runtime";
|
|
2
2
|
import { type ProviderResolution } from "./provider-resolver.js";
|
|
3
3
|
export declare function loadRunTimeline(runtime: AssemblyLineRuntime, runId: string): Promise<RunTimeline | undefined>;
|
|
4
4
|
export declare function loadRunTimelinePage(runtime: AssemblyLineRuntime, runId: string, query: RunTimelinePageQuery): Promise<RunTimelinePage | undefined>;
|
|
@@ -7,6 +7,7 @@ export declare function createConnectionStores(_options: RuntimeOptions, artifac
|
|
|
7
7
|
authorizationSessionStore: ConnectionAuthorizationSessionStore;
|
|
8
8
|
eventStore: ConnectionEventStore;
|
|
9
9
|
};
|
|
10
|
+
export declare function createModelCredentialStore(options: RuntimeOptions, artifactRoot: string, env: NodeJS.ProcessEnv, state: StateAdapter, devMode: boolean): ModelCredentialStore;
|
|
10
11
|
export declare function createSelfImprovementStores(artifactRoot: string, env: NodeJS.ProcessEnv, state: StateAdapter): {
|
|
11
12
|
skillStore: SkillStore;
|
|
12
13
|
learningStore: LearningStore;
|
package/dist/adapters.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAEA,OAAO,EAYL,KAAK,WAAW,EAChB,KAAK,mCAAmC,EACxC,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAExB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAElB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAKlF,wBAAsB,eAAe,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAOnH;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAEtC;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,OAAO,GACf;IACD,UAAU,EAAE,oBAAoB,CAAC;IACjC,yBAAyB,EAAE,mCAAmC,CAAC;IAC/D,UAAU,EAAE,oBAAoB,CAAC;CAClC,CAoBA;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,OAAO,GACf,oBAAoB,CAQtB;AAkBD,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,KAAK,EAAE,YAAY,GAClB;IACD,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,yBAAyB,EAAE,yBAAyB,CAAC;CACtD,CAmBA;AAqBD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,kBAAkB,CAQ5H;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAMrI;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAMnI;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,cAAc,EAAE,CAAC,CAI3B;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CASzI"}
|
package/dist/adapters.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
2
|
import { adapter } from "@assemblyline-agents/core";
|
|
3
|
-
import { FileConnectionDefinitionStore, FileScheduleStore, FileSkillStore, FileLearningStore, FileStateAdapter, FileConnectionAuthorizationSessionStore, FileConnectionGrantStore, FileConnectionEventStore, LocalBlobAdapter, LocalSandboxAdapter, queryRunTimelinePage } from "@assemblyline-agents/runtime";
|
|
3
|
+
import { FileConnectionDefinitionStore, FileScheduleStore, FileSkillStore, FileLearningStore, FileStateAdapter, FileConnectionAuthorizationSessionStore, FileConnectionGrantStore, FileConnectionEventStore, FileModelCredentialStore, LocalBlobAdapter, LocalSandboxAdapter, queryRunTimelinePage, durableAgentScopeForManifest } from "@assemblyline-agents/runtime";
|
|
4
4
|
import { resolveProvider } from "./provider-resolver.js";
|
|
5
5
|
const LOCAL_DEV_CONNECTION_STORE_SECRET = "assembly-line-local-dev-connection-secret";
|
|
6
6
|
const MIN_PRODUCTION_CONNECTION_STORE_SECRET_LENGTH = 32;
|
|
@@ -32,6 +32,12 @@ export function createConnectionStores(_options, artifactRoot, env, state, devMo
|
|
|
32
32
|
eventStore: new FileConnectionEventStore(env.ASSEMBLY_LINE_CONNECTION_EVENTS_FILE ?? join(artifactRoot, "connection-events.enc.json"), secret)
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
|
+
export function createModelCredentialStore(options, artifactRoot, env, state, devMode) {
|
|
36
|
+
if (isModelCredentialStoreProvider(state)) {
|
|
37
|
+
return state.modelCredentialStore(durableAgentScopeForManifest(options.manifest));
|
|
38
|
+
}
|
|
39
|
+
return new FileModelCredentialStore(env.ASSEMBLY_LINE_MODEL_CREDENTIALS_FILE ?? join(artifactRoot, "model-credentials.enc.json"), resolveConnectionStoreSecret(env, devMode));
|
|
40
|
+
}
|
|
35
41
|
function resolveConnectionStoreSecret(env, devMode) {
|
|
36
42
|
const rawSecret = env.ASSEMBLY_LINE_CONNECTION_STORE_SECRET ?? env.ASSEMBLY_LINE_SECRET;
|
|
37
43
|
const secret = rawSecret?.trim();
|
|
@@ -69,6 +75,10 @@ function isConnectionAuthorizationSessionStore(value) {
|
|
|
69
75
|
function isConnectionEventStore(value) {
|
|
70
76
|
return Boolean(value && typeof value === "object" && "getRegistrationByBinding" in value && "enqueueEvent" in value && "leaseEvents" in value);
|
|
71
77
|
}
|
|
78
|
+
function isModelCredentialStoreProvider(value) {
|
|
79
|
+
return Boolean(value && typeof value === "object" && "modelCredentialStore" in value &&
|
|
80
|
+
typeof value.modelCredentialStore === "function");
|
|
81
|
+
}
|
|
72
82
|
export function providerResolution(options, artifactRoot, env) {
|
|
73
83
|
return {
|
|
74
84
|
env,
|
package/dist/adapters.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EACL,6BAA6B,EAC7B,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,uCAAuC,EACvC,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,mBAAmB,EAOnB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ import { type RuntimeAuthPolicy } from "./auth.js";
|
|
|
5
5
|
import { type IngressRateLimitPolicy } from "./rate-limit.js";
|
|
6
6
|
import { type NodeRuntimeHandle } from "./lifecycle.js";
|
|
7
7
|
export { resolveProvider, type ProviderResolution } from "./provider-resolver.js";
|
|
8
|
+
export { createModelCredentialStore } from "./adapters.js";
|
|
9
|
+
export { runModelProviderAuth, type ModelProviderAuthOptions, type ModelProviderAuthStatus } from "./model-auth.js";
|
|
8
10
|
export { resolveSecretsEnv, resolveSecretsOverlay, type ResolveSecretsEnvOptions, type SecretsOverlay } from "./secrets.js";
|
|
9
11
|
export { createMemoryRateLimiterStore, parseRateLimitSpec, resolveIngressRateLimit, type IngressRateLimitClass, type IngressRateLimitPolicy, type IngressRateLimitRequest, type RateLimitDecision, type RateLimitTakeOptions, type RateLimiterStore, type ResolvedIngressRateLimit } from "./rate-limit.js";
|
|
10
12
|
export { createNodeRuntimeHandle, installSignalHandlers, type NodeRuntimeHandle, type NodeRuntimeHandleInput, type NodeRuntimeShutdownOptions, type RuntimeDrainState, type SignalHandlerOptions } from "./lifecycle.js";
|
|
@@ -40,10 +42,6 @@ export interface ProductionRuntimeOptions {
|
|
|
40
42
|
devMode?: boolean;
|
|
41
43
|
}
|
|
42
44
|
export declare function nodeAdapter(options?: JsonObject): NodeAdapter;
|
|
43
|
-
/** Install Node-hosted model harnesses without changing Pi's provider defaults. */
|
|
44
|
-
export declare function withNodeModelHarnesses<T extends RuntimeOptions>(options: T): T & {
|
|
45
|
-
modelHarnesses: NonNullable<RuntimeOptions["modelHarnesses"]>;
|
|
46
|
-
};
|
|
47
45
|
export declare function createProductionRuntimeOptions(options: ProductionRuntimeOptions): Promise<RuntimeOptions>;
|
|
48
46
|
export declare function createNodeRuntimeServer(options: NodeRuntimeServerOptions): Server;
|
|
49
47
|
export declare function listenNodeRuntime(options: NodeRuntimeServerOptions): Promise<NodeRuntimeHandle>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,EAGL,KAAK,iBAAiB,EAItB,KAAK,UAAU,EAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mBAAmB,EAQnB,KAAK,cAAc,EACpB,MAAM,8BAA8B,CAAC;AAkBtC,OAAO,EAUL,KAAK,iBAAiB,EACvB,MAAM,WAAW,CAAC;AAsBnB,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,KAAK,iBAAiB,EAEvB,MAAM,gBAAgB,CAAC;AAgBxB,OAAO,EAAE,eAAe,EAAE,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EACL,oBAAoB,EACpB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC7B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,KAAK,wBAAwB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5H,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC9B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,WAAY,SAAQ,iBAAiB;IACpD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gHAAgH;IAChH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,SAAS,CAAC,EAAE,sBAAsB,GAAG,KAAK,CAAC;IAC3C;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,OAAO,GAAE,UAAe,GAAG,WAAW,CAMjE;AAED,wBAAsB,8BAA8B,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC,CAyC/G;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAKjF;AA0zBD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA2DrG"}
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { createServer } from "node:http";
|
|
2
2
|
import { resolve } from "node:path";
|
|
3
|
-
import { codexAgentHarness } from "@assemblyline-agents/codex";
|
|
4
3
|
import { adapter, ConnectionEventError } from "@assemblyline-agents/core";
|
|
5
4
|
import { AssemblyLineRuntime, RunReplayError, RunCapacityError, durableAgentScopeForManifest, loadRuntimeBundle, queryAgentRuns, retryAfterSeconds, validateEvalRunOptions } from "@assemblyline-agents/runtime";
|
|
6
5
|
import { deleteMemoryAdmin, listMemoryAdmin, parseMemoryAdminRoute, readMemoryAdmin } from "./memory-admin-http.js";
|
|
7
|
-
import { createBlobAdapter, createConnectionStores, createMediaProcessors, createSandboxAdapter, createSelfImprovementStores, createStateAdapter, loadRunTimeline, loadRunTimelinePage } from "./adapters.js";
|
|
6
|
+
import { createBlobAdapter, createConnectionStores, createMediaProcessors, createModelCredentialStore, createSandboxAdapter, createSelfImprovementStores, createStateAdapter, loadRunTimeline, loadRunTimelinePage } from "./adapters.js";
|
|
8
7
|
import { apiRunCreationEnabled, evalRunsEnabled, authorizeOrSend, logHttpRequest, numberBodyValue, numberQueryValue, rateLimitOrSend, stringBodyValue, validateRuntimeHttpSecurity } from "./auth.js";
|
|
9
8
|
import { HttpRequestError, firstHeaderValue, maxRequestBodyBytes, normalizeHeaders, readBody, send, summarizeRun } from "./http-io.js";
|
|
10
9
|
import { serveRunEventStream, serveStreamingRun } from "./run-stream-http.js";
|
|
@@ -17,6 +16,8 @@ import { DIRECT_CHANNEL, conversationBelongsToAgent, decodeConversationCursor, d
|
|
|
17
16
|
import { usageHttpResult, usageReconciliationHttpResult } from "./usage-http.js";
|
|
18
17
|
import { isWorkspaceAdminPath, workspaceAdminHttpResult } from "./workspace-admin-http.js";
|
|
19
18
|
export { resolveProvider } from "./provider-resolver.js";
|
|
19
|
+
export { createModelCredentialStore } from "./adapters.js";
|
|
20
|
+
export { runModelProviderAuth } from "./model-auth.js";
|
|
20
21
|
export { resolveSecretsEnv, resolveSecretsOverlay } from "./secrets.js";
|
|
21
22
|
export { createMemoryRateLimiterStore, parseRateLimitSpec, resolveIngressRateLimit } from "./rate-limit.js";
|
|
22
23
|
export { createNodeRuntimeHandle, installSignalHandlers } from "./lifecycle.js";
|
|
@@ -27,16 +28,6 @@ export function nodeAdapter(options = {}) {
|
|
|
27
28
|
capabilities: ["http-runtime", "hosted-container-runtime", "local-server"]
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
|
-
/** Install Node-hosted model harnesses without changing Pi's provider defaults. */
|
|
31
|
-
export function withNodeModelHarnesses(options) {
|
|
32
|
-
return {
|
|
33
|
-
...options,
|
|
34
|
-
modelHarnesses: {
|
|
35
|
-
"openai-codex": codexAgentHarness(),
|
|
36
|
-
...(options.modelHarnesses ?? {})
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
31
|
export async function createProductionRuntimeOptions(options) {
|
|
41
32
|
const artifactRoot = resolve(options.artifactRoot);
|
|
42
33
|
const runtimeOptions = loadRuntimeBundle(artifactRoot);
|
|
@@ -51,6 +42,7 @@ export async function createProductionRuntimeOptions(options) {
|
|
|
51
42
|
const blob = await createBlobAdapter(runtimeOptions, artifactRoot, env);
|
|
52
43
|
const mediaProcessors = await createMediaProcessors(runtimeOptions, artifactRoot, env);
|
|
53
44
|
const connectionStores = createConnectionStores(runtimeOptions, artifactRoot, env, state, options.devMode ?? false);
|
|
45
|
+
const modelCredentialStore = createModelCredentialStore(runtimeOptions, artifactRoot, env, state, options.devMode ?? false);
|
|
54
46
|
const selfImprovementStores = createSelfImprovementStores(artifactRoot, env, state);
|
|
55
47
|
const sandbox = await createSandboxAdapter(runtimeOptions, artifactRoot, env);
|
|
56
48
|
const out = {
|
|
@@ -62,6 +54,7 @@ export async function createProductionRuntimeOptions(options) {
|
|
|
62
54
|
connectionGrantStore: connectionStores.grantStore,
|
|
63
55
|
connectionAuthorizationSessionStore: connectionStores.authorizationSessionStore,
|
|
64
56
|
connectionEventStore: connectionStores.eventStore,
|
|
57
|
+
modelCredentialStore,
|
|
65
58
|
skillStore: selfImprovementStores.skillStore,
|
|
66
59
|
learningStore: selfImprovementStores.learningStore,
|
|
67
60
|
scheduleStore: selfImprovementStores.scheduleStore,
|
|
@@ -76,10 +69,10 @@ export async function createProductionRuntimeOptions(options) {
|
|
|
76
69
|
if (!(options.devMode ?? false) && env.ASSEMBLY_LINE_MAX_CONCURRENT_RUNS === undefined) {
|
|
77
70
|
out.maxConcurrentRuns = 16;
|
|
78
71
|
}
|
|
79
|
-
return
|
|
72
|
+
return out;
|
|
80
73
|
}
|
|
81
74
|
export function createNodeRuntimeServer(options) {
|
|
82
|
-
const runtime = options.runtime ?? new AssemblyLineRuntime(
|
|
75
|
+
const runtime = options.runtime ?? new AssemblyLineRuntime(options);
|
|
83
76
|
runtime.boot();
|
|
84
77
|
validateRuntimeHttpSecurity(runtime, options);
|
|
85
78
|
return createNodeRuntimeServerForRuntime(runtime, options);
|
|
@@ -967,7 +960,7 @@ function createNodeRuntimeServerForRuntime(runtime, options, drain = { draining:
|
|
|
967
960
|
});
|
|
968
961
|
}
|
|
969
962
|
export async function listenNodeRuntime(options) {
|
|
970
|
-
const runtime = new AssemblyLineRuntime(
|
|
963
|
+
const runtime = new AssemblyLineRuntime(options);
|
|
971
964
|
runtime.boot();
|
|
972
965
|
validateRuntimeHttpSecurity(runtime, options);
|
|
973
966
|
const drain = { draining: false };
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Readable, Writable } from "node:stream";
|
|
2
|
+
export interface ModelProviderAuthStatus {
|
|
3
|
+
provider: string;
|
|
4
|
+
ready: boolean;
|
|
5
|
+
authName: string | null;
|
|
6
|
+
credentialType: "oauth" | "api_key" | null;
|
|
7
|
+
expiresAt: number | null;
|
|
8
|
+
}
|
|
9
|
+
export interface ModelProviderAuthOptions {
|
|
10
|
+
artifactRoot: string;
|
|
11
|
+
providerId: string;
|
|
12
|
+
action: "login" | "status" | "logout";
|
|
13
|
+
loginMethod?: string;
|
|
14
|
+
env?: NodeJS.ProcessEnv;
|
|
15
|
+
input?: Readable;
|
|
16
|
+
output?: Writable;
|
|
17
|
+
}
|
|
18
|
+
/** Run provider-owned login against the same durable store used by the runtime. */
|
|
19
|
+
export declare function runModelProviderAuth(options: ModelProviderAuthOptions): Promise<ModelProviderAuthStatus>;
|
|
20
|
+
//# sourceMappingURL=model-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-auth.d.ts","sourceRoot":"","sources":["../src/model-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOtD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB;AAED,mFAAmF;AACnF,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAwD9G"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { createInterface } from "node:readline/promises";
|
|
2
|
+
import { createPiModels } from "@assemblyline-agents/pi";
|
|
3
|
+
import { loadRuntimeBundle } from "@assemblyline-agents/runtime";
|
|
4
|
+
import { createModelCredentialStore, createStateAdapter } from "./adapters.js";
|
|
5
|
+
import { resolveSecretsEnv } from "./secrets.js";
|
|
6
|
+
/** Run provider-owned login against the same durable store used by the runtime. */
|
|
7
|
+
export async function runModelProviderAuth(options) {
|
|
8
|
+
if (!["login", "status", "logout"].includes(options.action)) {
|
|
9
|
+
throw new Error(`Unknown model authentication action: ${String(options.action)}.`);
|
|
10
|
+
}
|
|
11
|
+
const envInput = options.env ?? process.env;
|
|
12
|
+
const bundle = loadRuntimeBundle(options.artifactRoot);
|
|
13
|
+
const env = await resolveSecretsEnv({
|
|
14
|
+
manifest: bundle.manifest,
|
|
15
|
+
env: envInput,
|
|
16
|
+
artifactRoot: options.artifactRoot,
|
|
17
|
+
devMode: envInput.NODE_ENV !== "production"
|
|
18
|
+
});
|
|
19
|
+
const state = await createStateAdapter(bundle, options.artifactRoot, env);
|
|
20
|
+
try {
|
|
21
|
+
await state.migrate?.();
|
|
22
|
+
const store = createModelCredentialStore(bundle, options.artifactRoot, env, state, envInput.NODE_ENV !== "production");
|
|
23
|
+
const models = await createPiModels(env, globalThis.fetch, store);
|
|
24
|
+
const provider = models.getProvider(options.providerId);
|
|
25
|
+
if (!provider)
|
|
26
|
+
throw new Error(`Unknown model provider: ${options.providerId}.`);
|
|
27
|
+
const auth = provider.auth.oauth ?? provider.auth.apiKey;
|
|
28
|
+
if (!auth)
|
|
29
|
+
throw new Error(`Model provider ${options.providerId} does not support interactive authentication.`);
|
|
30
|
+
if (options.action === "logout") {
|
|
31
|
+
await store.delete(options.providerId);
|
|
32
|
+
return statusFor(options.providerId, auth.name, undefined);
|
|
33
|
+
}
|
|
34
|
+
if (options.action === "login") {
|
|
35
|
+
if (!("login" in auth) || !auth.login) {
|
|
36
|
+
throw new Error(`Model provider ${options.providerId} does not support interactive authentication.`);
|
|
37
|
+
}
|
|
38
|
+
const credential = await auth.login(loginCallbacks(options));
|
|
39
|
+
await store.modify(options.providerId, async () => credential);
|
|
40
|
+
}
|
|
41
|
+
let credential = await store.read(options.providerId);
|
|
42
|
+
if (credential) {
|
|
43
|
+
const model = models.getModels(options.providerId)[0];
|
|
44
|
+
if (model) {
|
|
45
|
+
try {
|
|
46
|
+
const resolved = await models.getAuth(model);
|
|
47
|
+
if (!resolved)
|
|
48
|
+
return statusFor(options.providerId, auth.name, undefined);
|
|
49
|
+
credential = await store.read(options.providerId);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return statusFor(options.providerId, auth.name, undefined);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return statusFor(options.providerId, auth.name, credential);
|
|
57
|
+
}
|
|
58
|
+
finally {
|
|
59
|
+
await state.close?.();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
function loginCallbacks(options) {
|
|
63
|
+
const input = options.input ?? process.stdin;
|
|
64
|
+
const output = options.output ?? process.stdout;
|
|
65
|
+
return {
|
|
66
|
+
async prompt(prompt) {
|
|
67
|
+
if (prompt.signal?.aborted)
|
|
68
|
+
throw new Error("Login cancelled.");
|
|
69
|
+
if (prompt.type === "select" && options.loginMethod &&
|
|
70
|
+
prompt.options.some((option) => option.id === options.loginMethod)) {
|
|
71
|
+
return options.loginMethod;
|
|
72
|
+
}
|
|
73
|
+
const readline = createInterface({ input, output });
|
|
74
|
+
try {
|
|
75
|
+
if (prompt.type === "select") {
|
|
76
|
+
output.write(`${prompt.message}\n`);
|
|
77
|
+
prompt.options.forEach((option, index) => output.write(` ${index + 1}. ${option.label}${option.description ? ` — ${option.description}` : ""}\n`));
|
|
78
|
+
const answer = await readline.question("> ", { signal: prompt.signal });
|
|
79
|
+
const index = Number(answer) - 1;
|
|
80
|
+
return prompt.options[index]?.id ?? answer.trim();
|
|
81
|
+
}
|
|
82
|
+
return readline.question(`${prompt.message} `, { signal: prompt.signal });
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
readline.close();
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
notify(event) {
|
|
89
|
+
notifyAuthEvent(output, event);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
function notifyAuthEvent(output, event) {
|
|
94
|
+
if (event.type === "device_code") {
|
|
95
|
+
output.write(`Open ${event.verificationUri} and enter code ${event.userCode}.\n`);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (event.type === "auth_url") {
|
|
99
|
+
output.write(`Open ${event.url}\n${event.instructions ? `${event.instructions}\n` : ""}`);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
output.write(`${event.message}\n`);
|
|
103
|
+
}
|
|
104
|
+
function statusFor(provider, authName, credential) {
|
|
105
|
+
const credentialType = credential?.type === "oauth" || credential?.type === "api_key"
|
|
106
|
+
? credential.type
|
|
107
|
+
: null;
|
|
108
|
+
return {
|
|
109
|
+
provider,
|
|
110
|
+
ready: credentialType !== null,
|
|
111
|
+
authName,
|
|
112
|
+
credentialType,
|
|
113
|
+
expiresAt: typeof credential?.expires === "number" ? credential.expires : null
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=model-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-auth.js","sourceRoot":"","sources":["../src/model-auth.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@assemblyline-agents/node",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@assemblyline-agents/
|
|
13
|
-
"@assemblyline-agents/
|
|
14
|
-
"@assemblyline-agents/runtime": "
|
|
12
|
+
"@assemblyline-agents/core": "4.0.1",
|
|
13
|
+
"@assemblyline-agents/pi": "4.0.1",
|
|
14
|
+
"@assemblyline-agents/runtime": "4.0.1"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
17
|
"@assemblyline-agents/daytona": "*",
|
|
@@ -80,13 +80,13 @@
|
|
|
80
80
|
"access": "public"
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
|
-
"@assemblyline-agents/daytona": "
|
|
84
|
-
"@assemblyline-agents/docker": "
|
|
85
|
-
"@assemblyline-agents/e2b": "
|
|
86
|
-
"@assemblyline-agents/
|
|
87
|
-
"@assemblyline-agents/modal": "
|
|
88
|
-
"@assemblyline-agents/
|
|
89
|
-
"@assemblyline-agents/s3": "
|
|
83
|
+
"@assemblyline-agents/daytona": "4.0.1",
|
|
84
|
+
"@assemblyline-agents/docker": "4.0.1",
|
|
85
|
+
"@assemblyline-agents/e2b": "4.0.1",
|
|
86
|
+
"@assemblyline-agents/postgres": "4.0.1",
|
|
87
|
+
"@assemblyline-agents/modal": "4.0.1",
|
|
88
|
+
"@assemblyline-agents/r2": "4.0.1",
|
|
89
|
+
"@assemblyline-agents/s3": "4.0.1"
|
|
90
90
|
},
|
|
91
91
|
"scripts": {
|
|
92
92
|
"build": "tsc -p tsconfig.json",
|