@slopus/happy-agent-base 0.0.0 → 0.0.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/LICENSE +21 -0
- package/README.md +640 -15
- package/dist/Agent.d.ts +86 -0
- package/dist/Agent.d.ts.map +1 -0
- package/dist/Agent.js +326 -0
- package/dist/Agent.js.map +1 -0
- package/dist/AgentBase.d.ts +340 -0
- package/dist/AgentBase.d.ts.map +1 -0
- package/dist/AgentBase.js +2295 -0
- package/dist/AgentBase.js.map +1 -0
- package/dist/AgentBaseHooks.d.ts +156 -0
- package/dist/AgentBaseHooks.d.ts.map +1 -0
- package/dist/AgentBaseHooks.js +2 -0
- package/dist/AgentBaseHooks.js.map +1 -0
- package/dist/AgentBasePending.d.ts +49 -0
- package/dist/AgentBasePending.d.ts.map +1 -0
- package/dist/AgentBasePending.js +73 -0
- package/dist/AgentBasePending.js.map +1 -0
- package/dist/AgentBaseState.d.ts +13 -0
- package/dist/AgentBaseState.d.ts.map +1 -0
- package/dist/AgentBaseState.js +2 -0
- package/dist/AgentBaseState.js.map +1 -0
- package/dist/AgentBaseStoreLock.d.ts +16 -0
- package/dist/AgentBaseStoreLock.d.ts.map +1 -0
- package/dist/AgentBaseStoreLock.js +37 -0
- package/dist/AgentBaseStoreLock.js.map +1 -0
- package/dist/AgentConfig.d.ts +67 -0
- package/dist/AgentConfig.d.ts.map +1 -0
- package/dist/AgentConfig.js +81 -0
- package/dist/AgentConfig.js.map +1 -0
- package/dist/AgentContexts.d.ts +40 -0
- package/dist/AgentContexts.d.ts.map +1 -0
- package/dist/AgentContexts.js +70 -0
- package/dist/AgentContexts.js.map +1 -0
- package/dist/AgentFeature.d.ts +119 -0
- package/dist/AgentFeature.d.ts.map +1 -0
- package/dist/AgentFeature.js +2 -0
- package/dist/AgentFeature.js.map +1 -0
- package/dist/AgentFeatureAction.d.ts +16 -0
- package/dist/AgentFeatureAction.d.ts.map +1 -0
- package/dist/AgentFeatureAction.js +2 -0
- package/dist/AgentFeatureAction.js.map +1 -0
- package/dist/AgentKV.d.ts +63 -0
- package/dist/AgentKV.d.ts.map +1 -0
- package/dist/AgentKV.js +122 -0
- package/dist/AgentKV.js.map +1 -0
- package/dist/AgentModel.d.ts +17 -0
- package/dist/AgentModel.d.ts.map +1 -0
- package/dist/AgentModel.js +2 -0
- package/dist/AgentModel.js.map +1 -0
- package/dist/AgentPersistence.d.ts +95 -0
- package/dist/AgentPersistence.d.ts.map +1 -0
- package/dist/AgentPersistence.js +2 -0
- package/dist/AgentPersistence.js.map +1 -0
- package/dist/AgentProviders.d.ts +22 -0
- package/dist/AgentProviders.d.ts.map +1 -0
- package/dist/AgentProviders.js +35 -0
- package/dist/AgentProviders.js.map +1 -0
- package/dist/AgentRef.d.ts +41 -0
- package/dist/AgentRef.d.ts.map +1 -0
- package/dist/AgentRef.js +60 -0
- package/dist/AgentRef.js.map +1 -0
- package/dist/AgentStorage.d.ts +19 -0
- package/dist/AgentStorage.d.ts.map +1 -0
- package/dist/AgentStorage.js +16 -0
- package/dist/AgentStorage.js.map +1 -0
- package/dist/AgentSystem.d.ts +50 -0
- package/dist/AgentSystem.d.ts.map +1 -0
- package/dist/AgentSystem.js +2 -0
- package/dist/AgentSystem.js.map +1 -0
- package/dist/AgentSystemContext.d.ts +15 -0
- package/dist/AgentSystemContext.d.ts.map +1 -0
- package/dist/AgentSystemContext.js +20 -0
- package/dist/AgentSystemContext.js.map +1 -0
- package/dist/AgentSystemLocal.d.ts +103 -0
- package/dist/AgentSystemLocal.d.ts.map +1 -0
- package/dist/AgentSystemLocal.js +282 -0
- package/dist/AgentSystemLocal.js.map +1 -0
- package/dist/AgentSystemRef.d.ts +56 -0
- package/dist/AgentSystemRef.d.ts.map +1 -0
- package/dist/AgentSystemRef.js +75 -0
- package/dist/AgentSystemRef.js.map +1 -0
- package/dist/AgentTaskContext.d.ts +17 -0
- package/dist/AgentTaskContext.d.ts.map +1 -0
- package/dist/AgentTaskContext.js +26 -0
- package/dist/AgentTaskContext.js.map +1 -0
- package/dist/AgentTool.d.ts +87 -0
- package/dist/AgentTool.d.ts.map +1 -0
- package/dist/AgentTool.js +5 -0
- package/dist/AgentTool.js.map +1 -0
- package/dist/index.d.ts +24 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +31 -1
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +62 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +185 -0
- package/dist/models.js.map +1 -0
- package/package.json +44 -37
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentBase.js","sourceRoot":"","sources":["../sources/AgentBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import type { BaseProvider, SessionDoneState, SessionEvent, SessionSystemMessage, SessionTokens } from "@slopus/happy-providers";
|
|
2
|
+
import type { Context } from "@steve.kite/stdlib";
|
|
3
|
+
import type { AgentFeatureAction } from "./AgentFeatureAction.js";
|
|
4
|
+
import type { AgentProviders } from "./AgentProviders.js";
|
|
5
|
+
import type { AnyAgentTool } from "./AgentTool.js";
|
|
6
|
+
/** A value or a promise of it; every hook may answer either synchronously or asynchronously. */
|
|
7
|
+
export type MaybePromise<Value> = Value | Promise<Value>;
|
|
8
|
+
/** What the `modelChanged` hook sees when a consumed message changes the effective model. */
|
|
9
|
+
export interface AgentBaseModelChange {
|
|
10
|
+
/** The model in force before this change, absent when none had been set yet. */
|
|
11
|
+
readonly previousModel: string | undefined;
|
|
12
|
+
/** The model now in force. */
|
|
13
|
+
readonly model: string;
|
|
14
|
+
/** The registry ID of the provider serving the previous model. */
|
|
15
|
+
readonly previousProvider: string;
|
|
16
|
+
/** The registry ID of the provider serving the new model. */
|
|
17
|
+
readonly provider: string;
|
|
18
|
+
/** The registry the agent resolves its providers from. */
|
|
19
|
+
readonly providers: AgentProviders;
|
|
20
|
+
/** The live instance behind `previousProvider`, or null when no longer registered. */
|
|
21
|
+
readonly previousProviderInstance: BaseProvider | null;
|
|
22
|
+
/** The live instance behind `provider`, or null when not registered. */
|
|
23
|
+
readonly providerInstance: BaseProvider | null;
|
|
24
|
+
/** True when the change was incompatible and the conversation history was erased. */
|
|
25
|
+
readonly wasReset: boolean;
|
|
26
|
+
}
|
|
27
|
+
/** What the `afterInference` hook sees about the response that just completed. */
|
|
28
|
+
export interface AgentBaseInference {
|
|
29
|
+
/** How the response ended, or undefined when the stream ended without a done event. */
|
|
30
|
+
readonly state: SessionDoneState | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* The real token counts the provider reported for this response: the complete input context
|
|
33
|
+
* it received plus the output it generated. Absent when the response was cancelled, failed,
|
|
34
|
+
* or ended without a done event, since no count was measured.
|
|
35
|
+
*/
|
|
36
|
+
readonly tokens: SessionTokens | undefined;
|
|
37
|
+
/** The failure text of a provider-reported error response. */
|
|
38
|
+
readonly errorMessage?: string;
|
|
39
|
+
}
|
|
40
|
+
/** What `beforeTurn` sees about the conversation the turn is about to run on. */
|
|
41
|
+
export interface AgentBaseTurnStart {
|
|
42
|
+
/**
|
|
43
|
+
* The true size of the conversation context in tokens, as the provider last measured it:
|
|
44
|
+
* the complete input it received plus the output it generated. It is durable, so it
|
|
45
|
+
* survives a restart, and it is cleared whenever the conversation is replaced — by a
|
|
46
|
+
* compaction or by a reset — until the next response measures the new one. Absent only
|
|
47
|
+
* before any response has been measured.
|
|
48
|
+
*/
|
|
49
|
+
readonly contextTokens: number | undefined;
|
|
50
|
+
}
|
|
51
|
+
/** What `afterTurn` sees about the turn that just ended. */
|
|
52
|
+
export interface AgentBaseTurn extends AgentBaseTurnStart {
|
|
53
|
+
/**
|
|
54
|
+
* True when the turn was cancelled by `abort`. The work it had already done stays in the
|
|
55
|
+
* history, but it stopped early, so a feature should generally not act on it.
|
|
56
|
+
*/
|
|
57
|
+
readonly aborted: boolean;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* One validated tool invocation offered to an around-execution correctness hook.
|
|
61
|
+
*
|
|
62
|
+
* A wrapper calls `execute` to continue to the next wrapper and, ultimately, the tool. Repeated
|
|
63
|
+
* calls join the same execution rather than repeating side effects.
|
|
64
|
+
*/
|
|
65
|
+
export interface AgentBaseToolExecution {
|
|
66
|
+
/** The ID the model attached to this call, used to match its eventual result back to it. */
|
|
67
|
+
readonly callId: string;
|
|
68
|
+
/** The tool definition the call resolved to. */
|
|
69
|
+
readonly tool: AnyAgentTool;
|
|
70
|
+
/** The call's arguments, already parsed from JSON but not yet validated against the schema. */
|
|
71
|
+
readonly arguments: unknown;
|
|
72
|
+
/** Continue to the next wrapper and, ultimately, the tool itself. */
|
|
73
|
+
readonly execute: () => Promise<unknown>;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Optional observation points. A hook must never fail or delay the run. Every hook receives the
|
|
77
|
+
* agent's context, which carries the provider, model, and effort readable through
|
|
78
|
+
* `agentProvider`, `agentModel`, and `agentEffort`.
|
|
79
|
+
*/
|
|
80
|
+
export interface AgentBaseHooks {
|
|
81
|
+
/** Called for every session event the provider emits, for observation only. */
|
|
82
|
+
readonly onEvent?: (ctx: Context, event: SessionEvent) => void;
|
|
83
|
+
/**
|
|
84
|
+
* Extends `state.instructions` for the session, consulted before each inference and
|
|
85
|
+
* compaction. This is a correctness hook: a failure fails the turn loudly instead of
|
|
86
|
+
* silently running with a wrong prompt.
|
|
87
|
+
*/
|
|
88
|
+
readonly instructions?: (ctx: Context) => MaybePromise<string>;
|
|
89
|
+
/**
|
|
90
|
+
* Extends `state.tools` for the session, consulted before each inference and tool
|
|
91
|
+
* execution. This is a correctness hook: a failure — including duplicate tool names in
|
|
92
|
+
* the merged list — fails the turn loudly instead of silently running with wrong tools.
|
|
93
|
+
* When the merged descriptors change between inferences, the provider session is
|
|
94
|
+
* recreated so the model sees the current tools.
|
|
95
|
+
*/
|
|
96
|
+
readonly tools?: (ctx: Context) => MaybePromise<readonly AnyAgentTool[]>;
|
|
97
|
+
/**
|
|
98
|
+
* Wraps execution after the tool exists and its JSON arguments pass runtime validation.
|
|
99
|
+
* This is a correctness hook: a failure becomes that call's error result. The hook must call
|
|
100
|
+
* `execution.execute()` to continue; omitting it deliberately replaces the execution, while
|
|
101
|
+
* repeated calls join the same downstream work.
|
|
102
|
+
*/
|
|
103
|
+
readonly aroundToolExecution?: (ctx: Context, execution: AgentBaseToolExecution) => MaybePromise<unknown>;
|
|
104
|
+
/**
|
|
105
|
+
* Called when a consumed message changes the effective model. An incompatible change —
|
|
106
|
+
* judged by the provider-model compatibility matrix — erases the conversation history
|
|
107
|
+
* completely and destroys the old provider session; the handoff system message this hook
|
|
108
|
+
* returns is then injected at the very beginning of the fresh context, and without one the
|
|
109
|
+
* context starts completely empty. On a compatible change the history stays and the return
|
|
110
|
+
* value is ignored. A hook failure during an incompatible change rejects the switch: the
|
|
111
|
+
* previous selection stays effective and the history is not cleared.
|
|
112
|
+
*/
|
|
113
|
+
readonly modelChanged?: (ctx: Context, change: AgentBaseModelChange) => MaybePromise<SessionSystemMessage | undefined>;
|
|
114
|
+
/** Called when the loop leaves the settled state and begins working. */
|
|
115
|
+
readonly beforeAgentLoop?: (ctx: Context) => MaybePromise<void>;
|
|
116
|
+
/**
|
|
117
|
+
* Called at the start of each turn, before its queues drain, with the conversation's
|
|
118
|
+
* measured size. Returned actions are applied before the turn runs, so a `compact` action
|
|
119
|
+
* here compacts the conversation the turn is about to send — never a context left
|
|
120
|
+
* mid-tool-call by the previous turn.
|
|
121
|
+
*/
|
|
122
|
+
readonly beforeTurn?: (ctx: Context, turn: AgentBaseTurnStart) => MaybePromise<readonly AgentFeatureAction[] | undefined>;
|
|
123
|
+
/** Called immediately before each inference request. */
|
|
124
|
+
readonly beforeInference?: (ctx: Context) => MaybePromise<void>;
|
|
125
|
+
/**
|
|
126
|
+
* Called immediately after each inference response is collected, with how it ended and the
|
|
127
|
+
* token counts the provider measured for it.
|
|
128
|
+
*/
|
|
129
|
+
readonly afterInference?: (ctx: Context, inference: AgentBaseInference) => MaybePromise<void>;
|
|
130
|
+
/**
|
|
131
|
+
* Called when a turn ends, with the conversation's measured size and whether the turn was
|
|
132
|
+
* cancelled. Returned actions are all applied together before the loop continues; any of
|
|
133
|
+
* them drives the loop into another turn.
|
|
134
|
+
*/
|
|
135
|
+
readonly afterTurn?: (ctx: Context, turn: AgentBaseTurn) => MaybePromise<readonly AgentFeatureAction[] | undefined>;
|
|
136
|
+
/**
|
|
137
|
+
* Called when the loop would settle back to idle. Returned actions are all applied together
|
|
138
|
+
* and start the work over instead of settling.
|
|
139
|
+
*/
|
|
140
|
+
readonly afterAgentLoop?: (ctx: Context) => MaybePromise<readonly AgentFeatureAction[] | undefined>;
|
|
141
|
+
/**
|
|
142
|
+
* Called inside the transaction that settles the agent, before the settlement commits. The
|
|
143
|
+
* key-value store on the context writes into that same transaction, so a conclusion about
|
|
144
|
+
* the run and the fact that the run is over become durable together, without a second commit
|
|
145
|
+
* a crash could land between. The `Transact` suffix is what marks this: a hook carrying it
|
|
146
|
+
* runs inside a transaction, and everything it writes commits or rolls back with it.
|
|
147
|
+
*
|
|
148
|
+
* Unlike the observing hooks, a failure here is not swallowed. It rolls the settlement back,
|
|
149
|
+
* leaving the agent recorded as still working, because a conclusion that failed to be
|
|
150
|
+
* written must not be reported as one that was. The store handle is lent for the call only.
|
|
151
|
+
*/
|
|
152
|
+
readonly afterAgentSettledTransact?: (ctx: Context) => MaybePromise<void>;
|
|
153
|
+
/** Called once after the loop has fully settled and no feature reopened it. */
|
|
154
|
+
readonly afterAgentSettled?: (ctx: Context) => MaybePromise<void>;
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=AgentBaseHooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentBaseHooks.d.ts","sourceRoot":"","sources":["../sources/AgentBaseHooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentBaseHooks.js","sourceRoot":"","sources":["../sources/AgentBaseHooks.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type Static } from "@sinclair/typebox";
|
|
2
|
+
import type { Context } from "@steve.kite/stdlib";
|
|
3
|
+
import type { AgentPersistence } from "./AgentPersistence.js";
|
|
4
|
+
/**
|
|
5
|
+
* The one key an agent's outstanding work lives under, in the agent's own store. It is a single
|
|
6
|
+
* key rather than a prefix of many, because what it records is one fact — that this agent has
|
|
7
|
+
* something left to do — and two keys could disagree about it.
|
|
8
|
+
*/
|
|
9
|
+
export declare const AGENT_BASE_PENDING_KEY = "owed";
|
|
10
|
+
/**
|
|
11
|
+
* Where a run stopped, and so what has to happen to carry it on. The stage is what a restart
|
|
12
|
+
* reads instead of guessing the answer from the shape of the conversation: a transcript ending
|
|
13
|
+
* in a user message may be a question nobody answered or a response that had nothing to say,
|
|
14
|
+
* and only the run that stopped knows which.
|
|
15
|
+
*/
|
|
16
|
+
export declare const AgentBasePendingStage: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"inference">, import("@sinclair/typebox").TLiteral<"tools">, import("@sinclair/typebox").TLiteral<"compaction">]>;
|
|
17
|
+
export type AgentBasePendingStage = Static<typeof AgentBasePendingStage>;
|
|
18
|
+
/**
|
|
19
|
+
* The agent's outstanding work, as the run itself recorded it. Its presence is the whole of the
|
|
20
|
+
* active flag: a stored record means the agent has work left, and the absence of one means it
|
|
21
|
+
* settled. The run erases it on the way out, so an agent that stopped without erasing it — a
|
|
22
|
+
* process that died mid-turn — is discovered as owing exactly what it was doing.
|
|
23
|
+
*/
|
|
24
|
+
export declare const AgentBasePendingState: import("@sinclair/typebox").TObject<{
|
|
25
|
+
stage: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"inference">, import("@sinclair/typebox").TLiteral<"tools">, import("@sinclair/typebox").TLiteral<"compaction">]>;
|
|
26
|
+
}>;
|
|
27
|
+
export type AgentBasePendingState = Static<typeof AgentBasePendingState>;
|
|
28
|
+
/**
|
|
29
|
+
* Read one store's pending state, or undefined when it holds none. Anything stored under the key
|
|
30
|
+
* that is not a pending state is treated as no pending state at all: a store this agent cannot
|
|
31
|
+
* make sense of must not be able to strand an identity in a stage that will never be carried out.
|
|
32
|
+
*/
|
|
33
|
+
export declare function agentBasePendingStateOf(ctx: Context, persistence: AgentPersistence): Promise<AgentBasePendingState | undefined>;
|
|
34
|
+
/**
|
|
35
|
+
* Whether one agent's store has work left, asked from outside the agent. This is the question an
|
|
36
|
+
* owner starting up needs answered — which identities are worth resuming — and the one it needs
|
|
37
|
+
* again before declaring an identity finished.
|
|
38
|
+
*
|
|
39
|
+
* Two things count. A pending record means a run was under way and has not erased it, either
|
|
40
|
+
* because it is still running somewhere or because it died. A conversation whose last record is
|
|
41
|
+
* a consumed message, a tool result, or a failure note is owed a response whoever is meant to
|
|
42
|
+
* give it, and that outlives any one process — which is what makes it discoverable at all by an
|
|
43
|
+
* owner that has never seen the run.
|
|
44
|
+
*
|
|
45
|
+
* The caller is responsible for holding the store still; a half-applied step of some owner reads
|
|
46
|
+
* as a whole one otherwise.
|
|
47
|
+
*/
|
|
48
|
+
export declare function agentBaseStoreOwesWork(ctx: Context, persistence: AgentPersistence): Promise<boolean>;
|
|
49
|
+
//# sourceMappingURL=AgentBasePending.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentBasePending.d.ts","sourceRoot":"","sources":["../sources/AgentBasePending.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,4LAOhC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;EAEhC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE;;;;GAIG;AACH,wBAAsB,uBAAuB,CACzC,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAM5C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CACxC,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,gBAAgB,GAC9B,OAAO,CAAC,OAAO,CAAC,CASlB"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Type } from "@sinclair/typebox";
|
|
2
|
+
import { Value } from "@sinclair/typebox/value";
|
|
3
|
+
/**
|
|
4
|
+
* The one key an agent's outstanding work lives under, in the agent's own store. It is a single
|
|
5
|
+
* key rather than a prefix of many, because what it records is one fact — that this agent has
|
|
6
|
+
* something left to do — and two keys could disagree about it.
|
|
7
|
+
*/
|
|
8
|
+
export const AGENT_BASE_PENDING_KEY = "owed";
|
|
9
|
+
/**
|
|
10
|
+
* Where a run stopped, and so what has to happen to carry it on. The stage is what a restart
|
|
11
|
+
* reads instead of guessing the answer from the shape of the conversation: a transcript ending
|
|
12
|
+
* in a user message may be a question nobody answered or a response that had nothing to say,
|
|
13
|
+
* and only the run that stopped knows which.
|
|
14
|
+
*/
|
|
15
|
+
export const AgentBasePendingStage = Type.Union([
|
|
16
|
+
/** An inference request is owed: a message was consumed, or tool results completed. */
|
|
17
|
+
Type.Literal("inference"),
|
|
18
|
+
/** A dispatched tool batch has not delivered all of its results. */
|
|
19
|
+
Type.Literal("tools"),
|
|
20
|
+
/** The conversation is being replaced by the provider's summary of it. */
|
|
21
|
+
Type.Literal("compaction"),
|
|
22
|
+
]);
|
|
23
|
+
/**
|
|
24
|
+
* The agent's outstanding work, as the run itself recorded it. Its presence is the whole of the
|
|
25
|
+
* active flag: a stored record means the agent has work left, and the absence of one means it
|
|
26
|
+
* settled. The run erases it on the way out, so an agent that stopped without erasing it — a
|
|
27
|
+
* process that died mid-turn — is discovered as owing exactly what it was doing.
|
|
28
|
+
*/
|
|
29
|
+
export const AgentBasePendingState = Type.Object({
|
|
30
|
+
stage: AgentBasePendingStage,
|
|
31
|
+
});
|
|
32
|
+
/**
|
|
33
|
+
* Read one store's pending state, or undefined when it holds none. Anything stored under the key
|
|
34
|
+
* that is not a pending state is treated as no pending state at all: a store this agent cannot
|
|
35
|
+
* make sense of must not be able to strand an identity in a stage that will never be carried out.
|
|
36
|
+
*/
|
|
37
|
+
export async function agentBasePendingStateOf(ctx, persistence) {
|
|
38
|
+
const entries = await persistence.readValues(ctx, AGENT_BASE_PENDING_KEY);
|
|
39
|
+
const stored = entries.find((entry) => entry.key === AGENT_BASE_PENDING_KEY)?.value;
|
|
40
|
+
if (stored === undefined)
|
|
41
|
+
return undefined;
|
|
42
|
+
if (!Value.Check(AgentBasePendingState, stored))
|
|
43
|
+
return undefined;
|
|
44
|
+
return stored;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Whether one agent's store has work left, asked from outside the agent. This is the question an
|
|
48
|
+
* owner starting up needs answered — which identities are worth resuming — and the one it needs
|
|
49
|
+
* again before declaring an identity finished.
|
|
50
|
+
*
|
|
51
|
+
* Two things count. A pending record means a run was under way and has not erased it, either
|
|
52
|
+
* because it is still running somewhere or because it died. A conversation whose last record is
|
|
53
|
+
* a consumed message, a tool result, or a failure note is owed a response whoever is meant to
|
|
54
|
+
* give it, and that outlives any one process — which is what makes it discoverable at all by an
|
|
55
|
+
* owner that has never seen the run.
|
|
56
|
+
*
|
|
57
|
+
* The caller is responsible for holding the store still; a half-applied step of some owner reads
|
|
58
|
+
* as a whole one otherwise.
|
|
59
|
+
*/
|
|
60
|
+
export async function agentBaseStoreOwesWork(ctx, persistence) {
|
|
61
|
+
if ((await agentBasePendingStateOf(ctx, persistence)) !== undefined)
|
|
62
|
+
return true;
|
|
63
|
+
const records = await persistence.load(ctx);
|
|
64
|
+
const last = records[records.length - 1];
|
|
65
|
+
if (last === undefined)
|
|
66
|
+
return false;
|
|
67
|
+
if (last.type === "user" || last.type === "tool" || last.type === "system")
|
|
68
|
+
return true;
|
|
69
|
+
// A replacement is not a question in itself, but it keeps the suffix that joined after its
|
|
70
|
+
// snapshot, and only the rewrite that wrote it knows whether that suffix ends in a request.
|
|
71
|
+
return last.type === "compaction" && last.continuesInference === true;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=AgentBasePending.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentBasePending.js","sourceRoot":"","sources":["../sources/AgentBasePending.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAe,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAKhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5C,uFAAuF;IACvF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IACzB,oEAAoE;IACpE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IACrB,0EAA0E;IAC1E,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;CAC7B,CAAC,CAAC;AAGH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,qBAAqB;CAC/B,CAAC,CAAC;AAGH;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CACzC,GAAY,EACZ,WAA6B;IAE7B,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,sBAAsB,CAAC,EAAE,KAAK,CAAC;IACpF,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,EAAE,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAClE,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CACxC,GAAY,EACZ,WAA6B;IAE7B,IAAI,CAAC,MAAM,uBAAuB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACjF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACxF,2FAA2F;IAC3F,4FAA4F;IAC5F,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AnyAgentTool } from "./AgentTool.js";
|
|
2
|
+
/**
|
|
3
|
+
* The mutable configuration of a running agent. The constructor copies the provided initial
|
|
4
|
+
* state into the agent's own `state`, which may then be mutated directly; every inference reads
|
|
5
|
+
* the current values.
|
|
6
|
+
*/
|
|
7
|
+
export interface AgentBaseState {
|
|
8
|
+
/** The base system instructions for the session; hooks may extend this before inference. */
|
|
9
|
+
instructions: string;
|
|
10
|
+
/** The base tools offered to the model; hooks may extend this before inference or a call. */
|
|
11
|
+
tools: AnyAgentTool[];
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=AgentBaseState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentBaseState.d.ts","sourceRoot":"","sources":["../sources/AgentBaseState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC3B,4FAA4F;IAC5F,YAAY,EAAE,MAAM,CAAC;IACrB,6FAA6F;IAC7F,KAAK,EAAE,YAAY,EAAE,CAAC;CACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentBaseState.js","sourceRoot":"","sources":["../sources/AgentBaseState.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type AsyncLock, type Context } from "@steve.kite/stdlib";
|
|
2
|
+
import type { AgentPersistence } from "./AgentPersistence.js";
|
|
3
|
+
/**
|
|
4
|
+
* A fresh lock for one owner of a store, remembered as belonging to that store. Two owners over
|
|
5
|
+
* one store are genuinely concurrent — that is what makes the store, rather than any one owner's
|
|
6
|
+
* memory, the authority — so each gets its own lock and neither waits for the other.
|
|
7
|
+
*/
|
|
8
|
+
export declare function agentBaseStoreLock(persistence: AgentPersistence): AsyncLock;
|
|
9
|
+
/**
|
|
10
|
+
* Run work with every owner of a store holding still. This is for the questions asked about a
|
|
11
|
+
* store from outside it — whether it owes work, or erasing it once its identity is gone — where
|
|
12
|
+
* a half-applied step of some owner would be read as a whole one. Owners only ever take their
|
|
13
|
+
* own lock, so taking all of them in one fixed order cannot deadlock against them.
|
|
14
|
+
*/
|
|
15
|
+
export declare function agentBaseWithStoreStill<Result>(ctx: Context, persistence: AgentPersistence, work: (ctx: Context) => Promise<Result>): Promise<Result>;
|
|
16
|
+
//# sourceMappingURL=AgentBaseStoreLock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentBaseStoreLock.d.ts","sourceRoot":"","sources":["../sources/AgentBaseStoreLock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAK9D;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,gBAAgB,GAAG,SAAS,CAS3E;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAChD,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,gBAAgB,EAC7B,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CASjB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { asyncLock } from "@steve.kite/stdlib";
|
|
2
|
+
/** Every lock handed out for a store, so `agentBaseWithStoreStill` can find and hold them all. */
|
|
3
|
+
const owners = new WeakMap();
|
|
4
|
+
/**
|
|
5
|
+
* A fresh lock for one owner of a store, remembered as belonging to that store. Two owners over
|
|
6
|
+
* one store are genuinely concurrent — that is what makes the store, rather than any one owner's
|
|
7
|
+
* memory, the authority — so each gets its own lock and neither waits for the other.
|
|
8
|
+
*/
|
|
9
|
+
export function agentBaseStoreLock(persistence) {
|
|
10
|
+
const created = asyncLock({ reentry: "block" });
|
|
11
|
+
const existing = owners.get(persistence);
|
|
12
|
+
if (existing === undefined) {
|
|
13
|
+
owners.set(persistence, [created]);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
existing.push(created);
|
|
17
|
+
}
|
|
18
|
+
return created;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Run work with every owner of a store holding still. This is for the questions asked about a
|
|
22
|
+
* store from outside it — whether it owes work, or erasing it once its identity is gone — where
|
|
23
|
+
* a half-applied step of some owner would be read as a whole one. Owners only ever take their
|
|
24
|
+
* own lock, so taking all of them in one fixed order cannot deadlock against them.
|
|
25
|
+
*/
|
|
26
|
+
export async function agentBaseWithStoreStill(ctx, persistence, work) {
|
|
27
|
+
const held = [...(owners.get(persistence) ?? [])];
|
|
28
|
+
/** Take the next lock in `held` and recurse, running `work` once every owner is held. */
|
|
29
|
+
const enter = async (index, entered) => {
|
|
30
|
+
const lock = held[index];
|
|
31
|
+
if (lock === undefined)
|
|
32
|
+
return await work(entered);
|
|
33
|
+
return await lock.runInLock(entered, (lockCtx) => enter(index + 1, lockCtx));
|
|
34
|
+
};
|
|
35
|
+
return await enter(0, ctx);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=AgentBaseStoreLock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentBaseStoreLock.js","sourceRoot":"","sources":["../sources/AgentBaseStoreLock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgC,MAAM,oBAAoB,CAAC;AAI7E,kGAAkG;AAClG,MAAM,MAAM,GAAG,IAAI,OAAO,EAAiC,CAAC;AAE5D;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAA6B;IAC5D,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACJ,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CACzC,GAAY,EACZ,WAA6B,EAC7B,IAAuC;IAEvC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,yFAAyF;IACzF,MAAM,KAAK,GAAG,KAAK,EAAE,KAAa,EAAE,OAAgB,EAAmB,EAAE;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACjF,CAAC,CAAC;IACF,OAAO,MAAM,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { type Static } from "@sinclair/typebox";
|
|
2
|
+
import { type Context } from "@steve.kite/stdlib";
|
|
3
|
+
/** The operating systems Node reports, mirroring `NodeJS.Platform`. */
|
|
4
|
+
export declare const agentPlatformSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"aix">, import("@sinclair/typebox").TLiteral<"android">, import("@sinclair/typebox").TLiteral<"cygwin">, import("@sinclair/typebox").TLiteral<"darwin">, import("@sinclair/typebox").TLiteral<"freebsd">, import("@sinclair/typebox").TLiteral<"haiku">, import("@sinclair/typebox").TLiteral<"linux">, import("@sinclair/typebox").TLiteral<"netbsd">, import("@sinclair/typebox").TLiteral<"openbsd">, import("@sinclair/typebox").TLiteral<"sunos">, import("@sinclair/typebox").TLiteral<"win32">]>;
|
|
5
|
+
/** The TypeScript type inferred from {@link agentPlatformSchema}. */
|
|
6
|
+
export type AgentPlatform = Static<typeof agentPlatformSchema>;
|
|
7
|
+
/**
|
|
8
|
+
* The settings one feature was configured with. The agent never looks inside: a feature owns
|
|
9
|
+
* the shape of its own entry and validates it against its own schema.
|
|
10
|
+
*/
|
|
11
|
+
export declare const agentFeatureConfigSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>;
|
|
12
|
+
/** The TypeScript type inferred from {@link agentFeatureConfigSchema}. */
|
|
13
|
+
export type AgentFeatureConfig = Static<typeof agentFeatureConfigSchema>;
|
|
14
|
+
/**
|
|
15
|
+
* The machine an agent works on. It is all or nothing: an agent either knows its environment
|
|
16
|
+
* completely or not at all, so nothing it is told about the machine is ever half-true.
|
|
17
|
+
*/
|
|
18
|
+
export declare const agentEnvironmentSchema: import("@sinclair/typebox").TObject<{
|
|
19
|
+
/** The operating system release, as a human-readable version string. */
|
|
20
|
+
osVersion: import("@sinclair/typebox").TString;
|
|
21
|
+
/** The operating system the agent runs on. */
|
|
22
|
+
platform: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"aix">, import("@sinclair/typebox").TLiteral<"android">, import("@sinclair/typebox").TLiteral<"cygwin">, import("@sinclair/typebox").TLiteral<"darwin">, import("@sinclair/typebox").TLiteral<"freebsd">, import("@sinclair/typebox").TLiteral<"haiku">, import("@sinclair/typebox").TLiteral<"linux">, import("@sinclair/typebox").TLiteral<"netbsd">, import("@sinclair/typebox").TLiteral<"openbsd">, import("@sinclair/typebox").TLiteral<"sunos">, import("@sinclair/typebox").TLiteral<"win32">]>;
|
|
23
|
+
/** The absolute path the agent's work is rooted at. */
|
|
24
|
+
workingDirectory: import("@sinclair/typebox").TString;
|
|
25
|
+
/** The shell the agent's commands run in, such as `/bin/zsh`. */
|
|
26
|
+
shell: import("@sinclair/typebox").TString;
|
|
27
|
+
}>;
|
|
28
|
+
/** The TypeScript type inferred from {@link agentEnvironmentSchema}. */
|
|
29
|
+
export type AgentEnvironment = Static<typeof agentEnvironmentSchema>;
|
|
30
|
+
/**
|
|
31
|
+
* What an agent was created with: the environment it works on, when it has one, and one opaque
|
|
32
|
+
* settings map per feature, keyed by the feature's name. The configuration is static for the
|
|
33
|
+
* agent's whole life and is persisted when the agent is created, so a later process resolves
|
|
34
|
+
* the very same agent it was created as.
|
|
35
|
+
*/
|
|
36
|
+
export declare const agentConfigSchema: import("@sinclair/typebox").TObject<{
|
|
37
|
+
/** The machine this agent was told it works on, when it was told anything at all. */
|
|
38
|
+
environment: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
39
|
+
/** The operating system release, as a human-readable version string. */
|
|
40
|
+
osVersion: import("@sinclair/typebox").TString;
|
|
41
|
+
/** The operating system the agent runs on. */
|
|
42
|
+
platform: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"aix">, import("@sinclair/typebox").TLiteral<"android">, import("@sinclair/typebox").TLiteral<"cygwin">, import("@sinclair/typebox").TLiteral<"darwin">, import("@sinclair/typebox").TLiteral<"freebsd">, import("@sinclair/typebox").TLiteral<"haiku">, import("@sinclair/typebox").TLiteral<"linux">, import("@sinclair/typebox").TLiteral<"netbsd">, import("@sinclair/typebox").TLiteral<"openbsd">, import("@sinclair/typebox").TLiteral<"sunos">, import("@sinclair/typebox").TLiteral<"win32">]>;
|
|
43
|
+
/** The absolute path the agent's work is rooted at. */
|
|
44
|
+
workingDirectory: import("@sinclair/typebox").TString;
|
|
45
|
+
/** The shell the agent's commands run in, such as `/bin/zsh`. */
|
|
46
|
+
shell: import("@sinclair/typebox").TString;
|
|
47
|
+
}>>;
|
|
48
|
+
/** Per-feature settings, keyed by feature name; each entry is opaque to the agent. */
|
|
49
|
+
features: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>>>;
|
|
50
|
+
}>;
|
|
51
|
+
/** The TypeScript type inferred from {@link agentConfigSchema}. */
|
|
52
|
+
export type AgentConfig = Static<typeof agentConfigSchema>;
|
|
53
|
+
/**
|
|
54
|
+
* The environment this process is running in, ready to be handed to an agent at creation. The
|
|
55
|
+
* platform is typed, so a Node release reporting an unknown platform fails to compile rather
|
|
56
|
+
* than slipping into a persisted configuration; an unset `SHELL` reports as no shell at all.
|
|
57
|
+
*/
|
|
58
|
+
export declare function currentAgentEnvironment(): AgentEnvironment;
|
|
59
|
+
/** Carry the configuration an agent was created with; every hook and tool reads it back. */
|
|
60
|
+
export declare function withAgentConfig(ctx: Context, config: AgentConfig): Context;
|
|
61
|
+
/** The configuration of the agent owning this context, when one was attached. */
|
|
62
|
+
export declare function agentConfig(ctx: Context): AgentConfig | undefined;
|
|
63
|
+
/** The environment of the agent owning this context, when it was created with one. */
|
|
64
|
+
export declare function agentEnvironment(ctx: Context): AgentEnvironment | undefined;
|
|
65
|
+
/** The opaque settings the named feature was configured with, if it was configured at all. */
|
|
66
|
+
export declare function agentFeatureConfig(ctx: Context, name: string): AgentFeatureConfig | undefined;
|
|
67
|
+
//# sourceMappingURL=AgentConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentConfig.d.ts","sourceRoot":"","sources":["../sources/AgentConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAA0B,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE1E,uEAAuE;AACvE,eAAO,MAAM,mBAAmB,kjBAY9B,CAAC;AAEH,qEAAqE;AACrE,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,wBAAwB,gHAA6C,CAAC;AAEnF,0EAA0E;AAC1E,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,sBAAsB;IAC/B,wEAAwE;;IAExE,8CAA8C;;IAE9C,uDAAuD;;IAEvD,iEAAiE;;EAEnE,CAAC;AAEH,wEAAwE;AACxE,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAErE;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;IAC1B,qFAAqF;;QApBrF,wEAAwE;;QAExE,8CAA8C;;QAE9C,uDAAuD;;QAEvD,iEAAiE;;;IAgBjE,sFAAsF;;EAExF,CAAC;AAEH,mEAAmE;AACnE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE3D;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,gBAAgB,CAQ1D;AAQD,4FAA4F;AAC5F,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAE1E;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAEjE;AAED,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAE3E;AAED,8FAA8F;AAC9F,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAE7F"}
|