create-ragen-app 0.6.2 → 0.8.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/README.md +23 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +186 -70
- package/dist/cli.js.map +1 -1
- package/dist/config-template.d.ts.map +1 -1
- package/dist/config-template.js +15 -3
- package/dist/config-template.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/llm-provider.d.ts +2 -0
- package/dist/llm-provider.d.ts.map +1 -1
- package/dist/llm-provider.js +12 -0
- package/dist/llm-provider.js.map +1 -1
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +10 -0
- package/dist/manifest.js.map +1 -1
- package/dist/manual-setup.d.ts.map +1 -1
- package/dist/manual-setup.js +3 -0
- package/dist/manual-setup.js.map +1 -1
- package/dist/route-table.d.ts +7 -0
- package/dist/route-table.d.ts.map +1 -1
- package/dist/route-table.js +3 -2
- package/dist/route-table.js.map +1 -1
- package/dist/secrets.d.ts +17 -0
- package/dist/secrets.d.ts.map +1 -1
- package/dist/secrets.js +23 -0
- package/dist/secrets.js.map +1 -1
- package/dist/storage-provider.d.ts +88 -3
- package/dist/storage-provider.d.ts.map +1 -1
- package/dist/storage-provider.js +138 -4
- package/dist/storage-provider.js.map +1 -1
- package/dist/tasks.d.ts +37 -0
- package/dist/tasks.d.ts.map +1 -1
- package/dist/tasks.js +55 -1
- package/dist/tasks.js.map +1 -1
- package/dist/worker-runtime.d.ts +38 -0
- package/dist/worker-runtime.d.ts.map +1 -1
- package/dist/worker-runtime.js +44 -1
- package/dist/worker-runtime.js.map +1 -1
- package/package.json +2 -2
package/dist/tasks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAU1D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,aAAa,EAAE,OAAO,CAAC;IACvB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO/D;AA4BD,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC,CA8C7B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;EAMlB,CAAC;AAEX,kFAAkF;AAClF,eAAO,MAAM,mBAAmB;;;;;;;;EAWtB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;EAOzB,CAAC;AAEX,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAI1E,CAAC;AAEJ,sEAAsE;AACtE,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,aAAa,EAAE,CAKjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,CAMzE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,GAAE,SAAS,aAAa,EAAoB,GACrD,OAAO,CAAC,aAAa,EAAE,CAAC,CAS1B;AAyBD;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,GAAG,EACH,QAAa,GACd,EAAE,UAAU,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtD;AAED,wBAAsB,mBAAmB,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5E;AAED,wBAAsB,oBAAoB,CAAC,EACzC,GAAG,EACH,GAAG,GACJ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5B;AAED,wBAAsB,YAAY,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1E;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EACxB,EAAE,OAAW,EAAE,YAAmB,EAAE,GAAE,cAAmB,GACxD,OAAO,CAAC,IAAI,CAAC,CAsBf"}
|
package/dist/tasks.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PII_PUBLISHED_PORTS = exports.PUBLISHED_PORTS = void 0;
|
|
3
|
+
exports.PROFILE_PUBLISHED_PORTS = exports.RUSTFS_PUBLISHED_PORTS = exports.PII_PUBLISHED_PORTS = exports.PUBLISHED_PORTS = void 0;
|
|
4
4
|
exports.isDockerAvailable = isDockerAvailable;
|
|
5
5
|
exports.normalizeComposeProjectName = normalizeComposeProjectName;
|
|
6
6
|
exports.resolveComposeProjectName = resolveComposeProjectName;
|
|
7
|
+
exports.publishedPortsFor = publishedPortsFor;
|
|
8
|
+
exports.composeUpCommand = composeUpCommand;
|
|
7
9
|
exports.busyPublishedPorts = busyPublishedPorts;
|
|
8
10
|
exports.startDockerServices = startDockerServices;
|
|
9
11
|
exports.installDependencies = installDependencies;
|
|
@@ -14,6 +16,8 @@ const node_crypto_1 = require("node:crypto");
|
|
|
14
16
|
const node_net_1 = require("node:net");
|
|
15
17
|
const node_path_1 = require("node:path");
|
|
16
18
|
const execa_1 = require("execa");
|
|
19
|
+
const pii_masking_1 = require("./pii-masking");
|
|
20
|
+
const storage_provider_1 = require("./storage-provider");
|
|
17
21
|
async function isDockerAvailable() {
|
|
18
22
|
try {
|
|
19
23
|
// A stuck `docker info` (e.g. Docker Desktop still starting up) would
|
|
@@ -128,6 +132,54 @@ exports.PII_PUBLISHED_PORTS = [
|
|
|
128
132
|
port: 5003,
|
|
129
133
|
},
|
|
130
134
|
];
|
|
135
|
+
/**
|
|
136
|
+
* The two more, behind the `s3` profile, that only a RustFS install starts:
|
|
137
|
+
* the S3 API the apps talk to, and the web console.
|
|
138
|
+
*/
|
|
139
|
+
exports.RUSTFS_PUBLISHED_PORTS = [
|
|
140
|
+
{ service: 'RustFS (S3 API)', variable: 'RUSTFS_PORT', port: 59000 },
|
|
141
|
+
{
|
|
142
|
+
service: 'RustFS console',
|
|
143
|
+
variable: 'RUSTFS_CONSOLE_PORT',
|
|
144
|
+
port: 59001,
|
|
145
|
+
},
|
|
146
|
+
];
|
|
147
|
+
/**
|
|
148
|
+
* The extra ports each optional profile publishes, keyed by profile name.
|
|
149
|
+
*
|
|
150
|
+
* One table rather than a branch per profile, because the port probe, the
|
|
151
|
+
* recovery command and the "update .env.local" hint all have to agree on what
|
|
152
|
+
* a profile starts — and with two profiles the branch-per-profile version was
|
|
153
|
+
* already printing a command that named only one of them.
|
|
154
|
+
*/
|
|
155
|
+
exports.PROFILE_PUBLISHED_PORTS = {
|
|
156
|
+
[pii_masking_1.PII_COMPOSE_PROFILE]: exports.PII_PUBLISHED_PORTS,
|
|
157
|
+
[storage_provider_1.RUSTFS_COMPOSE_PROFILE]: exports.RUSTFS_PUBLISHED_PORTS,
|
|
158
|
+
};
|
|
159
|
+
/** Every port a `docker compose up` with these profiles publishes. */
|
|
160
|
+
function publishedPortsFor(profiles) {
|
|
161
|
+
return [
|
|
162
|
+
...exports.PUBLISHED_PORTS,
|
|
163
|
+
...profiles.flatMap((profile) => exports.PROFILE_PUBLISHED_PORTS[profile] ?? []),
|
|
164
|
+
];
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* The `docker compose up` a person should type to get the stack this install
|
|
168
|
+
* configured, profiles included.
|
|
169
|
+
*
|
|
170
|
+
* Built from the same list `startDockerServices` is given, so a printed
|
|
171
|
+
* command cannot drift from an executed one. A command that drops a profile
|
|
172
|
+
* starts a stack without the services whose URLs were just written to
|
|
173
|
+
* `.env.local` — the half-configuration the profiles exist to prevent, only
|
|
174
|
+
* printed instead of executed.
|
|
175
|
+
*/
|
|
176
|
+
function composeUpCommand(profiles = []) {
|
|
177
|
+
return [
|
|
178
|
+
'docker compose',
|
|
179
|
+
...profiles.map((profile) => `--profile ${profile}`),
|
|
180
|
+
'up -d',
|
|
181
|
+
].join(' ');
|
|
182
|
+
}
|
|
131
183
|
/**
|
|
132
184
|
* Which of these host ports something is already listening on.
|
|
133
185
|
*
|
|
@@ -176,6 +228,8 @@ function isPortInUse(port) {
|
|
|
176
228
|
* Without it, choosing PII masking would write the two Presidio URLs and start
|
|
177
229
|
* nothing behind them: those services sit behind compose's `pii` profile, so a
|
|
178
230
|
* plain `up -d` skips them and the app would point at containers nobody ran.
|
|
231
|
+
* RustFS is the same shape behind `s3` — the apps would be configured for an
|
|
232
|
+
* object store on 59000 that nothing started, and fail at the first upload.
|
|
179
233
|
*/
|
|
180
234
|
async function startDockerServices({ cwd, profiles = [], }) {
|
|
181
235
|
const args = profiles.flatMap((profile) => ['--profile', profile]);
|
package/dist/tasks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../src/tasks.ts"],"names":[],"mappings":"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"}
|
package/dist/worker-runtime.d.ts
CHANGED
|
@@ -74,6 +74,29 @@ export declare const DEFAULT_ADMIN_USER = "admin";
|
|
|
74
74
|
* only one who knows it. A value they can see is a value they can raise.
|
|
75
75
|
*/
|
|
76
76
|
export declare const DEFAULT_WORKER_CONCURRENCY = "20";
|
|
77
|
+
/**
|
|
78
|
+
* How many ingests the whole deployment runs at once — and so how many
|
|
79
|
+
* conversions Docling sees — whatever `WORKER_CONCURRENCY` allows.
|
|
80
|
+
*
|
|
81
|
+
* It matches the worker's own default (`DOCLING_MAX_CONCURRENCY` in
|
|
82
|
+
* `apps/worker/src/consts.ts`, spec 2026-09-26-docling-under-load, D2):
|
|
83
|
+
* docling-serve converts two at a time, so four keeps two converting and two
|
|
84
|
+
* waiting in its queue. Without a ceiling, a first bulk import sent twenty per
|
|
85
|
+
* worker replica to a Docling that could answer two, and under
|
|
86
|
+
* `DOCLING_STRICT` the ones it could not answer in time failed.
|
|
87
|
+
*
|
|
88
|
+
* **Written for the reason `WORKER_CONCURRENCY` is.** An install that meets
|
|
89
|
+
* slow ingests looks at `WORKER_CONCURRENCY` first, and raising that does
|
|
90
|
+
* nothing while this ceiling holds, so the knob that actually binds has to be
|
|
91
|
+
* in the file. It is also the one to change when Docling gets more CPU:
|
|
92
|
+
* raise it together with Docling's `DOCLING_SERVE_ENG_LOC_NUM_WORKERS`, never
|
|
93
|
+
* on its own (`docs/document-processing.md`, "Sizing Docling").
|
|
94
|
+
*
|
|
95
|
+
* **A constant, not a guess from the machine**, although here cores do
|
|
96
|
+
* matter: they are the cores of the Docling host, which this installer does
|
|
97
|
+
* not see and which is often not the machine it runs on.
|
|
98
|
+
*/
|
|
99
|
+
export declare const DEFAULT_DOCLING_MAX_CONCURRENCY = "4";
|
|
77
100
|
export interface WorkerRuntimeAnswers {
|
|
78
101
|
/** Blank takes `DEFAULT_TEMPORAL_SERVER_ADDRESS`. */
|
|
79
102
|
temporalServerAddress: string;
|
|
@@ -98,4 +121,19 @@ export interface WorkerRuntimeSelection {
|
|
|
98
121
|
* the seam.
|
|
99
122
|
*/
|
|
100
123
|
export declare function resolveWorkerRuntimeSelection(choice: WorkerRuntimeChoice, answers?: WorkerRuntimeAnswers): WorkerRuntimeSelection;
|
|
124
|
+
/**
|
|
125
|
+
* The Docling ceiling for the runtime chosen — written beside the runtime's own
|
|
126
|
+
* variables, but not by `resolveWorkerRuntimeSelection`.
|
|
127
|
+
*
|
|
128
|
+
* Kept out of that selection on purpose: the selection writes only what
|
|
129
|
+
* `WORKER_RUNTIME_SEAM` names, and `create-ragen-app-knows-the-provider-seams`
|
|
130
|
+
* holds it to that. The ceiling is a worker setting about Docling, not part of
|
|
131
|
+
* choosing a runtime, and adding it to the seam would give `ragen.config.ts` a
|
|
132
|
+
* field that has nothing to do with the queue.
|
|
133
|
+
*
|
|
134
|
+
* BullMQ only: the ceiling is BullMQ's global concurrency on the ingest job,
|
|
135
|
+
* and Temporal counts activities, so under Temporal the variable does nothing
|
|
136
|
+
* and writing it would be a knob that moves nothing.
|
|
137
|
+
*/
|
|
138
|
+
export declare function doclingCeilingEnvUpdates(choice: WorkerRuntimeChoice): Record<string, string>;
|
|
101
139
|
//# sourceMappingURL=worker-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-runtime.d.ts","sourceRoot":"","sources":["../src/worker-runtime.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAExD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAIrE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,4BAA4B,CAAC;AAE3D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,+BAA+B,mBAAmB,CAAC;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,qEAAqE;IACrE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,mBAAmB,EAC3B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,sBAAsB,CAgCxB"}
|
|
1
|
+
{"version":3,"file":"worker-runtime.d.ts","sourceRoot":"","sources":["../src/worker-runtime.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAExD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAIrE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,4BAA4B,CAAC;AAE3D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,+BAA+B,mBAAmB,CAAC;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,qEAAqE;IACrE,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,mBAAmB,EAC3B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,sBAAsB,CAgCxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,mBAAmB,GAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIxB"}
|
package/dist/worker-runtime.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_WORKER_CONCURRENCY = exports.DEFAULT_ADMIN_USER = exports.DEFAULT_TEMPORAL_SERVER_ADDRESS = exports.DEFAULT_REDIS_URL = exports.WORKER_RUNTIME_LABELS = void 0;
|
|
3
|
+
exports.DEFAULT_DOCLING_MAX_CONCURRENCY = exports.DEFAULT_WORKER_CONCURRENCY = exports.DEFAULT_ADMIN_USER = exports.DEFAULT_TEMPORAL_SERVER_ADDRESS = exports.DEFAULT_REDIS_URL = exports.WORKER_RUNTIME_LABELS = void 0;
|
|
4
4
|
exports.generateAdminPassword = generateAdminPassword;
|
|
5
5
|
exports.resolveWorkerRuntimeSelection = resolveWorkerRuntimeSelection;
|
|
6
|
+
exports.doclingCeilingEnvUpdates = doclingCeilingEnvUpdates;
|
|
6
7
|
const node_crypto_1 = require("node:crypto");
|
|
7
8
|
exports.WORKER_RUNTIME_LABELS = {
|
|
8
9
|
bullmq: 'BullMQ — the default. Runs on the Redis this install already has.',
|
|
@@ -76,6 +77,29 @@ exports.DEFAULT_ADMIN_USER = 'admin';
|
|
|
76
77
|
* only one who knows it. A value they can see is a value they can raise.
|
|
77
78
|
*/
|
|
78
79
|
exports.DEFAULT_WORKER_CONCURRENCY = '20';
|
|
80
|
+
/**
|
|
81
|
+
* How many ingests the whole deployment runs at once — and so how many
|
|
82
|
+
* conversions Docling sees — whatever `WORKER_CONCURRENCY` allows.
|
|
83
|
+
*
|
|
84
|
+
* It matches the worker's own default (`DOCLING_MAX_CONCURRENCY` in
|
|
85
|
+
* `apps/worker/src/consts.ts`, spec 2026-09-26-docling-under-load, D2):
|
|
86
|
+
* docling-serve converts two at a time, so four keeps two converting and two
|
|
87
|
+
* waiting in its queue. Without a ceiling, a first bulk import sent twenty per
|
|
88
|
+
* worker replica to a Docling that could answer two, and under
|
|
89
|
+
* `DOCLING_STRICT` the ones it could not answer in time failed.
|
|
90
|
+
*
|
|
91
|
+
* **Written for the reason `WORKER_CONCURRENCY` is.** An install that meets
|
|
92
|
+
* slow ingests looks at `WORKER_CONCURRENCY` first, and raising that does
|
|
93
|
+
* nothing while this ceiling holds, so the knob that actually binds has to be
|
|
94
|
+
* in the file. It is also the one to change when Docling gets more CPU:
|
|
95
|
+
* raise it together with Docling's `DOCLING_SERVE_ENG_LOC_NUM_WORKERS`, never
|
|
96
|
+
* on its own (`docs/document-processing.md`, "Sizing Docling").
|
|
97
|
+
*
|
|
98
|
+
* **A constant, not a guess from the machine**, although here cores do
|
|
99
|
+
* matter: they are the cores of the Docling host, which this installer does
|
|
100
|
+
* not see and which is often not the machine it runs on.
|
|
101
|
+
*/
|
|
102
|
+
exports.DEFAULT_DOCLING_MAX_CONCURRENCY = '4';
|
|
79
103
|
/**
|
|
80
104
|
* **The runtime each variant cannot work without is written here**, not left to
|
|
81
105
|
* whatever `.env.example` happens to ship. `REDIS_URL` is required under
|
|
@@ -115,4 +139,23 @@ function resolveWorkerRuntimeSelection(choice, answers) {
|
|
|
115
139
|
dashboard: { user: exports.DEFAULT_ADMIN_USER, password, port },
|
|
116
140
|
};
|
|
117
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* The Docling ceiling for the runtime chosen — written beside the runtime's own
|
|
144
|
+
* variables, but not by `resolveWorkerRuntimeSelection`.
|
|
145
|
+
*
|
|
146
|
+
* Kept out of that selection on purpose: the selection writes only what
|
|
147
|
+
* `WORKER_RUNTIME_SEAM` names, and `create-ragen-app-knows-the-provider-seams`
|
|
148
|
+
* holds it to that. The ceiling is a worker setting about Docling, not part of
|
|
149
|
+
* choosing a runtime, and adding it to the seam would give `ragen.config.ts` a
|
|
150
|
+
* field that has nothing to do with the queue.
|
|
151
|
+
*
|
|
152
|
+
* BullMQ only: the ceiling is BullMQ's global concurrency on the ingest job,
|
|
153
|
+
* and Temporal counts activities, so under Temporal the variable does nothing
|
|
154
|
+
* and writing it would be a knob that moves nothing.
|
|
155
|
+
*/
|
|
156
|
+
function doclingCeilingEnvUpdates(choice) {
|
|
157
|
+
return choice === 'bullmq'
|
|
158
|
+
? { DOCLING_MAX_CONCURRENCY: exports.DEFAULT_DOCLING_MAX_CONCURRENCY }
|
|
159
|
+
: {};
|
|
160
|
+
}
|
|
118
161
|
//# sourceMappingURL=worker-runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-runtime.js","sourceRoot":"","sources":["../src/worker-runtime.ts"],"names":[],"mappings":";;;AA2DA,sDAEC;
|
|
1
|
+
{"version":3,"file":"worker-runtime.js","sourceRoot":"","sources":["../src/worker-runtime.ts"],"names":[],"mappings":";;;AA2DA,sDAEC;AA4ED,sEAmCC;AAgBD,4DAMC;AAlMD,6CAA0C;AAa7B,QAAA,qBAAqB,GAAwC;IACxE,MAAM,EAAE,mEAAmE;IAC3E,QAAQ,EACN,sEAAsE;CACzE,CAAC;AAEF;;;;;;GAMG;AACU,QAAA,iBAAiB,GAAG,yBAAyB,CAAC;AAE3D;;;;;;;;;;GAUG;AACU,QAAA,+BAA+B,GAAG,gBAAgB,CAAC;AAEhE;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,qBAAqB;IACnC,OAAO,IAAA,yBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC/C,CAAC;AAEY,QAAA,kBAAkB,GAAG,OAAO,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACU,QAAA,0BAA0B,GAAG,IAAI,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACU,QAAA,+BAA+B,GAAG,GAAG,CAAC;AAcnD;;;;;;;;GAQG;AACH,SAAgB,6BAA6B,CAC3C,MAA2B,EAC3B,OAA8B;IAE9B,6EAA6E;IAC7E,qEAAqE;IACrE,8EAA8E;IAC9E,2EAA2E;IAC3E,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE;gBACV,cAAc,EAAE,UAAU;gBAC1B,uBAAuB,EACrB,OAAO,EAAE,qBAAqB,CAAC,IAAI,EAAE;oBACrC,uCAA+B;aAClC;SACF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC;IAEpB,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE;YACV,cAAc,EAAE,QAAQ;YACxB,SAAS,EAAE,yBAAiB;YAC5B,kBAAkB,EAAE,kCAA0B;YAC9C,iBAAiB,EAAE,0BAAkB;YACrC,qBAAqB,EAAE,QAAQ;YAC/B,iBAAiB,EAAE,IAAI;SACxB;QACD,SAAS,EAAE,EAAE,IAAI,EAAE,0BAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACxD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,wBAAwB,CACtC,MAA2B;IAE3B,OAAO,MAAM,KAAK,QAAQ;QACxB,CAAC,CAAC,EAAE,uBAAuB,EAAE,uCAA+B,EAAE;QAC9D,CAAC,CAAC,EAAE,CAAC;AACT,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-ragen-app",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Scaffold a self-hosted Ragen AI installation with one command",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"directory": "packages/create-ragen-app"
|
|
21
21
|
},
|
|
22
22
|
"scripts": {
|
|
23
|
-
"build": "tsc -p tsconfig.json",
|
|
23
|
+
"build": "tsc -p tsconfig.json && chmod +x dist/index.js",
|
|
24
24
|
"clean": "rm -rf dist",
|
|
25
25
|
"prepack": "npm run clean && npm run build",
|
|
26
26
|
"lint": "eslint",
|