@llm4ts/flow 0.6.0 → 0.6.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/dist/FlowError.d.ts +1 -0
- package/dist/FlowError.d.ts.map +1 -1
- package/dist/FlowError.js +4 -2
- package/dist/FlowError.js.map +1 -1
- package/dist/Workspace.d.ts +15 -0
- package/dist/Workspace.d.ts.map +1 -1
- package/dist/Workspace.js +27 -0
- package/dist/Workspace.js.map +1 -1
- package/package.json +2 -2
- package/src/FlowError.ts +4 -2
- package/src/Workspace.ts +32 -0
package/dist/FlowError.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ declare const WorkspaceLimitError_base: Schema.Class<WorkspaceLimitError, Schema
|
|
|
29
29
|
readonly operation: Schema.String;
|
|
30
30
|
readonly limit: Schema.Int;
|
|
31
31
|
readonly actual: Schema.Int;
|
|
32
|
+
readonly path: Schema.optionalKey<Schema.String>;
|
|
32
33
|
}>, import("effect/Cause").YieldableError>;
|
|
33
34
|
export declare class WorkspaceLimitError extends WorkspaceLimitError_base {
|
|
34
35
|
get message(): string;
|
package/dist/FlowError.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowError.d.ts","sourceRoot":"","sources":["../src/FlowError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;;;;;AAE9C,qBAAa,gBAAiB,SAAQ,qBAGpC;CAAG;;;;AAEL,qBAAa,cAAe,SAAQ,mBAElC;CAAG;;;;;;AAEL,qBAAa,wBAAyB,SAAQ,6BAO7C;IACC,IAAI,OAAO,IAAI,MAAM,CAEpB;CACF;;;;;AAED,qBAAa,kBAAmB,SAAQ,uBAMvC;CAAG
|
|
1
|
+
{"version":3,"file":"FlowError.d.ts","sourceRoot":"","sources":["../src/FlowError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;;;;;AAE9C,qBAAa,gBAAiB,SAAQ,qBAGpC;CAAG;;;;AAEL,qBAAa,cAAe,SAAQ,mBAElC;CAAG;;;;;;AAEL,qBAAa,wBAAyB,SAAQ,6BAO7C;IACC,IAAI,OAAO,IAAI,MAAM,CAEpB;CACF;;;;;AAED,qBAAa,kBAAmB,SAAQ,uBAMvC;CAAG;;;;;;;AAEJ,qBAAa,mBAAoB,SAAQ,wBAQxC;IACC,IAAI,OAAO,IAAI,MAAM,CAGpB;CACF;;;;;;;AAED,qBAAa,gBAAiB,SAAQ,qBAKpC;CAAG;;;;AAEL,qBAAa,WAAY,SAAQ,gBAE/B;CAAG;;;;;AAEL,qBAAa,YAAa,SAAQ,iBAGhC;CAAG;;;;;AAEL,qBAAa,YAAa,SAAQ,iBAGhC;IACA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAI,QAAQ,OAAO,QAAQ,CAAC,IAAI,KAAG,YAAY,CAI/D;CACL;;;;;AAED,qBAAa,oBAAqB,SAAQ,yBAMzC;IACC,IAAI,OAAO,IAAI,MAAM,CAIpB;CACF;;;;;;AAED,qBAAa,cAAe,SAAQ,mBAIlC;IACA,IAAI,OAAO,IAAI,MAAM,CAEpB;CACF;AAED,eAAO,MAAM,SAAS,4SAYpB,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA"}
|
package/dist/FlowError.js
CHANGED
|
@@ -27,10 +27,12 @@ export class WorkspacePathError extends Schema.TaggedErrorClass()("WorkspacePath
|
|
|
27
27
|
export class WorkspaceLimitError extends Schema.TaggedErrorClass()("WorkspaceLimit", {
|
|
28
28
|
operation: Schema.String,
|
|
29
29
|
limit: Schema.Int,
|
|
30
|
-
actual: Schema.Int
|
|
30
|
+
actual: Schema.Int,
|
|
31
|
+
path: Schema.optionalKey(Schema.String)
|
|
31
32
|
}) {
|
|
32
33
|
get message() {
|
|
33
|
-
|
|
34
|
+
const where = this.path === undefined ? "" : ` (${this.path})`;
|
|
35
|
+
return `${this.operation} exceeded limit ${this.limit}; received ${this.actual}${where}`;
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
export class WorkspaceIoError extends Schema.TaggedErrorClass()("WorkspaceIo", {
|
package/dist/FlowError.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowError.js","sourceRoot":"","sources":["../src/FlowError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,gBAAgB,EAAoB,CAAC,aAAa,EAAE;IAC/F,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;CAC3C,CAAC;CAAG;AAEL,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,gBAAgB,EAAkB,CAAC,WAAW,EAAE;IACzF,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,OAAO,wBAAyB,SAAQ,MAAM,CAAC,gBAAgB,EAA4B,CAC/F,0BAA0B,EAC1B;IACE,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,QAAQ,EAAE,MAAM,CAAC,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC,GAAG;CACnB,CACF;IACC,IAAI,OAAO;QACT,OAAO,iCAAiC,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,QAAQ,cAAc,IAAI,CAAC,MAAM,EAAE,CAAA;IACzG,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,gBAAgB,EAAsB,CACnF,eAAe,EACf;IACE,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,mBAAoB,SAAQ,MAAM,CAAC,gBAAgB,EAAuB,CACrF,gBAAgB,EAChB;IACE,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,KAAK,EAAE,MAAM,CAAC,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC,GAAG;
|
|
1
|
+
{"version":3,"file":"FlowError.js","sourceRoot":"","sources":["../src/FlowError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,gBAAgB,EAAoB,CAAC,aAAa,EAAE;IAC/F,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;CAC3C,CAAC;CAAG;AAEL,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,gBAAgB,EAAkB,CAAC,WAAW,EAAE;IACzF,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,OAAO,wBAAyB,SAAQ,MAAM,CAAC,gBAAgB,EAA4B,CAC/F,0BAA0B,EAC1B;IACE,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,QAAQ,EAAE,MAAM,CAAC,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC,GAAG;CACnB,CACF;IACC,IAAI,OAAO;QACT,OAAO,iCAAiC,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,QAAQ,cAAc,IAAI,CAAC,MAAM,EAAE,CAAA;IACzG,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,gBAAgB,EAAsB,CACnF,eAAe,EACf;IACE,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,mBAAoB,SAAQ,MAAM,CAAC,gBAAgB,EAAuB,CACrF,gBAAgB,EAChB;IACE,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,KAAK,EAAE,MAAM,CAAC,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CACxC,CACF;IACC,IAAI,OAAO;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAA;QAC9D,OAAO,GAAG,IAAI,CAAC,SAAS,mBAAmB,IAAI,CAAC,KAAK,cAAc,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,CAAA;IAC1F,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,gBAAgB,EAAoB,CAAC,aAAa,EAAE;IAC/F,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;CAC3C,CAAC;CAAG;AAEL,MAAM,OAAO,WAAY,SAAQ,MAAM,CAAC,gBAAgB,EAAe,CAAC,SAAS,EAAE;IACjF,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,gBAAgB,EAAgB,CAAC,SAAS,EAAE;IACnF,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC;CAAG;AAEL,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,gBAAgB,EAAgB,CAAC,KAAK,EAAE;IAC/E,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC;CACpC,CAAC;IACA,MAAM,CAAU,IAAI,GAAG,CAAC,KAA4B,EAAgB,EAAE,CACpE,YAAY,CAAC,IAAI,CAAC;QAChB,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,oBAAoB;QAC/C,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;KAC1C,CAAC,CAAA;;AAGN,MAAM,OAAO,oBAAqB,SAAQ,MAAM,CAAC,gBAAgB,EAAwB,CACvF,kBAAkB,EAClB;IACE,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CACF;IACC,IAAI,OAAO;QACT,MAAM,UAAU,GACd,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA;QAC7F,OAAO,cAAc,UAAU,eAAe,IAAI,CAAC,SAAS,EAAE,CAAA;IAChE,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,gBAAgB,EAAkB,CAAC,gBAAgB,EAAE;IAC9F,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9C,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC;IACA,IAAI,OAAO;QACT,OAAO,GAAG,IAAI,CAAC,MAAM,2BAA2B,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,MAAM,EAAE,CAAA;IACrF,CAAC;CACF;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;IACpC,gBAAgB;IAChB,cAAc;IACd,wBAAwB;IACxB,kBAAkB;IAClB,mBAAmB;IACnB,gBAAgB;IAChB,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,oBAAoB;IACpB,cAAc;CACf,CAAC,CAAA"}
|
package/dist/Workspace.d.ts
CHANGED
|
@@ -17,6 +17,21 @@ export interface WorkspaceLimits {
|
|
|
17
17
|
readonly maxDepth: number;
|
|
18
18
|
}
|
|
19
19
|
export declare const defaultWorkspaceLimits: WorkspaceLimits;
|
|
20
|
+
/**
|
|
21
|
+
* Limits for workspaces that read raw legacy sources (survey, extract,
|
|
22
|
+
* bench). Legacy estates routinely carry multi-megabyte programs, copybooks,
|
|
23
|
+
* and generated exports, so the default 1 MiB read cap — sized for
|
|
24
|
+
* spec-and-plan repositories — would fail an inventory on its first big
|
|
25
|
+
* file. 8 MiB accommodates real estates while still refusing runaway blobs.
|
|
26
|
+
*/
|
|
27
|
+
export declare const legacySourceWorkspaceLimits: WorkspaceLimits;
|
|
28
|
+
/**
|
|
29
|
+
* `defaults` with the per-file read cap overridden by `LLM4TS_MAX_READ_BYTES`
|
|
30
|
+
* when it holds a positive integer; anything else leaves the defaults
|
|
31
|
+
* untouched. The escape hatch for estates whose sources exceed even the
|
|
32
|
+
* legacy-source cap.
|
|
33
|
+
*/
|
|
34
|
+
export declare const workspaceLimitsFromEnv: (environment: Readonly<Record<string, string | undefined>>, defaults?: WorkspaceLimits) => WorkspaceLimits;
|
|
20
35
|
export interface WorkspaceShape {
|
|
21
36
|
readonly root: string;
|
|
22
37
|
readonly resolve: (path: string) => Effect.Effect<string, WorkspaceError>;
|
package/dist/Workspace.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Workspace.d.ts","sourceRoot":"","sources":["../src/Workspace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAE1F,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,gBAAgB,CAAA;;;;;;AAExF,qBAAa,WAAY,SAAQ,gBAI/B;CAAG;AAEL,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAED,eAAO,MAAM,sBAAsB,EAAE,eAKnC,CAAA;AAEF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACzE,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACtE,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;IACvF,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;IACxF,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAA;IAC7F,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,CAAA;CAC/D;;AAED,qBAAa,SAAU,SAAQ,cAE9B;CAAG;AAmCJ,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACpD;AAED,eAAO,MAAM,mBAAmB,GAC9B,UAAS,sBAA2B,KACnC,MAAM,CAAC,MAAM,CAAC,cAAc,CAwK9B,CAAA"}
|
|
1
|
+
{"version":3,"file":"Workspace.d.ts","sourceRoot":"","sources":["../src/Workspace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAE1F,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,gBAAgB,CAAA;;;;;;AAExF,qBAAa,WAAY,SAAQ,gBAI/B;CAAG;AAEL,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAED,eAAO,MAAM,sBAAsB,EAAE,eAKnC,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,EAAE,eAGxC,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GACjC,aAAa,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,EACzD,WAAU,eAAwC,KACjD,eASF,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACzE,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACtE,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;IACvF,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;IACxF,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAA;IAC7F,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,CAAA;CAC/D;;AAED,qBAAa,SAAU,SAAQ,cAE9B;CAAG;AAmCJ,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACpD;AAED,eAAO,MAAM,mBAAmB,GAC9B,UAAS,sBAA2B,KACnC,MAAM,CAAC,MAAM,CAAC,cAAc,CAwK9B,CAAA"}
|
package/dist/Workspace.js
CHANGED
|
@@ -15,6 +15,33 @@ export const defaultWorkspaceLimits = Object.freeze({
|
|
|
15
15
|
maxResults: 1_000,
|
|
16
16
|
maxDepth: 32
|
|
17
17
|
});
|
|
18
|
+
/**
|
|
19
|
+
* Limits for workspaces that read raw legacy sources (survey, extract,
|
|
20
|
+
* bench). Legacy estates routinely carry multi-megabyte programs, copybooks,
|
|
21
|
+
* and generated exports, so the default 1 MiB read cap — sized for
|
|
22
|
+
* spec-and-plan repositories — would fail an inventory on its first big
|
|
23
|
+
* file. 8 MiB accommodates real estates while still refusing runaway blobs.
|
|
24
|
+
*/
|
|
25
|
+
export const legacySourceWorkspaceLimits = Object.freeze({
|
|
26
|
+
...defaultWorkspaceLimits,
|
|
27
|
+
maxReadBytes: 8_388_608
|
|
28
|
+
});
|
|
29
|
+
/**
|
|
30
|
+
* `defaults` with the per-file read cap overridden by `LLM4TS_MAX_READ_BYTES`
|
|
31
|
+
* when it holds a positive integer; anything else leaves the defaults
|
|
32
|
+
* untouched. The escape hatch for estates whose sources exceed even the
|
|
33
|
+
* legacy-source cap.
|
|
34
|
+
*/
|
|
35
|
+
export const workspaceLimitsFromEnv = (environment, defaults = defaultWorkspaceLimits) => {
|
|
36
|
+
const raw = environment.LLM4TS_MAX_READ_BYTES?.trim();
|
|
37
|
+
if (raw === undefined || raw.length === 0 || !/^\d+$/.test(raw)) {
|
|
38
|
+
return defaults;
|
|
39
|
+
}
|
|
40
|
+
const parsed = Number.parseInt(raw, 10);
|
|
41
|
+
return Number.isSafeInteger(parsed) && parsed > 0
|
|
42
|
+
? { ...defaults, maxReadBytes: parsed }
|
|
43
|
+
: defaults;
|
|
44
|
+
};
|
|
18
45
|
export class Workspace extends Context.Service()("@llm4ts/flow/Workspace") {
|
|
19
46
|
}
|
|
20
47
|
const globRegex = (glob) => {
|
package/dist/Workspace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Workspace.js","sourceRoot":"","sources":["../src/Workspace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AACjC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAI1F,MAAM,OAAO,WAAY,SAAQ,MAAM,CAAC,KAAK,CAAc,aAAa,CAAC,CAAC;IACxE,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM;CACpB,CAAC;CAAG;AASL,MAAM,CAAC,MAAM,sBAAsB,GAAoB,MAAM,CAAC,MAAM,CAAC;IACnE,YAAY,EAAE,SAAS;IACvB,aAAa,EAAE,SAAS;IACxB,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,EAAE;CACb,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Workspace.js","sourceRoot":"","sources":["../src/Workspace.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@llm4ts/flow",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.2",
|
|
4
4
|
"description": "Effect-native LLM workflow, persistence, review, and repository automation",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"typescript"
|
|
79
79
|
],
|
|
80
80
|
"dependencies": {
|
|
81
|
-
"@llm4ts/core": "0.6.
|
|
81
|
+
"@llm4ts/core": "0.6.2"
|
|
82
82
|
},
|
|
83
83
|
"peerDependencies": {
|
|
84
84
|
"effect": "^4.0.0-beta.102"
|
package/src/FlowError.ts
CHANGED
|
@@ -37,11 +37,13 @@ export class WorkspaceLimitError extends Schema.TaggedErrorClass<WorkspaceLimitE
|
|
|
37
37
|
{
|
|
38
38
|
operation: Schema.String,
|
|
39
39
|
limit: Schema.Int,
|
|
40
|
-
actual: Schema.Int
|
|
40
|
+
actual: Schema.Int,
|
|
41
|
+
path: Schema.optionalKey(Schema.String)
|
|
41
42
|
}
|
|
42
43
|
) {
|
|
43
44
|
get message(): string {
|
|
44
|
-
|
|
45
|
+
const where = this.path === undefined ? "" : ` (${this.path})`
|
|
46
|
+
return `${this.operation} exceeded limit ${this.limit}; received ${this.actual}${where}`
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
49
|
|
package/src/Workspace.ts
CHANGED
|
@@ -26,6 +26,38 @@ export const defaultWorkspaceLimits: WorkspaceLimits = Object.freeze({
|
|
|
26
26
|
maxDepth: 32
|
|
27
27
|
})
|
|
28
28
|
|
|
29
|
+
/**
|
|
30
|
+
* Limits for workspaces that read raw legacy sources (survey, extract,
|
|
31
|
+
* bench). Legacy estates routinely carry multi-megabyte programs, copybooks,
|
|
32
|
+
* and generated exports, so the default 1 MiB read cap — sized for
|
|
33
|
+
* spec-and-plan repositories — would fail an inventory on its first big
|
|
34
|
+
* file. 8 MiB accommodates real estates while still refusing runaway blobs.
|
|
35
|
+
*/
|
|
36
|
+
export const legacySourceWorkspaceLimits: WorkspaceLimits = Object.freeze({
|
|
37
|
+
...defaultWorkspaceLimits,
|
|
38
|
+
maxReadBytes: 8_388_608
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* `defaults` with the per-file read cap overridden by `LLM4TS_MAX_READ_BYTES`
|
|
43
|
+
* when it holds a positive integer; anything else leaves the defaults
|
|
44
|
+
* untouched. The escape hatch for estates whose sources exceed even the
|
|
45
|
+
* legacy-source cap.
|
|
46
|
+
*/
|
|
47
|
+
export const workspaceLimitsFromEnv = (
|
|
48
|
+
environment: Readonly<Record<string, string | undefined>>,
|
|
49
|
+
defaults: WorkspaceLimits = defaultWorkspaceLimits
|
|
50
|
+
): WorkspaceLimits => {
|
|
51
|
+
const raw = environment.LLM4TS_MAX_READ_BYTES?.trim()
|
|
52
|
+
if (raw === undefined || raw.length === 0 || !/^\d+$/.test(raw)) {
|
|
53
|
+
return defaults
|
|
54
|
+
}
|
|
55
|
+
const parsed = Number.parseInt(raw, 10)
|
|
56
|
+
return Number.isSafeInteger(parsed) && parsed > 0
|
|
57
|
+
? { ...defaults, maxReadBytes: parsed }
|
|
58
|
+
: defaults
|
|
59
|
+
}
|
|
60
|
+
|
|
29
61
|
export interface WorkspaceShape {
|
|
30
62
|
readonly root: string
|
|
31
63
|
readonly resolve: (path: string) => Effect.Effect<string, WorkspaceError>
|