@assemblyline-agents/node 2.0.0 → 3.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/LICENSE +1 -1
- package/dist/adapters.d.ts +4 -1
- package/dist/adapters.d.ts.map +1 -1
- package/dist/adapters.js +38 -18
- package/dist/adapters.js.map +1 -1
- package/dist/auth.d.ts +2 -2
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +10 -22
- package/dist/auth.js.map +1 -1
- package/dist/http-io.d.ts.map +1 -1
- package/dist/http-io.js +14 -3
- package/dist/http-io.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +242 -33
- package/dist/index.js.map +1 -1
- package/dist/lifecycle.d.ts +2 -2
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +2 -2
- package/dist/lifecycle.js.map +1 -1
- package/dist/memory-admin-http.d.ts +27 -0
- package/dist/memory-admin-http.d.ts.map +1 -0
- package/dist/memory-admin-http.js +115 -0
- package/dist/memory-admin-http.js.map +1 -0
- package/dist/rate-limit.d.ts +4 -4
- package/dist/rate-limit.d.ts.map +1 -1
- package/dist/rate-limit.js +9 -7
- package/dist/rate-limit.js.map +1 -1
- package/dist/route-match.d.ts +4 -0
- package/dist/route-match.d.ts.map +1 -1
- package/dist/route-match.js +8 -0
- package/dist/route-match.js.map +1 -1
- package/dist/run-replay-http.d.ts +11 -0
- package/dist/run-replay-http.d.ts.map +1 -0
- package/dist/run-replay-http.js +16 -0
- package/dist/run-replay-http.js.map +1 -0
- package/dist/secrets.d.ts +19 -0
- package/dist/secrets.d.ts.map +1 -0
- package/dist/secrets.js +58 -0
- package/dist/secrets.js.map +1 -0
- package/dist/usage-http.js +10 -10
- package/dist/usage-http.js.map +1 -1
- package/dist/workspace-admin-http.d.ts +5 -0
- package/dist/workspace-admin-http.d.ts.map +1 -0
- package/dist/workspace-admin-http.js +128 -0
- package/dist/workspace-admin-http.js.map +1 -0
- package/package.json +11 -12
package/LICENSE
CHANGED
package/dist/adapters.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { type BlobAdapter, type ConnectionAuthorizationSessionStore, type ConnectionDefinitionStore, type ConnectionGrantStore, type AssemblyLineRuntime, type RunTimeline, type RuntimeOptions, type SandboxAdapter, type ScheduleStore, type SkillStore, type LearningStore, 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 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
|
+
export declare function loadRunTimelinePage(runtime: AssemblyLineRuntime, runId: string, query: RunTimelinePageQuery): Promise<RunTimelinePage | undefined>;
|
|
4
5
|
export declare function createConnectionStores(_options: RuntimeOptions, artifactRoot: string, env: NodeJS.ProcessEnv, state: StateAdapter, devMode: boolean): {
|
|
5
6
|
grantStore: ConnectionGrantStore;
|
|
6
7
|
authorizationSessionStore: ConnectionAuthorizationSessionStore;
|
|
8
|
+
eventStore: ConnectionEventStore;
|
|
7
9
|
};
|
|
8
10
|
export declare function createSelfImprovementStores(artifactRoot: string, env: NodeJS.ProcessEnv, state: StateAdapter): {
|
|
9
11
|
skillStore: SkillStore;
|
|
@@ -14,5 +16,6 @@ export declare function createSelfImprovementStores(artifactRoot: string, env: N
|
|
|
14
16
|
export declare function providerResolution(options: RuntimeOptions, artifactRoot: string, env: NodeJS.ProcessEnv): ProviderResolution;
|
|
15
17
|
export declare function createStateAdapter(options: RuntimeOptions, artifactRoot: string, env: NodeJS.ProcessEnv): Promise<StateAdapter>;
|
|
16
18
|
export declare function createBlobAdapter(options: RuntimeOptions, artifactRoot: string, env: NodeJS.ProcessEnv): Promise<BlobAdapter>;
|
|
19
|
+
export declare function createMediaProcessors(options: RuntimeOptions, artifactRoot: string, env: NodeJS.ProcessEnv): Promise<MediaProcessor[]>;
|
|
17
20
|
export declare function createSandboxAdapter(options: RuntimeOptions, artifactRoot: string, env: NodeJS.ProcessEnv): Promise<SandboxAdapter>;
|
|
18
21
|
//# sourceMappingURL=adapters.d.ts.map
|
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,EAWL,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,YAAY,EAClB,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;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;AAcD,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,CAezI"}
|
package/dist/adapters.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
2
|
import { adapter, isSensitiveSandboxEnvName } from "@assemblyline-agents/core";
|
|
3
|
-
import { FileConnectionDefinitionStore, FileScheduleStore, FileSkillStore, FileLearningStore, FileStateAdapter, FileConnectionAuthorizationSessionStore, FileConnectionGrantStore, LocalBlobAdapter, LocalSandboxAdapter } from "@assemblyline-agents/runtime";
|
|
3
|
+
import { FileConnectionDefinitionStore, FileScheduleStore, FileSkillStore, FileLearningStore, FileStateAdapter, FileConnectionAuthorizationSessionStore, FileConnectionGrantStore, FileConnectionEventStore, LocalBlobAdapter, LocalSandboxAdapter, queryRunTimelinePage } from "@assemblyline-agents/runtime";
|
|
4
4
|
import { resolveProvider } from "./provider-resolver.js";
|
|
5
|
-
const LOCAL_DEV_CONNECTION_STORE_SECRET = "
|
|
5
|
+
const LOCAL_DEV_CONNECTION_STORE_SECRET = "assembly-line-local-dev-connection-secret";
|
|
6
6
|
const MIN_PRODUCTION_CONNECTION_STORE_SECRET_LENGTH = 32;
|
|
7
7
|
export async function loadRunTimeline(runtime, runId) {
|
|
8
8
|
try {
|
|
@@ -14,26 +14,31 @@ export async function loadRunTimeline(runtime, runId) {
|
|
|
14
14
|
throw error;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
+
export async function loadRunTimelinePage(runtime, runId, query) {
|
|
18
|
+
return queryRunTimelinePage(runtime.state, runId, query);
|
|
19
|
+
}
|
|
17
20
|
export function createConnectionStores(_options, artifactRoot, env, state, devMode) {
|
|
18
|
-
if (isConnectionGrantStore(state) && isConnectionAuthorizationSessionStore(state)) {
|
|
21
|
+
if (isConnectionGrantStore(state) && isConnectionAuthorizationSessionStore(state) && isConnectionEventStore(state)) {
|
|
19
22
|
return {
|
|
20
23
|
grantStore: state,
|
|
21
|
-
authorizationSessionStore: state
|
|
24
|
+
authorizationSessionStore: state,
|
|
25
|
+
eventStore: state
|
|
22
26
|
};
|
|
23
27
|
}
|
|
24
28
|
const secret = resolveConnectionStoreSecret(env, devMode);
|
|
25
29
|
return {
|
|
26
|
-
grantStore: new FileConnectionGrantStore(env.
|
|
27
|
-
authorizationSessionStore: new FileConnectionAuthorizationSessionStore(env.
|
|
30
|
+
grantStore: new FileConnectionGrantStore(env.ASSEMBLY_LINE_CONNECTION_GRANTS_FILE ?? join(artifactRoot, "connection-grants.enc.json"), secret),
|
|
31
|
+
authorizationSessionStore: new FileConnectionAuthorizationSessionStore(env.ASSEMBLY_LINE_CONNECTION_AUTH_SESSIONS_FILE ?? join(artifactRoot, "connection-auth-sessions.enc.json"), secret),
|
|
32
|
+
eventStore: new FileConnectionEventStore(env.ASSEMBLY_LINE_CONNECTION_EVENTS_FILE ?? join(artifactRoot, "connection-events.enc.json"), secret)
|
|
28
33
|
};
|
|
29
34
|
}
|
|
30
35
|
function resolveConnectionStoreSecret(env, devMode) {
|
|
31
|
-
const rawSecret = env.
|
|
36
|
+
const rawSecret = env.ASSEMBLY_LINE_CONNECTION_STORE_SECRET ?? env.ASSEMBLY_LINE_SECRET;
|
|
32
37
|
const secret = rawSecret?.trim();
|
|
33
38
|
if (!secret) {
|
|
34
39
|
if (devMode)
|
|
35
40
|
return LOCAL_DEV_CONNECTION_STORE_SECRET;
|
|
36
|
-
throw new Error("File-backed connection credential stores require
|
|
41
|
+
throw new Error("File-backed connection credential stores require ASSEMBLY_LINE_CONNECTION_STORE_SECRET or ASSEMBLY_LINE_SECRET outside dev mode. Use Postgres state or configure a secret with at least 32 characters.");
|
|
37
42
|
}
|
|
38
43
|
if (!devMode && secret === LOCAL_DEV_CONNECTION_STORE_SECRET) {
|
|
39
44
|
throw new Error("File-backed connection credential stores cannot use the local development secret outside dev mode.");
|
|
@@ -48,11 +53,11 @@ export function createSelfImprovementStores(artifactRoot, env, state) {
|
|
|
48
53
|
// back to local JSON-file-backed stores under the artifact root.
|
|
49
54
|
const provider = state;
|
|
50
55
|
return {
|
|
51
|
-
skillStore: provider.skillStore ?? new FileSkillStore(env.
|
|
52
|
-
learningStore: provider.learningStore ?? new FileLearningStore(env.
|
|
53
|
-
scheduleStore: provider.scheduleStore ?? new FileScheduleStore(env.
|
|
56
|
+
skillStore: provider.skillStore ?? new FileSkillStore(env.ASSEMBLY_LINE_SKILLS_FILE ?? join(artifactRoot, "skills-store.json")),
|
|
57
|
+
learningStore: provider.learningStore ?? new FileLearningStore(env.ASSEMBLY_LINE_LEARNING_FILE ?? join(artifactRoot, "learning-store.json")),
|
|
58
|
+
scheduleStore: provider.scheduleStore ?? new FileScheduleStore(env.ASSEMBLY_LINE_SCHEDULES_FILE ?? join(artifactRoot, "dynamic-schedules.json")),
|
|
54
59
|
connectionDefinitionStore: provider.connectionDefinitionStore ??
|
|
55
|
-
new FileConnectionDefinitionStore(env.
|
|
60
|
+
new FileConnectionDefinitionStore(env.ASSEMBLY_LINE_CONNECTION_DEFINITIONS_FILE ?? join(artifactRoot, "connection-definitions.json"))
|
|
56
61
|
};
|
|
57
62
|
}
|
|
58
63
|
function isConnectionGrantStore(value) {
|
|
@@ -61,6 +66,9 @@ function isConnectionGrantStore(value) {
|
|
|
61
66
|
function isConnectionAuthorizationSessionStore(value) {
|
|
62
67
|
return Boolean(value && typeof value === "object" && "getSessionByState" in value && "findPendingSession" in value);
|
|
63
68
|
}
|
|
69
|
+
function isConnectionEventStore(value) {
|
|
70
|
+
return Boolean(value && typeof value === "object" && "getRegistrationByBinding" in value && "enqueueEvent" in value && "leaseEvents" in value);
|
|
71
|
+
}
|
|
64
72
|
export function providerResolution(options, artifactRoot, env) {
|
|
65
73
|
return {
|
|
66
74
|
env,
|
|
@@ -73,27 +81,37 @@ export function providerResolution(options, artifactRoot, env) {
|
|
|
73
81
|
export async function createStateAdapter(options, artifactRoot, env) {
|
|
74
82
|
const definition = options.manifest.gateway.state ?? adapter("local");
|
|
75
83
|
if (definition.kind === "local") {
|
|
76
|
-
return new FileStateAdapter(env.
|
|
84
|
+
return new FileStateAdapter(env.ASSEMBLY_LINE_STATE_FILE ?? join(artifactRoot, "runtime-state.json"));
|
|
77
85
|
}
|
|
78
86
|
return resolveProvider("state", definition, providerResolution(options, artifactRoot, env));
|
|
79
87
|
}
|
|
80
88
|
export async function createBlobAdapter(options, artifactRoot, env) {
|
|
81
89
|
const definition = options.manifest.gateway.blob ?? adapter("local");
|
|
82
90
|
if (definition.kind === "local") {
|
|
83
|
-
return new LocalBlobAdapter(env.
|
|
91
|
+
return new LocalBlobAdapter(env.ASSEMBLY_LINE_BLOB_ROOT ?? join(artifactRoot, "blobs"));
|
|
84
92
|
}
|
|
85
93
|
return resolveProvider("blob", definition, providerResolution(options, artifactRoot, env));
|
|
86
94
|
}
|
|
95
|
+
export async function createMediaProcessors(options, artifactRoot, env) {
|
|
96
|
+
const definition = options.manifest.gateway.media;
|
|
97
|
+
if (!definition)
|
|
98
|
+
return [];
|
|
99
|
+
return [await resolveProvider("media", definition, providerResolution(options, artifactRoot, env))];
|
|
100
|
+
}
|
|
87
101
|
export async function createSandboxAdapter(options, artifactRoot, env) {
|
|
88
102
|
const definition = options.manifest.gateway.sandbox ?? adapter("local");
|
|
89
103
|
if (definition.kind === "local") {
|
|
90
|
-
if (options.devMode !== true && env.
|
|
91
|
-
throw new Error("Production
|
|
104
|
+
if (options.devMode !== true && env.ASSEMBLY_LINE_ALLOW_LOCAL_SANDBOX_IN_PRODUCTION !== "true") {
|
|
105
|
+
throw new Error("Production Assembly Line Node runtime refuses the local sandbox. Configure a network-confined sandbox adapter or set ASSEMBLY_LINE_ALLOW_LOCAL_SANDBOX_IN_PRODUCTION=true to acknowledge the risk.");
|
|
92
106
|
}
|
|
93
|
-
return new LocalSandboxAdapter(env.
|
|
107
|
+
return new LocalSandboxAdapter(env.ASSEMBLY_LINE_SANDBOX_ROOT ?? join(artifactRoot, "sandbox"));
|
|
94
108
|
}
|
|
95
109
|
const sandbox = options.manifest.sandboxes.find((candidate) => candidate.adapter === definition.kind) ?? options.manifest.sandboxes[0];
|
|
96
|
-
const sandboxOptions =
|
|
110
|
+
const sandboxOptions = {
|
|
111
|
+
...sandboxRuntimeOptions(sandbox, env),
|
|
112
|
+
agentId: options.manifest.agent.id ?? options.manifest.agent.name ?? "agent",
|
|
113
|
+
sandboxName: sandbox?.name ?? definition.kind
|
|
114
|
+
};
|
|
97
115
|
return resolveProvider("sandbox", definition, providerResolution(options, artifactRoot, env), sandboxOptions);
|
|
98
116
|
}
|
|
99
117
|
function collectEnv(env, names) {
|
|
@@ -109,6 +127,8 @@ function sandboxRuntimeOptions(sandbox, env) {
|
|
|
109
127
|
const options = {};
|
|
110
128
|
if (sandbox?.image)
|
|
111
129
|
options.image = sandbox.image;
|
|
130
|
+
if (sandbox?.environment)
|
|
131
|
+
options.environment = sandbox.environment;
|
|
112
132
|
if (sandbox?.workingDirectory)
|
|
113
133
|
options.workingDirectory = sandbox.workingDirectory;
|
|
114
134
|
const passthroughEnv = collectEnv(env, sandbox?.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,yBAAyB,EAAmB,MAAM,2BAA2B,CAAC;AAChG,OAAO,EACL,6BAA6B,EAC7B,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,uCAAuC,EACvC,wBAAwB,EACxB,gBAAgB,EAChB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../src/adapters.ts"],"names":[],"mappings":"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"}
|
package/dist/auth.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { type JsonValue } from "@assemblyline-agents/core";
|
|
|
3
3
|
import { type AssemblyLineRuntime } from "@assemblyline-agents/runtime";
|
|
4
4
|
import type { NodeRuntimeServerOptions } from "./index.js";
|
|
5
5
|
import type { IngressRateLimitClass, ResolvedIngressRateLimit } from "./rate-limit.js";
|
|
6
|
-
export type RuntimeRouteClass = "public-health" | "provider-channel" | "scheduler" | "connection-callback" | "admin-read" | "run-create" | "run-resume" | "run-control" | "agent-control";
|
|
6
|
+
export type RuntimeRouteClass = "public-health" | "provider-channel" | "scheduler" | "connection-callback" | "connection-event" | "admin-read" | "run-create" | "run-resume" | "run-control" | "agent-control";
|
|
7
7
|
export interface RuntimeAuthRequest {
|
|
8
8
|
routeClass: RuntimeRouteClass;
|
|
9
9
|
method: string;
|
|
@@ -34,7 +34,7 @@ export declare function apiRunCreationEnabled(runtime: AssemblyLineRuntime, opti
|
|
|
34
34
|
/**
|
|
35
35
|
* Gates the POST /runs `eval` block (tool stubs, approval auto-resolve,
|
|
36
36
|
* record-only delivery). Separate from apiRunCreationEnabled because
|
|
37
|
-
*
|
|
37
|
+
* ASSEMBLY_LINE_ENABLE_API_RUNS is a documented production setting; stubbed runs
|
|
38
38
|
* need their own opt-in. Advertised as the `eval-runs` /healthz capability.
|
|
39
39
|
*/
|
|
40
40
|
export declare function evalRunsEnabled(runtime: AssemblyLineRuntime, options: NodeRuntimeServerOptions): boolean;
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAA4C,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACrG,OAAO,EAA8C,KAAK,mBAAmB,EAAuB,MAAM,8BAA8B,CAAC;AAEzI,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAA2B,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEhH,MAAM,MAAM,iBAAiB,GACzB,eAAe,GACf,kBAAkB,GAClB,WAAW,GACX,qBAAqB,GACrB,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,eAAe,CAAC;AAEpB,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACpC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,KAAK,0BAA0B,GAAG,OAAO,CAAC,mBAAmB,EAAE;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC;AAElF,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC5F;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CAaN;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAOjH;AAYD,qFAAqF;AACrF,wBAAsB,eAAe,CACnC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,wBAAwB,GAAG,SAAS,EAC/C,UAAU,EAAE,qBAAqB,EACjC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,wBAAwB,EACjC,UAAU,EAAE,iBAAiB,EAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAMjD;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/auth.js
CHANGED
|
@@ -24,11 +24,11 @@ export function validateRuntimeHttpSecurity(runtime, options) {
|
|
|
24
24
|
logRuntimeHttpSecurity(runtime, options);
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
|
-
throw new Error("Production
|
|
27
|
+
throw new Error("Production Assembly Line Node runtime requires ASSEMBLY_LINE_ADMIN_TOKEN or a host-provided auth policy to protect control-plane routes.");
|
|
28
28
|
}
|
|
29
29
|
function logRuntimeHttpSecurity(runtime, options) {
|
|
30
30
|
const entry = {
|
|
31
|
-
type: "
|
|
31
|
+
type: "assembly-line.security",
|
|
32
32
|
controlPlane: "authenticated",
|
|
33
33
|
apiRuns: apiRunCreationEnabled(runtime, options) ? "enabled" : "disabled",
|
|
34
34
|
adminAuth: options.auth ? "custom-policy" : "bearer-token"
|
|
@@ -80,7 +80,7 @@ async function authorizeRuntimeRoute(request, runtime, options, routeClass, path
|
|
|
80
80
|
const decision = await options.auth.authorize(authRequest);
|
|
81
81
|
return decision.allowed ? { ...decision, trusted: true } : decision;
|
|
82
82
|
}
|
|
83
|
-
if (routeClass === "public-health" || routeClass === "connection-callback")
|
|
83
|
+
if (routeClass === "public-health" || routeClass === "connection-callback" || routeClass === "connection-event")
|
|
84
84
|
return { allowed: true };
|
|
85
85
|
if (routeClass === "provider-channel") {
|
|
86
86
|
if (options.devMode === true)
|
|
@@ -116,6 +116,7 @@ function isPublicProviderChannel(runtime, channelName) {
|
|
|
116
116
|
const channel = runtime.manifest.channels.find((candidate) => candidate.name === channelName);
|
|
117
117
|
const provider = channel ? publicChannelProvider(channel) : "";
|
|
118
118
|
return provider === "slack" ||
|
|
119
|
+
provider === "a2a" ||
|
|
119
120
|
provider === "discord" ||
|
|
120
121
|
provider === "telegram" ||
|
|
121
122
|
provider === "teams" ||
|
|
@@ -127,24 +128,11 @@ function publicChannelProvider(channel) {
|
|
|
127
128
|
return "photon";
|
|
128
129
|
if (metadataProvider === "microsoft-teams")
|
|
129
130
|
return "teams";
|
|
130
|
-
|
|
131
|
-
return metadataProvider;
|
|
132
|
-
const env = new Set(channel.requiredEnv);
|
|
133
|
-
if (env.has("SLACK_SIGNING_SECRET") || env.has("SLACK_BOT_TOKEN"))
|
|
134
|
-
return "slack";
|
|
135
|
-
if (env.has("DISCORD_PUBLIC_KEY") || env.has("DISCORD_BOT_TOKEN"))
|
|
136
|
-
return "discord";
|
|
137
|
-
if (env.has("TELEGRAM_BOT_TOKEN"))
|
|
138
|
-
return "telegram";
|
|
139
|
-
if (env.has("MICROSOFT_APP_ID") && env.has("MICROSOFT_APP_PASSWORD"))
|
|
140
|
-
return "teams";
|
|
141
|
-
if (env.has("PHOTON_TRANSPORT_URL") || env.has("PHOTON_BRIDGE_TOKEN"))
|
|
142
|
-
return "photon";
|
|
143
|
-
return undefined;
|
|
131
|
+
return metadataProvider;
|
|
144
132
|
}
|
|
145
133
|
function adminToken(runtime, options) {
|
|
146
134
|
const env = options.env ?? runtime.env ?? process.env;
|
|
147
|
-
const token = env.
|
|
135
|
+
const token = env.ASSEMBLY_LINE_ADMIN_TOKEN?.trim();
|
|
148
136
|
return token ? token : undefined;
|
|
149
137
|
}
|
|
150
138
|
export function apiRunCreationEnabled(runtime, options) {
|
|
@@ -153,12 +141,12 @@ export function apiRunCreationEnabled(runtime, options) {
|
|
|
153
141
|
if (options.devMode === true)
|
|
154
142
|
return true;
|
|
155
143
|
const env = options.env ?? runtime.env ?? process.env;
|
|
156
|
-
return env.
|
|
144
|
+
return env.ASSEMBLY_LINE_ENABLE_API_RUNS === "true" || env.ASSEMBLY_LINE_ENABLE_API_RUNS === "1";
|
|
157
145
|
}
|
|
158
146
|
/**
|
|
159
147
|
* Gates the POST /runs `eval` block (tool stubs, approval auto-resolve,
|
|
160
148
|
* record-only delivery). Separate from apiRunCreationEnabled because
|
|
161
|
-
*
|
|
149
|
+
* ASSEMBLY_LINE_ENABLE_API_RUNS is a documented production setting; stubbed runs
|
|
162
150
|
* need their own opt-in. Advertised as the `eval-runs` /healthz capability.
|
|
163
151
|
*/
|
|
164
152
|
export function evalRunsEnabled(runtime, options) {
|
|
@@ -167,11 +155,11 @@ export function evalRunsEnabled(runtime, options) {
|
|
|
167
155
|
if (options.devMode === true)
|
|
168
156
|
return true;
|
|
169
157
|
const env = options.env ?? runtime.env ?? process.env;
|
|
170
|
-
return env.
|
|
158
|
+
return env.ASSEMBLY_LINE_ENABLE_EVAL_RUNS === "true" || env.ASSEMBLY_LINE_ENABLE_EVAL_RUNS === "1";
|
|
171
159
|
}
|
|
172
160
|
function authorizeSchedulerRequest(request, runtime, options) {
|
|
173
161
|
const env = options.env ?? runtime.env ?? process.env;
|
|
174
|
-
const secret = env.
|
|
162
|
+
const secret = env.ASSEMBLY_LINE_SCHEDULER_SECRET;
|
|
175
163
|
if (!secret)
|
|
176
164
|
return options.devMode === true;
|
|
177
165
|
const headerSecret = headerValue(request.headers[SCHEDULER_SECRET_HEADER]);
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAmC,MAAM,2BAA2B,CAAC;AACrG,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAiD,MAAM,8BAA8B,CAAC;AACzI,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/http-io.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-io.d.ts","sourceRoot":"","sources":["../src/http-io.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAK3D,qBAAa,gBAAiB,SAAQ,KAAK;IAEvC,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM;CAKlB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAI3G;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"http-io.d.ts","sourceRoot":"","sources":["../src/http-io.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAK3D,qBAAa,gBAAiB,SAAQ,KAAK;IAEvC,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM;CAKlB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAI3G;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,CAiCnJ;AAQD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAO5F;AAMD,wBAAgB,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,IAAI,CAWxH;AAOD,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,CAW/D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,CAGxE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGzF"}
|
package/dist/http-io.js
CHANGED
|
@@ -12,7 +12,7 @@ export function maxRequestBodyBytes(runtime, options) {
|
|
|
12
12
|
if (options.maxRequestBodyBytes !== undefined)
|
|
13
13
|
return positiveInteger(options.maxRequestBodyBytes, DEFAULT_MAX_REQUEST_BODY_BYTES);
|
|
14
14
|
const env = options.env ?? runtime.env ?? process.env;
|
|
15
|
-
return positiveInteger(env.
|
|
15
|
+
return positiveInteger(env.ASSEMBLY_LINE_HTTP_MAX_BODY_BYTES, DEFAULT_MAX_REQUEST_BODY_BYTES);
|
|
16
16
|
}
|
|
17
17
|
export async function readBody(request, maxBytes) {
|
|
18
18
|
const chunks = [];
|
|
@@ -36,8 +36,19 @@ export async function readBody(request, maxBytes) {
|
|
|
36
36
|
if (contentType.includes("application/x-www-form-urlencoded")) {
|
|
37
37
|
return { rawBody, rawBodyBytes: rawBuffer, body: Object.fromEntries(new URLSearchParams(rawBody).entries()) };
|
|
38
38
|
}
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
try {
|
|
40
|
+
const parsed = JSON.parse(rawBody);
|
|
41
|
+
return { rawBody, rawBodyBytes: rawBuffer, body: isJsonObject(parsed) ? parsed : {} };
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
// Malformed JSON is the client's error, not a 500; non-JSON content types
|
|
45
|
+
// flow through with an empty parsed body so channel adapters can consume
|
|
46
|
+
// rawBody/rawBodyBytes directly.
|
|
47
|
+
if (contentType === "" || contentType.includes("json")) {
|
|
48
|
+
throw new HttpRequestError(400, "Invalid JSON request body.");
|
|
49
|
+
}
|
|
50
|
+
return { rawBody, rawBodyBytes: rawBuffer, body: {} };
|
|
51
|
+
}
|
|
41
52
|
}
|
|
42
53
|
function positiveInteger(value, fallback) {
|
|
43
54
|
const number = typeof value === "string" && value.trim() !== "" ? Number(value) : value;
|
package/dist/http-io.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-io.js","sourceRoot":"","sources":["../src/http-io.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,8BAA8B,GAAG,UAAU,CAAC;AAElD,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAE9B;IADX,YACW,MAAc,EACvB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,WAAM,GAAN,MAAM,CAAQ;QAIvB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA4B,EAAE,OAAiC;IACjG,IAAI,OAAO,CAAC,mBAAmB,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC,OAAO,CAAC,mBAAmB,EAAE,8BAA8B,CAAC,CAAC;IACnI,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACtD,OAAO,eAAe,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"http-io.js","sourceRoot":"","sources":["../src/http-io.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ 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 { resolveSecretsEnv, type ResolveSecretsEnvOptions } from "./secrets.js";
|
|
8
9
|
export { createMemoryRateLimiterStore, parseRateLimitSpec, resolveIngressRateLimit, type IngressRateLimitClass, type IngressRateLimitPolicy, type IngressRateLimitRequest, type RateLimitDecision, type RateLimitTakeOptions, type RateLimiterStore, type ResolvedIngressRateLimit } from "./rate-limit.js";
|
|
9
10
|
export { createNodeRuntimeHandle, installSignalHandlers, type NodeRuntimeHandle, type NodeRuntimeHandleInput, type NodeRuntimeShutdownOptions, type RuntimeDrainState, type SignalHandlerOptions } from "./lifecycle.js";
|
|
10
11
|
export type { RuntimeAuthDecision, RuntimeAuthPolicy, RuntimeAuthRequest, RuntimeRouteClass } from "./auth.js";
|
|
@@ -17,18 +18,18 @@ export interface NodeRuntimeServerOptions extends RuntimeOptions {
|
|
|
17
18
|
runtime?: AssemblyLineRuntime;
|
|
18
19
|
auth?: RuntimeAuthPolicy;
|
|
19
20
|
allowApiRuns?: boolean;
|
|
20
|
-
/** Accept the POST /runs `eval` block (stubs/auto-approve/record-only). Env:
|
|
21
|
+
/** Accept the POST /runs `eval` block (stubs/auto-approve/record-only). Env: ASSEMBLY_LINE_ENABLE_EVAL_RUNS. */
|
|
21
22
|
allowEvalRuns?: boolean;
|
|
22
23
|
maxRequestBodyBytes?: number;
|
|
23
24
|
/**
|
|
24
25
|
* Ingress rate limiting for provider-channel/run-create/scheduler routes.
|
|
25
|
-
* Default off; `false` disables even the `
|
|
26
|
+
* Default off; `false` disables even the `ASSEMBLY_LINE_*_RATE_LIMIT` env config.
|
|
26
27
|
*/
|
|
27
28
|
rateLimit?: IngressRateLimitPolicy | false;
|
|
28
29
|
/**
|
|
29
30
|
* Install SIGTERM/SIGINT graceful-shutdown handlers so a redeploy/restart
|
|
30
31
|
* drains in-flight runs instead of hard-killing them. Default on; set to
|
|
31
|
-
* `false` (or `
|
|
32
|
+
* `false` (or `ASSEMBLY_LINE_SIGNAL_HANDLERS=false`) to opt out, e.g. when the host
|
|
32
33
|
* process manages signals itself.
|
|
33
34
|
*/
|
|
34
35
|
installSignalHandlers?: boolean;
|
|
@@ -45,5 +46,5 @@ export declare function withNodeModelHarnesses<T extends RuntimeOptions>(options
|
|
|
45
46
|
};
|
|
46
47
|
export declare function createProductionRuntimeOptions(options: ProductionRuntimeOptions): Promise<RuntimeOptions>;
|
|
47
48
|
export declare function createNodeRuntimeServer(options: NodeRuntimeServerOptions): Server;
|
|
48
|
-
export declare function listenNodeRuntime(
|
|
49
|
+
export declare function listenNodeRuntime(options: NodeRuntimeServerOptions): Promise<NodeRuntimeHandle>;
|
|
49
50
|
//# sourceMappingURL=index.d.ts.map
|
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;AAGtD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAGtD,OAAO,EAGL,KAAK,iBAAiB,EAItB,KAAK,UAAU,EAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mBAAmB,EAQnB,KAAK,cAAc,EACpB,MAAM,8BAA8B,CAAC;AAiBtC,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,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAChF,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,mFAAmF;AACnF,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,cAAc,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG;IAAE,cAAc,EAAE,WAAW,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAA;CAAE,CAQlJ;AAED,wBAAsB,8BAA8B,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,cAAc,CAAC,CAuC/G;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAKjF;AA0zBD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA2DrG"}
|