agent-nuvira 3.5.6 → 3.5.7
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/.agents/skills/index.json +16 -0
- package/.agents/skills/motion/SKILL.md +27 -0
- package/README.md +56 -1
- package/dist/cli/chat.d.ts +76 -17
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +258 -118
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/doctor.d.ts +31 -2
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +143 -7
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/loop-executor.d.ts.map +1 -1
- package/dist/cli/loop-executor.js +4 -1
- package/dist/cli/loop-executor.js.map +1 -1
- package/dist/cli/parity.d.ts +12 -0
- package/dist/cli/parity.d.ts.map +1 -1
- package/dist/cli/parity.js +46 -1
- package/dist/cli/parity.js.map +1 -1
- package/dist/cli/tool-install-prompt.d.ts +2 -7
- package/dist/cli/tool-install-prompt.d.ts.map +1 -1
- package/dist/cli/tool-install-prompt.js +11 -28
- package/dist/cli/tool-install-prompt.js.map +1 -1
- package/dist/config/scratch-workspace.d.ts +134 -0
- package/dist/config/scratch-workspace.d.ts.map +1 -0
- package/dist/config/scratch-workspace.js +213 -0
- package/dist/config/scratch-workspace.js.map +1 -0
- package/dist/gateway/adapters.d.ts +24 -0
- package/dist/gateway/adapters.d.ts.map +1 -1
- package/dist/gateway/adapters.js +12 -0
- package/dist/gateway/adapters.js.map +1 -1
- package/dist/gateway/oversized-reply.d.ts +39 -0
- package/dist/gateway/oversized-reply.d.ts.map +1 -0
- package/dist/gateway/oversized-reply.js +54 -0
- package/dist/gateway/oversized-reply.js.map +1 -0
- package/dist/gateway/registry.d.ts +0 -10
- package/dist/gateway/registry.d.ts.map +1 -1
- package/dist/gateway/registry.js +148 -4
- package/dist/gateway/registry.js.map +1 -1
- package/dist/learning/quota-ledger.d.ts +24 -0
- package/dist/learning/quota-ledger.d.ts.map +1 -1
- package/dist/learning/quota-ledger.js +40 -0
- package/dist/learning/quota-ledger.js.map +1 -1
- package/dist/learning/runtime-dependencies.d.ts +183 -0
- package/dist/learning/runtime-dependencies.d.ts.map +1 -0
- package/dist/learning/runtime-dependencies.js +349 -0
- package/dist/learning/runtime-dependencies.js.map +1 -0
- package/dist/learning/skill-store.d.ts.map +1 -1
- package/dist/learning/skill-store.js +6 -5
- package/dist/learning/skill-store.js.map +1 -1
- package/dist/skills/bundled-skills-phase3.d.ts +14 -0
- package/dist/skills/bundled-skills-phase3.d.ts.map +1 -1
- package/dist/skills/bundled-skills-phase3.js +50 -0
- package/dist/skills/bundled-skills-phase3.js.map +1 -1
- package/dist/tools/modality/motion-presets.d.ts +62 -0
- package/dist/tools/modality/motion-presets.d.ts.map +1 -0
- package/dist/tools/modality/motion-presets.js +399 -0
- package/dist/tools/modality/motion-presets.js.map +1 -0
- package/dist/tools/modality/motion-tool.d.ts +62 -0
- package/dist/tools/modality/motion-tool.d.ts.map +1 -0
- package/dist/tools/modality/motion-tool.js +220 -0
- package/dist/tools/modality/motion-tool.js.map +1 -0
- package/dist/tools/modality/motion.d.ts +298 -0
- package/dist/tools/modality/motion.d.ts.map +1 -0
- package/dist/tools/modality/motion.js +514 -0
- package/dist/tools/modality/motion.js.map +1 -0
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +75 -0
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +66 -16
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/tools/toolsets.js +2 -2
- package/dist/tools/toolsets.js.map +1 -1
- package/dist/utils/workspace-need.d.ts +84 -0
- package/dist/utils/workspace-need.d.ts.map +1 -0
- package/dist/utils/workspace-need.js +227 -0
- package/dist/utils/workspace-need.js.map +1 -0
- package/dist/web-dashboard/chat-console.d.ts +22 -0
- package/dist/web-dashboard/chat-console.d.ts.map +1 -1
- package/dist/web-dashboard/chat-console.js +65 -11
- package/dist/web-dashboard/chat-console.js.map +1 -1
- package/dist/web-dashboard/hub-data.d.ts +9 -1
- package/dist/web-dashboard/hub-data.d.ts.map +1 -1
- package/dist/web-dashboard/hub-data.js +2 -0
- package/dist/web-dashboard/hub-data.js.map +1 -1
- package/dist/web-dashboard/project-context.d.ts +1 -1
- package/dist/web-dashboard/project-context.d.ts.map +1 -1
- package/dist/web-dashboard/project-context.js +7 -1
- package/dist/web-dashboard/project-context.js.map +1 -1
- package/dist/web-dashboard/server.d.ts +33 -0
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +204 -21
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +46 -0
- package/dist/web-dashboard/src/types.d.ts.map +1 -1
- package/dist/web-dashboard/workspace-guard.d.ts +20 -21
- package/dist/web-dashboard/workspace-guard.d.ts.map +1 -1
- package/dist/web-dashboard/workspace-guard.js +20 -153
- package/dist/web-dashboard/workspace-guard.js.map +1 -1
- package/dist/web-dashboard/workspace-resolution.d.ts +23 -5
- package/dist/web-dashboard/workspace-resolution.d.ts.map +1 -1
- package/dist/web-dashboard/workspace-resolution.js +22 -4
- package/dist/web-dashboard/workspace-resolution.js.map +1 -1
- package/package.json +1 -1
- package/src/web-dashboard/public/assets/{index-DeSsNU94.css → index-CzRU84ET.css} +1 -1
- package/src/web-dashboard/public/assets/index-V0rIqVbg.js +236 -0
- package/src/web-dashboard/public/assets/index-V0rIqVbg.js.map +1 -0
- package/src/web-dashboard/public/index.html +2 -2
- package/src/web-dashboard/public/assets/index-Do_O67Kv.js +0 -236
- package/src/web-dashboard/public/assets/index-Do_O67Kv.js.map +0 -1
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The SCRATCH WORKSPACE — where a turn writes when no project folder is known.
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS. A turn that must produce a file and has no workspace used to
|
|
5
|
+
* be dead-ended: the dashboard refused with "attach a folder" (see
|
|
6
|
+
* `workspace-guard.ts`), and a messaging turn simply wrote into whatever
|
|
7
|
+
* directory the gateway process happened to run in — a tree that belongs to
|
|
8
|
+
* nobody asking the question. Neither is intelligent handling of a request the
|
|
9
|
+
* user genuinely made: asked for a script and no folder, the right answer is a
|
|
10
|
+
* file the user is TOLD about, not a refusal and not an invisible write.
|
|
11
|
+
*
|
|
12
|
+
* THE LADDER, and this module is only its last rung. A turn's workspace is
|
|
13
|
+
* resolved in `workspace-resolution.ts`: the folder the user attached, then the
|
|
14
|
+
* one this chat attached earlier, then one they named in their message, then
|
|
15
|
+
* the operator's configured default (`dashboard.cwd`) — and only then here.
|
|
16
|
+
* The scratch folder is never presented as a project: every surface is required
|
|
17
|
+
* to say where the file went and offer to keep it (set it as the project, move
|
|
18
|
+
* it, or attach a real folder).
|
|
19
|
+
*
|
|
20
|
+
* WHY NOT `os.tmpdir()` FIRST. `os.tmpdir()` is the obvious choice and the wrong
|
|
21
|
+
* primary: macOS clears `/var/folders` and systemd-tmpfiles clears `/tmp`, so
|
|
22
|
+
* "your file is at /tmp/x" can be a path that stops existing between the reply
|
|
23
|
+
* and the user going to look for it. The primary root is therefore a durable,
|
|
24
|
+
* clearly-temporary directory under the app's own home (or `$NUVIRA_SCRATCH_DIR`),
|
|
25
|
+
* with `os.tmpdir()` kept as the fallback for a home that is not writable. Both
|
|
26
|
+
* paths are built with `node:path`/`node:os`, so every OS is covered without a
|
|
27
|
+
* single `process.platform` branch.
|
|
28
|
+
*
|
|
29
|
+
* DEFECTS THIS CLOSES (measured):
|
|
30
|
+
* - WhatsApp, trace-1792061511046-jdhgyy: a poem request took 117s, the poem
|
|
31
|
+
* was produced and then deleted by a gate, and the sender got a dangling
|
|
32
|
+
* fragment. Nothing to do with scratch alone — but the same session had no
|
|
33
|
+
* workspace at all, which is what made the turn's file behaviour
|
|
34
|
+
* unpredictable in the first place.
|
|
35
|
+
* - Dashboard chat: "agent keep going mad and confused when project folder not
|
|
36
|
+
* attached" — a produce ask was refused for a folder it did not need.
|
|
37
|
+
*/
|
|
38
|
+
import type { MissingWorkspaceNeed } from '../utils/workspace-need.js';
|
|
39
|
+
/** Default retention for a scratch folder nobody came back to (30 days). */
|
|
40
|
+
export declare const SCRATCH_RETENTION_MS: number;
|
|
41
|
+
/**
|
|
42
|
+
* Turn an arbitrary key (a session id, a `platform:channelId` contact key) into
|
|
43
|
+
* ONE filesystem-safe directory name.
|
|
44
|
+
*
|
|
45
|
+
* A key that is already safe is returned unchanged, so the dashboard's own
|
|
46
|
+
* session ids produce readable paths. A key that needed character substitution
|
|
47
|
+
* (a WhatsApp `jid` is `918800604222@s.whatsapp.net`, which contains `@` and a
|
|
48
|
+
* dot) gets a short hash of the RAW key appended: substitution alone can collide
|
|
49
|
+
* two different contacts onto one folder, and two people sharing a scratch
|
|
50
|
+
* directory is a defect, not a curiosity.
|
|
51
|
+
*/
|
|
52
|
+
export declare function scratchKeyToDirName(key: string): string;
|
|
53
|
+
/**
|
|
54
|
+
* The scratch ROOT: `$NUVIRA_SCRATCH_DIR`, else `<nuvira home>/workspace`.
|
|
55
|
+
*
|
|
56
|
+
* `resolveNuviraDataPath` honours `$NUVIRA_CONFIG_DIR`, so an isolated
|
|
57
|
+
* deployment (and the test suite) never writes scratch folders into the real
|
|
58
|
+
* `~/.nuvira`.
|
|
59
|
+
*/
|
|
60
|
+
export declare function scratchWorkspaceRoot(): string;
|
|
61
|
+
/** The scratch directory a given key WOULD use (not created, not checked). */
|
|
62
|
+
export declare function scratchWorkspaceFor(key: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* Create (if needed) and return the scratch directory for `key`, or `undefined`
|
|
65
|
+
* when no writable location exists — the caller must then behave exactly as it
|
|
66
|
+
* did before this module existed (ask for a folder; never guess a path).
|
|
67
|
+
*
|
|
68
|
+
* Two candidates, in order: the app-home root, then `os.tmpdir()`. The first
|
|
69
|
+
* that can actually be created and written wins. Never throws.
|
|
70
|
+
*/
|
|
71
|
+
export declare function ensureScratchWorkspace(key: string): string | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* The scratch folder for THIS turn, or `undefined` when a scratch folder must
|
|
74
|
+
* not be used — one place, so two surfaces cannot answer the same question
|
|
75
|
+
* differently.
|
|
76
|
+
*
|
|
77
|
+
* The caller applies the ladder FIRST (attached → session → named in the message
|
|
78
|
+
* → the deployment's configured default) and asks here only when the turn has no
|
|
79
|
+
* folder of the user's. Three conditions then decide it, and each is a case where
|
|
80
|
+
* a temporary folder would be worse than none:
|
|
81
|
+
*
|
|
82
|
+
* 1. `need === 'produce'` — a place to PUT new work. A scratch folder is EMPTY,
|
|
83
|
+
* so it can neither answer an ask about work that already exists (`'read'`)
|
|
84
|
+
* nor serve plain chat (`null`).
|
|
85
|
+
* 2. NOT plain chat, for a second reason the first cannot cover: `projectPath`
|
|
86
|
+
* also drives per-project recall, the resume fingerprint and worktree
|
|
87
|
+
* isolation, so handing one to a turn that asked for nothing changes what
|
|
88
|
+
* the turn IS rather than where it writes.
|
|
89
|
+
* 3. NOT an ISOLATED turn. Isolation's contract is a throwaway copy of a REAL
|
|
90
|
+
* project plus the diff against its base commit (`tools/worktree.ts`), and a
|
|
91
|
+
* scratch folder is neither a project nor a repository — it has no commit to
|
|
92
|
+
* start from, so it cannot be isolated at all. Substituting one turns a
|
|
93
|
+
* request the deployment made (`NUVIRA_ISOLATE=1`) into a REFUSAL, when the
|
|
94
|
+
* surface's own directory was there to be isolated all along. Measured: the
|
|
95
|
+
* gateway dropped to `generation_failed` with no model call on the
|
|
96
|
+
* cross-surface worktree scenario, while the CLI and dashboard — whose
|
|
97
|
+
* ladder had a real directory above this rung — stayed green.
|
|
98
|
+
*/
|
|
99
|
+
export declare function scratchWorkspaceForTurn(input: {
|
|
100
|
+
/** The key this folder belongs to (a session id, a `platform:channelId`). */
|
|
101
|
+
key: string;
|
|
102
|
+
/** What the ask needs a folder for (`workspaceNeedForMissingFolder`). */
|
|
103
|
+
need: MissingWorkspaceNeed;
|
|
104
|
+
/** Is this turn asked to run in an isolated copy of a repository? */
|
|
105
|
+
isolationAsked: boolean;
|
|
106
|
+
}): string | undefined;
|
|
107
|
+
/**
|
|
108
|
+
* What the model (and the user) must be told about a scratch workspace.
|
|
109
|
+
*
|
|
110
|
+
* Deliberately explicit about three things, because all three were defects when
|
|
111
|
+
* left implicit: that NOTHING was attached (so nobody wonders why the file is
|
|
112
|
+
* where it is), that the folder is TEMPORARY rather than a project, and the two
|
|
113
|
+
* ways to keep the work. It is written to read correctly on EVERY surface —
|
|
114
|
+
* a messaging reply and a dashboard caption — so it names no UI control and no
|
|
115
|
+
* particular app: "the app" and "the folder path" travel everywhere.
|
|
116
|
+
*
|
|
117
|
+
* It is BOTH the turn's project context (so the model knows where it may write
|
|
118
|
+
* and what to say about it) and the user-visible caption of the response, the
|
|
119
|
+
* same double duty `defaultWorkspaceNotice` performs.
|
|
120
|
+
*/
|
|
121
|
+
export declare function scratchWorkspaceNotice(path: string): string;
|
|
122
|
+
/**
|
|
123
|
+
* Remove scratch folders that have not been touched within `maxAgeMs`.
|
|
124
|
+
*
|
|
125
|
+
* A scratch folder is temporary BY DEFINITION, so leaving every one of them on
|
|
126
|
+
* disk forever would turn a convenience into unbounded growth of the user's home
|
|
127
|
+
* directory. Best-effort on both counts: an unreadable entry or an unremovable
|
|
128
|
+
* directory is skipped, never an error — this runs at server/gateway startup and
|
|
129
|
+
* must never be able to stop one.
|
|
130
|
+
*
|
|
131
|
+
* Returns the number of folders removed, for the caller's log line.
|
|
132
|
+
*/
|
|
133
|
+
export declare function pruneScratchWorkspaces(maxAgeMs?: number): number;
|
|
134
|
+
//# sourceMappingURL=scratch-workspace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scratch-workspace.d.ts","sourceRoot":"","sources":["../../src/config/scratch-workspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAWH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,QAA2B,CAAC;AAQ7D;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CASvD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAI7C;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAkBtE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,6EAA6E;IAC7E,GAAG,EAAE,MAAM,CAAC;IACZ,yEAAyE;IACzE,IAAI,EAAE,oBAAoB,CAAC;IAC3B,qEAAqE;IACrE,cAAc,EAAE,OAAO,CAAC;CACzB,GAAG,MAAM,GAAG,SAAS,CAIrB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ3D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,GAAE,MAA6B,GAAG,MAAM,CAwBtF"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The SCRATCH WORKSPACE — where a turn writes when no project folder is known.
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS. A turn that must produce a file and has no workspace used to
|
|
5
|
+
* be dead-ended: the dashboard refused with "attach a folder" (see
|
|
6
|
+
* `workspace-guard.ts`), and a messaging turn simply wrote into whatever
|
|
7
|
+
* directory the gateway process happened to run in — a tree that belongs to
|
|
8
|
+
* nobody asking the question. Neither is intelligent handling of a request the
|
|
9
|
+
* user genuinely made: asked for a script and no folder, the right answer is a
|
|
10
|
+
* file the user is TOLD about, not a refusal and not an invisible write.
|
|
11
|
+
*
|
|
12
|
+
* THE LADDER, and this module is only its last rung. A turn's workspace is
|
|
13
|
+
* resolved in `workspace-resolution.ts`: the folder the user attached, then the
|
|
14
|
+
* one this chat attached earlier, then one they named in their message, then
|
|
15
|
+
* the operator's configured default (`dashboard.cwd`) — and only then here.
|
|
16
|
+
* The scratch folder is never presented as a project: every surface is required
|
|
17
|
+
* to say where the file went and offer to keep it (set it as the project, move
|
|
18
|
+
* it, or attach a real folder).
|
|
19
|
+
*
|
|
20
|
+
* WHY NOT `os.tmpdir()` FIRST. `os.tmpdir()` is the obvious choice and the wrong
|
|
21
|
+
* primary: macOS clears `/var/folders` and systemd-tmpfiles clears `/tmp`, so
|
|
22
|
+
* "your file is at /tmp/x" can be a path that stops existing between the reply
|
|
23
|
+
* and the user going to look for it. The primary root is therefore a durable,
|
|
24
|
+
* clearly-temporary directory under the app's own home (or `$NUVIRA_SCRATCH_DIR`),
|
|
25
|
+
* with `os.tmpdir()` kept as the fallback for a home that is not writable. Both
|
|
26
|
+
* paths are built with `node:path`/`node:os`, so every OS is covered without a
|
|
27
|
+
* single `process.platform` branch.
|
|
28
|
+
*
|
|
29
|
+
* DEFECTS THIS CLOSES (measured):
|
|
30
|
+
* - WhatsApp, trace-1792061511046-jdhgyy: a poem request took 117s, the poem
|
|
31
|
+
* was produced and then deleted by a gate, and the sender got a dangling
|
|
32
|
+
* fragment. Nothing to do with scratch alone — but the same session had no
|
|
33
|
+
* workspace at all, which is what made the turn's file behaviour
|
|
34
|
+
* unpredictable in the first place.
|
|
35
|
+
* - Dashboard chat: "agent keep going mad and confused when project folder not
|
|
36
|
+
* attached" — a produce ask was refused for a folder it did not need.
|
|
37
|
+
*/
|
|
38
|
+
import { existsSync, mkdirSync, readdirSync, rmSync, statSync } from 'node:fs';
|
|
39
|
+
import { createHash } from 'node:crypto';
|
|
40
|
+
import { tmpdir } from 'node:os';
|
|
41
|
+
import { join } from 'node:path';
|
|
42
|
+
import { envBuff, resolveNuviraDataPath } from './paths.js';
|
|
43
|
+
/** Default retention for a scratch folder nobody came back to (30 days). */
|
|
44
|
+
export const SCRATCH_RETENTION_MS = 30 * 24 * 60 * 60 * 1000;
|
|
45
|
+
/** The directory name used by the `os.tmpdir()` fallback. */
|
|
46
|
+
const TMP_FALLBACK_DIR = 'nuvira-scratch';
|
|
47
|
+
/** Longest run of readable characters kept from a key before a hash is added. */
|
|
48
|
+
const SLUG_MAX = 48;
|
|
49
|
+
/**
|
|
50
|
+
* Turn an arbitrary key (a session id, a `platform:channelId` contact key) into
|
|
51
|
+
* ONE filesystem-safe directory name.
|
|
52
|
+
*
|
|
53
|
+
* A key that is already safe is returned unchanged, so the dashboard's own
|
|
54
|
+
* session ids produce readable paths. A key that needed character substitution
|
|
55
|
+
* (a WhatsApp `jid` is `918800604222@s.whatsapp.net`, which contains `@` and a
|
|
56
|
+
* dot) gets a short hash of the RAW key appended: substitution alone can collide
|
|
57
|
+
* two different contacts onto one folder, and two people sharing a scratch
|
|
58
|
+
* directory is a defect, not a curiosity.
|
|
59
|
+
*/
|
|
60
|
+
export function scratchKeyToDirName(key) {
|
|
61
|
+
const raw = (key || '').trim();
|
|
62
|
+
if (!raw)
|
|
63
|
+
return 'unnamed';
|
|
64
|
+
const readable = raw.replace(/[^A-Za-z0-9._-]+/g, '-').replace(/-{2,}/g, '-').replace(/^[-.]+/, '').replace(/[-.]+$/, '');
|
|
65
|
+
const safe = raw === readable && readable !== '' && readable !== '.' && readable !== '..';
|
|
66
|
+
if (safe)
|
|
67
|
+
return readable.slice(0, SLUG_MAX);
|
|
68
|
+
const slug = (readable || 'key').slice(0, SLUG_MAX);
|
|
69
|
+
const hash = createHash('sha1').update(raw).digest('hex').slice(0, 6);
|
|
70
|
+
return `${slug}-${hash}`;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The scratch ROOT: `$NUVIRA_SCRATCH_DIR`, else `<nuvira home>/workspace`.
|
|
74
|
+
*
|
|
75
|
+
* `resolveNuviraDataPath` honours `$NUVIRA_CONFIG_DIR`, so an isolated
|
|
76
|
+
* deployment (and the test suite) never writes scratch folders into the real
|
|
77
|
+
* `~/.nuvira`.
|
|
78
|
+
*/
|
|
79
|
+
export function scratchWorkspaceRoot() {
|
|
80
|
+
const override = envBuff('SCRATCH_DIR');
|
|
81
|
+
if (override && override.trim())
|
|
82
|
+
return override.trim();
|
|
83
|
+
return resolveNuviraDataPath('workspace');
|
|
84
|
+
}
|
|
85
|
+
/** The scratch directory a given key WOULD use (not created, not checked). */
|
|
86
|
+
export function scratchWorkspaceFor(key) {
|
|
87
|
+
return join(scratchWorkspaceRoot(), scratchKeyToDirName(key));
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Create (if needed) and return the scratch directory for `key`, or `undefined`
|
|
91
|
+
* when no writable location exists — the caller must then behave exactly as it
|
|
92
|
+
* did before this module existed (ask for a folder; never guess a path).
|
|
93
|
+
*
|
|
94
|
+
* Two candidates, in order: the app-home root, then `os.tmpdir()`. The first
|
|
95
|
+
* that can actually be created and written wins. Never throws.
|
|
96
|
+
*/
|
|
97
|
+
export function ensureScratchWorkspace(key) {
|
|
98
|
+
const dirName = scratchKeyToDirName(key);
|
|
99
|
+
const candidates = [join(scratchWorkspaceRoot(), dirName), join(tmpdir(), TMP_FALLBACK_DIR, dirName)];
|
|
100
|
+
for (const dir of candidates) {
|
|
101
|
+
try {
|
|
102
|
+
mkdirSync(dir, { recursive: true });
|
|
103
|
+
// `mkdirSync` is happy on an existing read-only directory, so prove
|
|
104
|
+
// writability rather than trusting it: a scratch folder nothing can be
|
|
105
|
+
// written into would fail later, at the tool call, with a confusing error.
|
|
106
|
+
const probe = join(dir, '.nuvira-scratch-probe');
|
|
107
|
+
mkdirSync(probe, { recursive: true });
|
|
108
|
+
rmSync(probe, { recursive: true, force: true });
|
|
109
|
+
return dir;
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
// Fall through to the next candidate.
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return undefined;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* The scratch folder for THIS turn, or `undefined` when a scratch folder must
|
|
119
|
+
* not be used — one place, so two surfaces cannot answer the same question
|
|
120
|
+
* differently.
|
|
121
|
+
*
|
|
122
|
+
* The caller applies the ladder FIRST (attached → session → named in the message
|
|
123
|
+
* → the deployment's configured default) and asks here only when the turn has no
|
|
124
|
+
* folder of the user's. Three conditions then decide it, and each is a case where
|
|
125
|
+
* a temporary folder would be worse than none:
|
|
126
|
+
*
|
|
127
|
+
* 1. `need === 'produce'` — a place to PUT new work. A scratch folder is EMPTY,
|
|
128
|
+
* so it can neither answer an ask about work that already exists (`'read'`)
|
|
129
|
+
* nor serve plain chat (`null`).
|
|
130
|
+
* 2. NOT plain chat, for a second reason the first cannot cover: `projectPath`
|
|
131
|
+
* also drives per-project recall, the resume fingerprint and worktree
|
|
132
|
+
* isolation, so handing one to a turn that asked for nothing changes what
|
|
133
|
+
* the turn IS rather than where it writes.
|
|
134
|
+
* 3. NOT an ISOLATED turn. Isolation's contract is a throwaway copy of a REAL
|
|
135
|
+
* project plus the diff against its base commit (`tools/worktree.ts`), and a
|
|
136
|
+
* scratch folder is neither a project nor a repository — it has no commit to
|
|
137
|
+
* start from, so it cannot be isolated at all. Substituting one turns a
|
|
138
|
+
* request the deployment made (`NUVIRA_ISOLATE=1`) into a REFUSAL, when the
|
|
139
|
+
* surface's own directory was there to be isolated all along. Measured: the
|
|
140
|
+
* gateway dropped to `generation_failed` with no model call on the
|
|
141
|
+
* cross-surface worktree scenario, while the CLI and dashboard — whose
|
|
142
|
+
* ladder had a real directory above this rung — stayed green.
|
|
143
|
+
*/
|
|
144
|
+
export function scratchWorkspaceForTurn(input) {
|
|
145
|
+
if (input.need !== 'produce')
|
|
146
|
+
return undefined;
|
|
147
|
+
if (input.isolationAsked)
|
|
148
|
+
return undefined;
|
|
149
|
+
return ensureScratchWorkspace(input.key);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* What the model (and the user) must be told about a scratch workspace.
|
|
153
|
+
*
|
|
154
|
+
* Deliberately explicit about three things, because all three were defects when
|
|
155
|
+
* left implicit: that NOTHING was attached (so nobody wonders why the file is
|
|
156
|
+
* where it is), that the folder is TEMPORARY rather than a project, and the two
|
|
157
|
+
* ways to keep the work. It is written to read correctly on EVERY surface —
|
|
158
|
+
* a messaging reply and a dashboard caption — so it names no UI control and no
|
|
159
|
+
* particular app: "the app" and "the folder path" travel everywhere.
|
|
160
|
+
*
|
|
161
|
+
* It is BOTH the turn's project context (so the model knows where it may write
|
|
162
|
+
* and what to say about it) and the user-visible caption of the response, the
|
|
163
|
+
* same double duty `defaultWorkspaceNotice` performs.
|
|
164
|
+
*/
|
|
165
|
+
export function scratchWorkspaceNotice(path) {
|
|
166
|
+
return (`No project folder is attached, so this turn used a TEMPORARY workspace (${path}) — ` +
|
|
167
|
+
'it is not one of the user\u2019s projects and it will be cleaned up. Name the full path of ' +
|
|
168
|
+
'anything you create there, say plainly that it is temporary, and offer the two ways to keep ' +
|
|
169
|
+
'the work: the user can send the folder path they want it moved to (you move the files there), ' +
|
|
170
|
+
'or attach a project folder so the next turn runs inside it.');
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Remove scratch folders that have not been touched within `maxAgeMs`.
|
|
174
|
+
*
|
|
175
|
+
* A scratch folder is temporary BY DEFINITION, so leaving every one of them on
|
|
176
|
+
* disk forever would turn a convenience into unbounded growth of the user's home
|
|
177
|
+
* directory. Best-effort on both counts: an unreadable entry or an unremovable
|
|
178
|
+
* directory is skipped, never an error — this runs at server/gateway startup and
|
|
179
|
+
* must never be able to stop one.
|
|
180
|
+
*
|
|
181
|
+
* Returns the number of folders removed, for the caller's log line.
|
|
182
|
+
*/
|
|
183
|
+
export function pruneScratchWorkspaces(maxAgeMs = SCRATCH_RETENTION_MS) {
|
|
184
|
+
const root = scratchWorkspaceRoot();
|
|
185
|
+
if (!existsSync(root))
|
|
186
|
+
return 0;
|
|
187
|
+
const cutoff = Date.now() - Math.max(0, maxAgeMs);
|
|
188
|
+
let removed = 0;
|
|
189
|
+
let entries;
|
|
190
|
+
try {
|
|
191
|
+
entries = readdirSync(root);
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
return 0;
|
|
195
|
+
}
|
|
196
|
+
for (const entry of entries) {
|
|
197
|
+
const dir = join(root, entry);
|
|
198
|
+
try {
|
|
199
|
+
const info = statSync(dir);
|
|
200
|
+
if (!info.isDirectory())
|
|
201
|
+
continue;
|
|
202
|
+
if (info.mtimeMs >= cutoff)
|
|
203
|
+
continue;
|
|
204
|
+
rmSync(dir, { recursive: true, force: true });
|
|
205
|
+
removed += 1;
|
|
206
|
+
}
|
|
207
|
+
catch {
|
|
208
|
+
// Skip anything unreadable or unremovable.
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
return removed;
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=scratch-workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scratch-workspace.js","sourceRoot":"","sources":["../../src/config/scratch-workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,6 +62,18 @@ export interface ChannelAdapter {
|
|
|
62
62
|
readonly configured: boolean;
|
|
63
63
|
/** Human description for `nuvira gateway status`. */
|
|
64
64
|
describe(): string;
|
|
65
|
+
/**
|
|
66
|
+
* Longest message this transport accepts, in characters.
|
|
67
|
+
*
|
|
68
|
+
* WHY IT IS ON THE ADAPTER. Every transport truncates somewhere — WhatsApp
|
|
69
|
+
* near 4096, SMS at 1600 — and the side that KNOWS the number is the one that
|
|
70
|
+
* sends. The registry reads it so a long answer can be saved to the turn's
|
|
71
|
+
* workspace and delivered as a head plus the path, instead of being sliced by
|
|
72
|
+
* `sanitizeOutbound` with the tail silently lost. Optional: absent means "no
|
|
73
|
+
* limit I know of", and the registry then applies its own conservative
|
|
74
|
+
* default rather than assuming an unlimited channel.
|
|
75
|
+
*/
|
|
76
|
+
readonly maxMessageChars?: number;
|
|
65
77
|
/** Start receiving inbound messages (long-poll or webhook server). */
|
|
66
78
|
start(onMessage: MessageHandler): Promise<void>;
|
|
67
79
|
/** Stop receiving (idempotent). */
|
|
@@ -89,6 +101,14 @@ export interface ChannelAdapter {
|
|
|
89
101
|
}
|
|
90
102
|
/** Sanitize an outbound message: strip control chars, cap length. */
|
|
91
103
|
export declare function sanitizeOutbound(text: string, max?: number): string;
|
|
104
|
+
/**
|
|
105
|
+
* What a channel may carry when the adapter does not declare a cap.
|
|
106
|
+
*
|
|
107
|
+
* 4096 is the widest of the messaging platforms this gateway serves (WhatsApp),
|
|
108
|
+
* so the reply-saving rule fires at the point where ANY configured transport
|
|
109
|
+
* would start losing text — never later.
|
|
110
|
+
*/
|
|
111
|
+
export declare const DEFAULT_MAX_MESSAGE_CHARS = 4096;
|
|
92
112
|
/** Default upload filename per media type (when the caller omits one). */
|
|
93
113
|
export declare function defaultMediaFilename(type: MediaPayload['type']): string;
|
|
94
114
|
/**
|
|
@@ -217,6 +237,8 @@ export declare class WhatsAppCloudAdapter extends WebhookChannelAdapter {
|
|
|
217
237
|
*/
|
|
218
238
|
export declare class WhatsAppBridgeAdapter implements ChannelAdapter {
|
|
219
239
|
private readonly bridge;
|
|
240
|
+
/** WhatsApp truncates a text message near 4 KB. */
|
|
241
|
+
readonly maxMessageChars = 4096;
|
|
220
242
|
readonly platform: "whatsapp";
|
|
221
243
|
private handler;
|
|
222
244
|
constructor(bridge?: WhatsAppBridge);
|
|
@@ -448,6 +470,8 @@ export declare class SignalAdapter implements ChannelAdapter {
|
|
|
448
470
|
*/
|
|
449
471
|
export declare class SmsAdapter implements ChannelAdapter {
|
|
450
472
|
readonly platform: "sms";
|
|
473
|
+
/** Twilio's per-message cap (~10 SMS segments) — see `send` below. */
|
|
474
|
+
readonly maxMessageChars = 1600;
|
|
451
475
|
readonly configured: boolean;
|
|
452
476
|
private accountSid;
|
|
453
477
|
private authToken;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/gateway/adapters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/gateway/adapters.ts"],"names":[],"mappings":"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"}
|
package/dist/gateway/adapters.js
CHANGED
|
@@ -46,6 +46,14 @@ export function sanitizeOutbound(text, max = 3500) {
|
|
|
46
46
|
// eslint-disable-next-line no-control-regex
|
|
47
47
|
return text.replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f]/g, '').slice(0, max);
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* What a channel may carry when the adapter does not declare a cap.
|
|
51
|
+
*
|
|
52
|
+
* 4096 is the widest of the messaging platforms this gateway serves (WhatsApp),
|
|
53
|
+
* so the reply-saving rule fires at the point where ANY configured transport
|
|
54
|
+
* would start losing text — never later.
|
|
55
|
+
*/
|
|
56
|
+
export const DEFAULT_MAX_MESSAGE_CHARS = 4096;
|
|
49
57
|
/** Default upload filename per media type (when the caller omits one). */
|
|
50
58
|
export function defaultMediaFilename(type) {
|
|
51
59
|
switch (type) {
|
|
@@ -450,6 +458,8 @@ export class WhatsAppCloudAdapter extends WebhookChannelAdapter {
|
|
|
450
458
|
*/
|
|
451
459
|
export class WhatsAppBridgeAdapter {
|
|
452
460
|
bridge;
|
|
461
|
+
/** WhatsApp truncates a text message near 4 KB. */
|
|
462
|
+
maxMessageChars = 4096;
|
|
453
463
|
platform = 'whatsapp';
|
|
454
464
|
handler = null;
|
|
455
465
|
constructor(bridge = new BaileysBridge(undefined, {
|
|
@@ -1142,6 +1152,8 @@ export class SignalAdapter {
|
|
|
1142
1152
|
*/
|
|
1143
1153
|
export class SmsAdapter {
|
|
1144
1154
|
platform = 'sms';
|
|
1155
|
+
/** Twilio's per-message cap (~10 SMS segments) — see `send` below. */
|
|
1156
|
+
maxMessageChars = 1600;
|
|
1145
1157
|
configured;
|
|
1146
1158
|
accountSid = '';
|
|
1147
1159
|
authToken = '';
|