@robota-sdk/agent-session 3.0.7 → 3.1.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/CHANGELOG.md +366 -0
- package/README.md +98 -40
- package/dist/index.cjs +9 -0
- package/dist/{node/index.d.cts → index.d.cts} +100 -242
- package/dist/index.d.cts.map +1 -0
- package/dist/{node/index.d.ts → index.d.ts} +100 -242
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/node.cjs +13 -0
- package/dist/node.d.cts +876 -0
- package/dist/node.d.cts.map +1 -0
- package/dist/node.d.ts +876 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +14 -0
- package/dist/node.js.map +1 -0
- package/dist/session-claims-BQGdD3Fe.cjs +1 -0
- package/dist/session-claims-D-Azmxq6.js +2 -0
- package/dist/session-claims-D-Azmxq6.js.map +1 -0
- package/dist/session-claims-DELiAZkZ.d.cts +145 -0
- package/dist/session-claims-DELiAZkZ.d.cts.map +1 -0
- package/dist/session-claims-DELiAZkZ.d.ts +145 -0
- package/dist/session-claims-DELiAZkZ.d.ts.map +1 -0
- package/package.json +26 -25
- package/dist/node/index.cjs +0 -10
- package/dist/node/index.d.cts.map +0 -1
- package/dist/node/index.d.ts.map +0 -1
- package/dist/node/index.js +0 -11
- package/dist/node/index.js.map +0 -1
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { TProcessOwnerLiveness } from "@robota-sdk/agent-core";
|
|
2
|
+
import { ISessionClaim, TSessionLoadOutcome } from "@robota-sdk/agent-interface-session";
|
|
3
|
+
//#region src/session-log-reference-types.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Leaf type module for {@link IExternalPayloadReference}.
|
|
6
|
+
*
|
|
7
|
+
* Split out of `session-logger.ts` so `session-log-sinks.ts` and `session-log-payload.ts` can
|
|
8
|
+
* depend on this type without importing back from `session-logger.ts`, which previously created
|
|
9
|
+
* import cycles among the three files.
|
|
10
|
+
*/
|
|
11
|
+
interface IExternalPayloadReference {
|
|
12
|
+
kind: 'external-payload';
|
|
13
|
+
encoding: 'json';
|
|
14
|
+
sha256: string;
|
|
15
|
+
byteLength: number;
|
|
16
|
+
relativePath: string;
|
|
17
|
+
}
|
|
18
|
+
/** Session log event data — extensible record of event metadata. */
|
|
19
|
+
type TSessionLogValue = string | number | boolean | object | null | undefined;
|
|
20
|
+
type TSessionLogData = Record<string, TSessionLogValue>;
|
|
21
|
+
/**
|
|
22
|
+
* Hands a host the function that writes out everything still buffered, to run when the process is
|
|
23
|
+
* about to end (see `registerProcessExitFlush` in `@robota-sdk/agent-session/node`).
|
|
24
|
+
*/
|
|
25
|
+
type TRegisterExitFlush = (flush: () => void) => void;
|
|
26
|
+
interface IFileSessionLoggerOptions {
|
|
27
|
+
externalPayloadThresholdBytes?: number;
|
|
28
|
+
redactedValue?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Called once per distinct function (not once per logger) with a function that flushes every live
|
|
31
|
+
* logger, so a stream's buffered tail still reaches the log when the process exits mid-stream.
|
|
32
|
+
* Pass the same function to every logger. Absent, nothing is flushed on exit: the log then misses
|
|
33
|
+
* the unflushed tail of an abnormal exit.
|
|
34
|
+
*/
|
|
35
|
+
registerExitFlush?: TRegisterExitFlush;
|
|
36
|
+
}
|
|
37
|
+
//#endregion
|
|
38
|
+
//#region src/session-log-sinks.d.ts
|
|
39
|
+
/** Canonical validation and construction for every session-log external-payload reference. */
|
|
40
|
+
declare function createSessionLogExternalPayloadReference(sessionId: string, sha256: string, serialized: string): IExternalPayloadReference;
|
|
41
|
+
/** Workspace-neutral sink for content-addressed external JSON payloads. */
|
|
42
|
+
interface IExternalPayloadSink {
|
|
43
|
+
writeJson(sessionId: string, sha256: string, serialized: string): IExternalPayloadReference;
|
|
44
|
+
}
|
|
45
|
+
/** Workspace-neutral append sink for session-log bytes. */
|
|
46
|
+
interface ISessionLogSink {
|
|
47
|
+
append(sessionId: string, text: string): void;
|
|
48
|
+
readonly externalPayloadSink?: IExternalPayloadSink;
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/external-payload-source-types.d.ts
|
|
52
|
+
/**
|
|
53
|
+
* Leaf type module for {@link IExternalPayloadSource} and {@link ISessionLogSource}.
|
|
54
|
+
*
|
|
55
|
+
* Split out of `session-log-sources.ts` so `external-payload-resolution-contracts.ts` can depend
|
|
56
|
+
* on {@link IExternalPayloadSource} without importing back from `session-log-sources.ts`, which
|
|
57
|
+
* previously created an import cycle between the two.
|
|
58
|
+
*/
|
|
59
|
+
/** Workspace-neutral byte source for relative external-payload references. */
|
|
60
|
+
interface IExternalPayloadSource {
|
|
61
|
+
readBytes(relativePath: string, maxBytes: number): Uint8Array | undefined;
|
|
62
|
+
}
|
|
63
|
+
/** Workspace-neutral source for one session-log document and its optional payload source. */
|
|
64
|
+
interface ISessionLogSource {
|
|
65
|
+
/**
|
|
66
|
+
* The log's text as a plain store would hold it, or `undefined` when there is no log. A source
|
|
67
|
+
* that seals opens each sealed line, and fails on the first one it cannot: `ArtifactLockedError`
|
|
68
|
+
* while the keys are locked, `ArtifactCorruptError` for a line that does not open, and
|
|
69
|
+
* `SessionLogDecodeError` (`UNSUPPORTED_VERSION`) for one a newer build sealed. A plain source
|
|
70
|
+
* meeting a sealed line throws `ArtifactLockedError` with the reason `no-keys`, since no key in
|
|
71
|
+
* its process opens it.
|
|
72
|
+
*/
|
|
73
|
+
readText(): string | undefined;
|
|
74
|
+
readonly externalPayloadSource?: IExternalPayloadSource;
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
//#region src/session-claims.d.ts
|
|
78
|
+
/** Why a claim, a lend or a write was refused. */
|
|
79
|
+
type TSessionClaimRefusal =
|
|
80
|
+
/**
|
|
81
|
+
* Another writer holds the id: a session of this or another store instance, a process it is lent
|
|
82
|
+
* to, or another process. The refusal names who, as far as it can tell.
|
|
83
|
+
*/
|
|
84
|
+
'has_writer' |
|
|
85
|
+
/**
|
|
86
|
+
* What it was done under has ended: a save under a claim that is not the id's live one (it ended,
|
|
87
|
+
* it is another id's, or its marker is no longer its own), or a claim under a lease that ended.
|
|
88
|
+
*/
|
|
89
|
+
'released';
|
|
90
|
+
/** Who holds a session's writer marker, as a refusal names it. */
|
|
91
|
+
interface ISessionWriterHolder {
|
|
92
|
+
readonly pid?: number;
|
|
93
|
+
readonly hostname?: string;
|
|
94
|
+
/** The holder's start time, where the platform reads one. */
|
|
95
|
+
readonly startTime?: string;
|
|
96
|
+
/** This process holds it: a session of this store running or closing here, or a lend not yet taken over. */
|
|
97
|
+
readonly self: boolean;
|
|
98
|
+
readonly liveness: TProcessOwnerLiveness;
|
|
99
|
+
/** The id is lent: the holder is the subagent this process started, or this process until it takes over. */
|
|
100
|
+
readonly lent?: true;
|
|
101
|
+
}
|
|
102
|
+
/** How a store words its refusals: the command that releases a marker whose holder is not running. */
|
|
103
|
+
interface ISessionClaimRefusalWords {
|
|
104
|
+
readonly releaseCommand?: (sessionId: string) => string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* The process a store runs in, as a refusal names it: the Node store states it, because this module
|
|
108
|
+
* is neutral and reads no process. A refusal from a store with none names no pid and adds no
|
|
109
|
+
* platform sentence.
|
|
110
|
+
*/
|
|
111
|
+
interface ISessionClaimProcess {
|
|
112
|
+
readonly pid: number;
|
|
113
|
+
/** Windows reads no start time, so a holder that crashed may still be shown as holding the id. */
|
|
114
|
+
readonly windows: boolean;
|
|
115
|
+
}
|
|
116
|
+
/** What a refusal carries beside its reason. */
|
|
117
|
+
interface ISessionClaimRefusalDetails extends ISessionClaimRefusalWords {
|
|
118
|
+
readonly holder?: ISessionWriterHolder;
|
|
119
|
+
/** A `released` refusal of a claim under a lease, not of a save. */
|
|
120
|
+
readonly lease?: true;
|
|
121
|
+
/** The process the refusing store runs in. */
|
|
122
|
+
readonly ownProcess?: ISessionClaimProcess;
|
|
123
|
+
}
|
|
124
|
+
/** A claim, a lend or a write the store refused. Fixed text, the session id and the holder only. */
|
|
125
|
+
declare class SessionClaimedError extends Error {
|
|
126
|
+
readonly code: "SESSION_CLAIMED";
|
|
127
|
+
readonly sessionId: string;
|
|
128
|
+
readonly reason: TSessionClaimRefusal;
|
|
129
|
+
/** Who holds the id, for a `has_writer` refusal. */
|
|
130
|
+
readonly holder: ISessionWriterHolder | undefined;
|
|
131
|
+
/**
|
|
132
|
+
* A session of this process holds the id and has not let its claim go, so a caller may try again
|
|
133
|
+
* once it has. Not so for a lend, which runs until its subagent has exited, nor for another process.
|
|
134
|
+
*/
|
|
135
|
+
readonly closing: boolean;
|
|
136
|
+
constructor(sessionId: string, reason: TSessionClaimRefusal, details?: ISessionClaimRefusalDetails);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Whether `error` is a {@link SessionClaimedError}, by `code`: this package ships an ES and a CommonJS
|
|
140
|
+
* build, and the framework and a host that load one each see two classes no `instanceof` matches across.
|
|
141
|
+
*/
|
|
142
|
+
declare function isSessionClaimedError(error: unknown): error is SessionClaimedError;
|
|
143
|
+
//#endregion
|
|
144
|
+
export { isSessionClaimedError as a, IExternalPayloadSink as c, IExternalPayloadReference as d, IFileSessionLoggerOptions as f, TSessionClaimRefusal as i, ISessionLogSink as l, TSessionLogValue as m, ISessionWriterHolder as n, IExternalPayloadSource as o, TSessionLogData as p, SessionClaimedError as r, ISessionLogSource as s, ISessionClaimRefusalWords as t, createSessionLogExternalPayloadReference as u };
|
|
145
|
+
//# sourceMappingURL=session-claims-DELiAZkZ.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-claims-DELiAZkZ.d.cts","names":[],"sources":["../src/session-log-reference-types.ts","../src/session-log-sinks.ts","../src/external-payload-source-types.ts","../src/session-claims.ts"],"mappings":";;;;;;;;;;UAOiB;EACf;EACA;EACA;EACA;EACA;;;KAIU;KACA,kBAAkB,eAAe;;;;;KAMjC,sBAAsB;UAEjB;EACf;EACA;;;;;;;EAOA,oBAAoB;;;;;iBClBN,yCACd,mBACA,gBACA,qBACC;;UAcc;EACf,UAAU,mBAAmB,gBAAgB,qBAAqB;;;UAInD;EACf,OAAO,mBAAmB;WACjB,sBAAsB;;;;;;;;;;;;UChChB;EACf,UAAU,sBAAsB,mBAAmB;;;UAIpC;;;;;;;;;EASf;WACS,wBAAwB;;;;;KCAvB;;;;;;;;;;;;UAaK;WACN;WACA;;WAEA;;WAEA;WACA,UAAU;;WAEV;;;UAIM;WACN,kBAAkB;;;;;;;UAQZ;WACN;;WAEA;;;UAIM,oCAAoC;WAC1C,SAAS;;WAET;;WAEA,aAAa;;;cAsFX,4BAA4B;WAC9B;WACA;WACA,QAAQ;;WAER,QAAQ;;;;;WAKR;EAGP,YAAA,mBACA,QAAQ,sBACR,UAAS;;;;;;iBAkBG,sBAAsB,iBAAiB,SAAS"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { TProcessOwnerLiveness } from "@robota-sdk/agent-core";
|
|
2
|
+
import { ISessionClaim, TSessionLoadOutcome } from "@robota-sdk/agent-interface-session";
|
|
3
|
+
//#region src/session-log-reference-types.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Leaf type module for {@link IExternalPayloadReference}.
|
|
6
|
+
*
|
|
7
|
+
* Split out of `session-logger.ts` so `session-log-sinks.ts` and `session-log-payload.ts` can
|
|
8
|
+
* depend on this type without importing back from `session-logger.ts`, which previously created
|
|
9
|
+
* import cycles among the three files.
|
|
10
|
+
*/
|
|
11
|
+
interface IExternalPayloadReference {
|
|
12
|
+
kind: 'external-payload';
|
|
13
|
+
encoding: 'json';
|
|
14
|
+
sha256: string;
|
|
15
|
+
byteLength: number;
|
|
16
|
+
relativePath: string;
|
|
17
|
+
}
|
|
18
|
+
/** Session log event data — extensible record of event metadata. */
|
|
19
|
+
type TSessionLogValue = string | number | boolean | object | null | undefined;
|
|
20
|
+
type TSessionLogData = Record<string, TSessionLogValue>;
|
|
21
|
+
/**
|
|
22
|
+
* Hands a host the function that writes out everything still buffered, to run when the process is
|
|
23
|
+
* about to end (see `registerProcessExitFlush` in `@robota-sdk/agent-session/node`).
|
|
24
|
+
*/
|
|
25
|
+
type TRegisterExitFlush = (flush: () => void) => void;
|
|
26
|
+
interface IFileSessionLoggerOptions {
|
|
27
|
+
externalPayloadThresholdBytes?: number;
|
|
28
|
+
redactedValue?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Called once per distinct function (not once per logger) with a function that flushes every live
|
|
31
|
+
* logger, so a stream's buffered tail still reaches the log when the process exits mid-stream.
|
|
32
|
+
* Pass the same function to every logger. Absent, nothing is flushed on exit: the log then misses
|
|
33
|
+
* the unflushed tail of an abnormal exit.
|
|
34
|
+
*/
|
|
35
|
+
registerExitFlush?: TRegisterExitFlush;
|
|
36
|
+
}
|
|
37
|
+
//#endregion
|
|
38
|
+
//#region src/session-log-sinks.d.ts
|
|
39
|
+
/** Canonical validation and construction for every session-log external-payload reference. */
|
|
40
|
+
declare function createSessionLogExternalPayloadReference(sessionId: string, sha256: string, serialized: string): IExternalPayloadReference;
|
|
41
|
+
/** Workspace-neutral sink for content-addressed external JSON payloads. */
|
|
42
|
+
interface IExternalPayloadSink {
|
|
43
|
+
writeJson(sessionId: string, sha256: string, serialized: string): IExternalPayloadReference;
|
|
44
|
+
}
|
|
45
|
+
/** Workspace-neutral append sink for session-log bytes. */
|
|
46
|
+
interface ISessionLogSink {
|
|
47
|
+
append(sessionId: string, text: string): void;
|
|
48
|
+
readonly externalPayloadSink?: IExternalPayloadSink;
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/external-payload-source-types.d.ts
|
|
52
|
+
/**
|
|
53
|
+
* Leaf type module for {@link IExternalPayloadSource} and {@link ISessionLogSource}.
|
|
54
|
+
*
|
|
55
|
+
* Split out of `session-log-sources.ts` so `external-payload-resolution-contracts.ts` can depend
|
|
56
|
+
* on {@link IExternalPayloadSource} without importing back from `session-log-sources.ts`, which
|
|
57
|
+
* previously created an import cycle between the two.
|
|
58
|
+
*/
|
|
59
|
+
/** Workspace-neutral byte source for relative external-payload references. */
|
|
60
|
+
interface IExternalPayloadSource {
|
|
61
|
+
readBytes(relativePath: string, maxBytes: number): Uint8Array | undefined;
|
|
62
|
+
}
|
|
63
|
+
/** Workspace-neutral source for one session-log document and its optional payload source. */
|
|
64
|
+
interface ISessionLogSource {
|
|
65
|
+
/**
|
|
66
|
+
* The log's text as a plain store would hold it, or `undefined` when there is no log. A source
|
|
67
|
+
* that seals opens each sealed line, and fails on the first one it cannot: `ArtifactLockedError`
|
|
68
|
+
* while the keys are locked, `ArtifactCorruptError` for a line that does not open, and
|
|
69
|
+
* `SessionLogDecodeError` (`UNSUPPORTED_VERSION`) for one a newer build sealed. A plain source
|
|
70
|
+
* meeting a sealed line throws `ArtifactLockedError` with the reason `no-keys`, since no key in
|
|
71
|
+
* its process opens it.
|
|
72
|
+
*/
|
|
73
|
+
readText(): string | undefined;
|
|
74
|
+
readonly externalPayloadSource?: IExternalPayloadSource;
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
//#region src/session-claims.d.ts
|
|
78
|
+
/** Why a claim, a lend or a write was refused. */
|
|
79
|
+
type TSessionClaimRefusal =
|
|
80
|
+
/**
|
|
81
|
+
* Another writer holds the id: a session of this or another store instance, a process it is lent
|
|
82
|
+
* to, or another process. The refusal names who, as far as it can tell.
|
|
83
|
+
*/
|
|
84
|
+
'has_writer' |
|
|
85
|
+
/**
|
|
86
|
+
* What it was done under has ended: a save under a claim that is not the id's live one (it ended,
|
|
87
|
+
* it is another id's, or its marker is no longer its own), or a claim under a lease that ended.
|
|
88
|
+
*/
|
|
89
|
+
'released';
|
|
90
|
+
/** Who holds a session's writer marker, as a refusal names it. */
|
|
91
|
+
interface ISessionWriterHolder {
|
|
92
|
+
readonly pid?: number;
|
|
93
|
+
readonly hostname?: string;
|
|
94
|
+
/** The holder's start time, where the platform reads one. */
|
|
95
|
+
readonly startTime?: string;
|
|
96
|
+
/** This process holds it: a session of this store running or closing here, or a lend not yet taken over. */
|
|
97
|
+
readonly self: boolean;
|
|
98
|
+
readonly liveness: TProcessOwnerLiveness;
|
|
99
|
+
/** The id is lent: the holder is the subagent this process started, or this process until it takes over. */
|
|
100
|
+
readonly lent?: true;
|
|
101
|
+
}
|
|
102
|
+
/** How a store words its refusals: the command that releases a marker whose holder is not running. */
|
|
103
|
+
interface ISessionClaimRefusalWords {
|
|
104
|
+
readonly releaseCommand?: (sessionId: string) => string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* The process a store runs in, as a refusal names it: the Node store states it, because this module
|
|
108
|
+
* is neutral and reads no process. A refusal from a store with none names no pid and adds no
|
|
109
|
+
* platform sentence.
|
|
110
|
+
*/
|
|
111
|
+
interface ISessionClaimProcess {
|
|
112
|
+
readonly pid: number;
|
|
113
|
+
/** Windows reads no start time, so a holder that crashed may still be shown as holding the id. */
|
|
114
|
+
readonly windows: boolean;
|
|
115
|
+
}
|
|
116
|
+
/** What a refusal carries beside its reason. */
|
|
117
|
+
interface ISessionClaimRefusalDetails extends ISessionClaimRefusalWords {
|
|
118
|
+
readonly holder?: ISessionWriterHolder;
|
|
119
|
+
/** A `released` refusal of a claim under a lease, not of a save. */
|
|
120
|
+
readonly lease?: true;
|
|
121
|
+
/** The process the refusing store runs in. */
|
|
122
|
+
readonly ownProcess?: ISessionClaimProcess;
|
|
123
|
+
}
|
|
124
|
+
/** A claim, a lend or a write the store refused. Fixed text, the session id and the holder only. */
|
|
125
|
+
declare class SessionClaimedError extends Error {
|
|
126
|
+
readonly code: "SESSION_CLAIMED";
|
|
127
|
+
readonly sessionId: string;
|
|
128
|
+
readonly reason: TSessionClaimRefusal;
|
|
129
|
+
/** Who holds the id, for a `has_writer` refusal. */
|
|
130
|
+
readonly holder: ISessionWriterHolder | undefined;
|
|
131
|
+
/**
|
|
132
|
+
* A session of this process holds the id and has not let its claim go, so a caller may try again
|
|
133
|
+
* once it has. Not so for a lend, which runs until its subagent has exited, nor for another process.
|
|
134
|
+
*/
|
|
135
|
+
readonly closing: boolean;
|
|
136
|
+
constructor(sessionId: string, reason: TSessionClaimRefusal, details?: ISessionClaimRefusalDetails);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Whether `error` is a {@link SessionClaimedError}, by `code`: this package ships an ES and a CommonJS
|
|
140
|
+
* build, and the framework and a host that load one each see two classes no `instanceof` matches across.
|
|
141
|
+
*/
|
|
142
|
+
declare function isSessionClaimedError(error: unknown): error is SessionClaimedError;
|
|
143
|
+
//#endregion
|
|
144
|
+
export { isSessionClaimedError as a, IExternalPayloadSink as c, IExternalPayloadReference as d, IFileSessionLoggerOptions as f, TSessionClaimRefusal as i, ISessionLogSink as l, TSessionLogValue as m, ISessionWriterHolder as n, IExternalPayloadSource as o, TSessionLogData as p, SessionClaimedError as r, ISessionLogSource as s, ISessionClaimRefusalWords as t, createSessionLogExternalPayloadReference as u };
|
|
145
|
+
//# sourceMappingURL=session-claims-DELiAZkZ.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-claims-DELiAZkZ.d.ts","names":[],"sources":["../src/session-log-reference-types.ts","../src/session-log-sinks.ts","../src/external-payload-source-types.ts","../src/session-claims.ts"],"mappings":";;;;;;;;;;UAOiB;EACf;EACA;EACA;EACA;EACA;;;KAIU;KACA,kBAAkB,eAAe;;;;;KAMjC,sBAAsB;UAEjB;EACf;EACA;;;;;;;EAOA,oBAAoB;;;;;iBClBN,yCACd,mBACA,gBACA,qBACC;;UAcc;EACf,UAAU,mBAAmB,gBAAgB,qBAAqB;;;UAInD;EACf,OAAO,mBAAmB;WACjB,sBAAsB;;;;;;;;;;;;UChChB;EACf,UAAU,sBAAsB,mBAAmB;;;UAIpC;;;;;;;;;EASf;WACS,wBAAwB;;;;;KCAvB;;;;;;;;;;;;UAaK;WACN;WACA;;WAEA;;WAEA;WACA,UAAU;;WAEV;;;UAIM;WACN,kBAAkB;;;;;;;UAQZ;WACN;;WAEA;;;UAIM,oCAAoC;WAC1C,SAAS;;WAET;;WAEA,aAAa;;;cAsFX,4BAA4B;WAC9B;WACA;WACA,QAAQ;;WAER,QAAQ;;;;;WAKR;EAGP,YAAA,mBACA,QAAQ,sBACR,UAAS;;;;;;iBAkBG,sBAAsB,iBAAiB,SAAS"}
|
package/package.json
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@robota-sdk/agent-session",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.1",
|
|
4
4
|
"description": "Session for the Robota SDK: permission-gated tool execution, hooks, context tracking, compaction and persistence",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"main": "dist/
|
|
7
|
-
"types": "dist/
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
10
|
"source": "./src/index.ts",
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
"default": "./dist/node/index.js"
|
|
15
|
-
},
|
|
16
|
-
"require": {
|
|
17
|
-
"types": "./dist/node/index.d.cts",
|
|
18
|
-
"default": "./dist/node/index.cjs"
|
|
19
|
-
}
|
|
11
|
+
"import": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"default": "./dist/index.js"
|
|
20
14
|
},
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
15
|
+
"require": {
|
|
16
|
+
"types": "./dist/index.d.cts",
|
|
17
|
+
"default": "./dist/index.cjs"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"./node": {
|
|
21
|
+
"source": "./src/node.ts",
|
|
22
|
+
"browser": null,
|
|
23
|
+
"import": {
|
|
24
|
+
"types": "./dist/node.d.ts",
|
|
25
|
+
"default": "./dist/node.js"
|
|
26
|
+
},
|
|
27
|
+
"require": {
|
|
28
|
+
"types": "./dist/node.d.cts",
|
|
29
|
+
"default": "./dist/node.cjs"
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
32
|
"./package.json": "./package.json"
|
|
@@ -63,10 +63,11 @@
|
|
|
63
63
|
"node": ">=22.12.0"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"
|
|
67
|
-
"@robota-sdk/agent-
|
|
68
|
-
"@robota-sdk/agent-
|
|
69
|
-
"@robota-sdk/agent-interface-
|
|
66
|
+
"koffi": "3.3.1",
|
|
67
|
+
"@robota-sdk/agent-core": "3.1.1",
|
|
68
|
+
"@robota-sdk/agent-file-authority": "3.1.1",
|
|
69
|
+
"@robota-sdk/agent-interface-execution": "3.1.1",
|
|
70
|
+
"@robota-sdk/agent-interface-session": "3.1.1"
|
|
70
71
|
},
|
|
71
72
|
"devDependencies": {
|
|
72
73
|
"eslint": "^8.57.1",
|