@framers/agentos 0.13.65 → 0.13.66

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.
Files changed (45) hide show
  1. package/dist/cognition/emergent/EmergentAgentForge.d.ts.map +1 -1
  2. package/dist/cognition/emergent/EmergentAgentForge.js +5 -4
  3. package/dist/cognition/emergent/EmergentAgentForge.js.map +1 -1
  4. package/dist/cognition/emergent/EmergentCapabilityEngine.d.ts +2 -0
  5. package/dist/cognition/emergent/EmergentCapabilityEngine.d.ts.map +1 -1
  6. package/dist/cognition/emergent/EmergentCapabilityEngine.js +10 -0
  7. package/dist/cognition/emergent/EmergentCapabilityEngine.js.map +1 -1
  8. package/dist/cognition/emergent/ForgeToolMetaTool.d.ts +4 -1
  9. package/dist/cognition/emergent/ForgeToolMetaTool.d.ts.map +1 -1
  10. package/dist/cognition/emergent/ForgeToolMetaTool.js +14 -1
  11. package/dist/cognition/emergent/ForgeToolMetaTool.js.map +1 -1
  12. package/dist/cognition/emergent/SkillExporter.d.ts +44 -3
  13. package/dist/cognition/emergent/SkillExporter.d.ts.map +1 -1
  14. package/dist/cognition/emergent/SkillExporter.js +124 -18
  15. package/dist/cognition/emergent/SkillExporter.js.map +1 -1
  16. package/dist/cognition/emergent/ToolName.d.ts +63 -0
  17. package/dist/cognition/emergent/ToolName.d.ts.map +1 -0
  18. package/dist/cognition/emergent/ToolName.js +79 -0
  19. package/dist/cognition/emergent/ToolName.js.map +1 -0
  20. package/dist/cognition/emergent/index.d.ts +3 -1
  21. package/dist/cognition/emergent/index.d.ts.map +1 -1
  22. package/dist/cognition/emergent/index.js +2 -1
  23. package/dist/cognition/emergent/index.js.map +1 -1
  24. package/dist/cognition/memory/io/MarkdownExporter.d.ts +27 -17
  25. package/dist/cognition/memory/io/MarkdownExporter.d.ts.map +1 -1
  26. package/dist/cognition/memory/io/MarkdownExporter.js +101 -88
  27. package/dist/cognition/memory/io/MarkdownExporter.js.map +1 -1
  28. package/dist/cognition/memory/io/facade/Memory.d.ts +3 -2
  29. package/dist/cognition/memory/io/facade/Memory.d.ts.map +1 -1
  30. package/dist/cognition/memory/io/facade/Memory.js +3 -2
  31. package/dist/cognition/memory/io/facade/Memory.js.map +1 -1
  32. package/dist/cognition/memory/io/facade/types.d.ts +10 -6
  33. package/dist/cognition/memory/io/facade/types.d.ts.map +1 -1
  34. package/dist/cognition/substrate/memory/wiki/WikiPageId.d.ts.map +1 -1
  35. package/dist/cognition/substrate/memory/wiki/WikiPageId.js +2 -10
  36. package/dist/cognition/substrate/memory/wiki/WikiPageId.js.map +1 -1
  37. package/dist/core/utils/linkFreeWrite.d.ts +66 -0
  38. package/dist/core/utils/linkFreeWrite.d.ts.map +1 -0
  39. package/dist/core/utils/linkFreeWrite.js +140 -0
  40. package/dist/core/utils/linkFreeWrite.js.map +1 -0
  41. package/dist/core/utils/pathName.d.ts +11 -4
  42. package/dist/core/utils/pathName.d.ts.map +1 -1
  43. package/dist/core/utils/pathName.js +17 -4
  44. package/dist/core/utils/pathName.js.map +1 -1
  45. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/cognition/memory/io/facade/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/cognition/memory/io/facade/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WikiPageId.d.ts","sourceRoot":"","sources":["../../../../../src/cognition/substrate/memory/wiki/WikiPageId.ts"],"names":[],"mappings":"AAAA,uHAAuH;AACvH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAQlC,mDAAmD;AACnD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAK3C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,OAAO,GACP,QAAQ,GACR,WAAW,GACX,SAAS,GACT,KAAK,GACL,MAAM,GACN,UAAU,GACV,SAAS,CAAC;AA0Bd,4FAA4F;AAC5F,qBAAa,sBAAuB,SAAQ,KAAK;IAS7C,QAAQ,CAAC,OAAO,EAAE,iBAAiB;IARrC,oEAAoE;IACpE,QAAQ,CAAC,IAAI,0BAA0B;IAEvC;;;OAGG;gBAEQ,OAAO,EAAE,iBAAiB,EACnC,EAAE,EAAE,OAAO;CAKd;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,MAAM,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,EAAE,IAAI,MAAM,CAGlE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,OAAO,EACX,KAAK,GAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,KAAK,CAAQ,GACvD,MAAM,CAKR"}
1
+ {"version":3,"file":"WikiPageId.d.ts","sourceRoot":"","sources":["../../../../../src/cognition/substrate/memory/wiki/WikiPageId.ts"],"names":[],"mappings":"AAAA,uHAAuH;AACvH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AASlC,mDAAmD;AACnD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAK3C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,OAAO,GACP,QAAQ,GACR,WAAW,GACX,SAAS,GACT,KAAK,GACL,MAAM,GACN,UAAU,GACV,SAAS,CAAC;AAiBd,4FAA4F;AAC5F,qBAAa,sBAAuB,SAAQ,KAAK;IAS7C,QAAQ,CAAC,OAAO,EAAE,iBAAiB;IARrC,oEAAoE;IACpE,QAAQ,CAAC,IAAI,0BAA0B;IAEvC;;;OAGG;gBAEQ,OAAO,EAAE,iBAAiB,EACnC,EAAE,EAAE,OAAO;CAKd;AAqBD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,MAAM,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,EAAE,IAAI,MAAM,CAGlE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,OAAO,EACX,KAAK,GAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,KAAK,CAAQ,GACvD,MAAM,CAKR"}
@@ -1,6 +1,6 @@
1
1
  /** @fileoverview The id rule for wiki pages: an id names a file inside memory/, checked before any file is touched. */
2
2
  import * as path from 'node:path';
3
- import { MAX_PATH_NAME_BYTES, isRefusedPathCharacter, pathNameProblem, resolveInsideFolder, } from '../../../../core/utils/pathName.js';
3
+ import { MAX_PATH_NAME_BYTES, describeRefusedName, isRefusedPathCharacter, pathNameProblem, resolveInsideFolder, } from '../../../../core/utils/pathName.js';
4
4
  /** The most characters a wiki page id may hold. */
5
5
  export const MAX_WIKI_PAGE_ID_LENGTH = 512;
6
6
  /** The id of the catalog file, `index.md`, which the store writes itself and never lists as a page. */
@@ -18,14 +18,6 @@ const RULE_BROKEN = {
18
18
  reserved: 'the id index, in any case, names the catalog, index.md, which is not a page',
19
19
  outside: "the page's file would be outside the memory folder",
20
20
  };
21
- /** The most characters of a refused id that its error message shows. */
22
- const SHOWN_ID_CHARACTERS = 64;
23
- /** The refused id as the message shows it: quoted and escaped, cut to its first characters. */
24
- function describeId(id) {
25
- if (typeof id !== 'string')
26
- return `of type ${id === null ? 'null' : typeof id}`;
27
- return JSON.stringify(id.length > SHOWN_ID_CHARACTERS ? `${id.slice(0, SHOWN_ID_CHARACTERS)}...` : id);
28
- }
29
21
  /** Thrown when a wiki page id is refused. Nothing is read or written for the refused id. */
30
22
  export class InvalidWikiPageIdError extends Error {
31
23
  /**
@@ -33,7 +25,7 @@ export class InvalidWikiPageIdError extends Error {
33
25
  * @param id - The refused id. The message shows at most its first 64 characters, escaped.
34
26
  */
35
27
  constructor(problem, id) {
36
- super(`wiki page id ${describeId(id)} refused: ${RULE_BROKEN[problem]}`);
28
+ super(`wiki page id ${describeRefusedName(id)} refused: ${RULE_BROKEN[problem]}`);
37
29
  this.problem = problem;
38
30
  /** A stable code for callers that branch on the kind of failure. */
39
31
  this.code = 'INVALID_WIKI_PAGE_ID';
@@ -1 +1 @@
1
- {"version":3,"file":"WikiPageId.js","sourceRoot":"","sources":["../../../../../src/cognition/substrate/memory/wiki/WikiPageId.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WikiPageId.js","sourceRoot":"","sources":["../../../../../src/cognition/substrate/memory/wiki/WikiPageId.ts"],"names":[],"mappings":"AAAA,uHAAuH;AACvH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,GACpB,MAAM,oCAAoC,CAAC;AAE5C,mDAAmD;AACnD,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C,uGAAuG;AACvG,MAAM,UAAU,GAAG,OAAO,CAAC;AA8B3B,+EAA+E;AAC/E,MAAM,WAAW,GAAsC;IACrD,IAAI,EAAE,uBAAuB;IAC7B,KAAK,EAAE,wBAAwB;IAC/B,MAAM,EACJ,wBAAwB,uBAAuB,eAAe;QAC9D,+BAA+B,mBAAmB,iBAAiB;IACrE,SAAS,EAAE,sFAAsF;IACjG,OAAO,EAAE,gFAAgF;IACzF,GAAG,EAAE,wCAAwC;IAC7C,IAAI,EAAE,qEAAqE;IAC3E,QAAQ,EAAE,6EAA6E;IACvF,OAAO,EAAE,oDAAoD;CAC9D,CAAC;AAEF,4FAA4F;AAC5F,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAI/C;;;OAGG;IACH,YACW,OAA0B,EACnC,EAAW;QAEX,KAAK,CAAC,gBAAgB,mBAAmB,CAAC,EAAE,CAAC,aAAa,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAHzE,YAAO,GAAP,OAAO,CAAmB;QARrC,oEAAoE;QAC3D,SAAI,GAAG,sBAAsB,CAAC;QAWrC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,EAAW;IAC5B,IAAI,OAAO,EAAE,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACpC,IAAI,EAAE,CAAC,MAAM,GAAG,uBAAuB;QAAE,OAAO,QAAQ,CAAC;IACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,sBAAsB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,WAAW,CAAC;IACnE,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACtC,uEAAuE;QACvE,IAAI,OAAO;YAAE,OAAO,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IAChE,CAAC;IACD,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,EAAW;IACtC,OAAO,SAAS,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAW;IAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9B,IAAI,OAAO;QAAE,MAAM,IAAI,sBAAsB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAAiB,EACjB,EAAW,EACX,QAAoD,IAAI;IAExD,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACrB,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IACjE,IAAI,IAAI,KAAK,IAAI;QAAE,MAAM,IAAI,sBAAsB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @fileoverview Writing below a folder whose contents another process may change: folders are made one name at a
3
+ * time and never through a link, and a file is opened for writing never through a link, never waiting, and only
4
+ * when it is a regular file with one name.
5
+ *
6
+ * The Markdown and Obsidian memory exporters write a file per trace below an export folder, and the skill exporter
7
+ * writes a tool's files below a skills folder. Whoever can write below such a folder could put there a link that
8
+ * leads elsewhere, a second name for a file elsewhere, or a named pipe that holds a writer up, so both write
9
+ * through the functions here. The folder itself is the caller's and may be a link. The checks run as each folder
10
+ * is made and each file opened; Node has no `openat`, so a process that swaps a folder for a link between a check
11
+ * and the write is outside what they stop.
12
+ *
13
+ * @module agentos/core/utils/linkFreeWrite
14
+ */
15
+ import { type FileHandle } from 'node:fs/promises';
16
+ /**
17
+ * Why a file was not opened: `link` when a symbolic link holds its place or the file has a second name (a hard
18
+ * link), and `special` when something other than a regular file holds its place (a folder, a named pipe, a socket,
19
+ * a device).
20
+ */
21
+ export type OpenRefusal = 'link' | 'special';
22
+ /** A file open for writing and checked, and the identity of the file the open reached. */
23
+ export interface OpenedFile {
24
+ /** The open file. Nothing has been emptied or written. */
25
+ handle: FileHandle;
26
+ /**
27
+ * The file's device and inode numbers, or null when the file system reports an inode of 0, which names no file.
28
+ * Two names that open one file give the same identity.
29
+ */
30
+ identity: string | null;
31
+ }
32
+ /**
33
+ * Make the folders `relative` names under `root`, one name at a time, and stop at a link. A folder this makes is
34
+ * never a link, so a file written into it stays under `root`.
35
+ *
36
+ * @param root - The folder the others are made in. It may itself be a link.
37
+ * @param relative - The folders' path under `root`.
38
+ * @returns True when every folder is in place and none of them is a link.
39
+ */
40
+ export declare function makeFoldersOutsideLinks(root: string, relative: string): Promise<boolean>;
41
+ /**
42
+ * Look at a file's place without opening it. A caller that writes several files, all of them or none, looks at
43
+ * every place before it opens any file, so a refusal makes no file. The look does not see a change made after it;
44
+ * {@link openFileOutsideLinks} checks again.
45
+ *
46
+ * @param file - Absolute path of the file.
47
+ * @returns `link` when a symbolic link holds the place or the file there has a second name, `special` when
48
+ * something other than a regular file holds it, or null when the place is free or holds a regular file with one
49
+ * name.
50
+ * @throws Any error the look meets other than a missing file.
51
+ */
52
+ export declare function lookOutsideLinks(file: string): Promise<OpenRefusal | null>;
53
+ /**
54
+ * Open a file for writing, in a folder already made, and check what the open reached. A symbolic link in the
55
+ * file's place is refused before the open, and where the platform has `O_NOFOLLOW` the open refuses one put there
56
+ * since. A folder fails the open, and where the platform has `O_NONBLOCK` so does a named pipe that no process
57
+ * reads, at once. An open file that is not a regular file (a named pipe that a process reads, a device) is refused,
58
+ * and so is a file with a second name (a hard link), which is the same file as that name and may lie outside the
59
+ * folder. Nothing is emptied or written here; a refused file is closed.
60
+ *
61
+ * @param file - Absolute path of the file.
62
+ * @returns The open file and its identity, or the refusal.
63
+ * @throws Any other error the look or the open meets.
64
+ */
65
+ export declare function openFileOutsideLinks(file: string): Promise<OpenedFile | OpenRefusal>;
66
+ //# sourceMappingURL=linkFreeWrite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkFreeWrite.d.ts","sourceRoot":"","sources":["../../../src/core/utils/linkFreeWrite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAW,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA2BvD;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7C,0FAA0F;AAC1F,MAAM,WAAW,UAAU;IACzB,0DAA0D;IAC1D,MAAM,EAAE,UAAU,CAAC;IACnB;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAkB9F;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAMhF;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,WAAW,CAAC,CAmB1F"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * @fileoverview Writing below a folder whose contents another process may change: folders are made one name at a
3
+ * time and never through a link, and a file is opened for writing never through a link, never waiting, and only
4
+ * when it is a regular file with one name.
5
+ *
6
+ * The Markdown and Obsidian memory exporters write a file per trace below an export folder, and the skill exporter
7
+ * writes a tool's files below a skills folder. Whoever can write below such a folder could put there a link that
8
+ * leads elsewhere, a second name for a file elsewhere, or a named pipe that holds a writer up, so both write
9
+ * through the functions here. The folder itself is the caller's and may be a link. The checks run as each folder
10
+ * is made and each file opened; Node has no `openat`, so a process that swaps a folder for a link between a check
11
+ * and the write is outside what they stop.
12
+ *
13
+ * @module agentos/core/utils/linkFreeWrite
14
+ */
15
+ import fs from 'node:fs/promises';
16
+ import { constants as fsConstants } from 'node:fs';
17
+ import path from 'node:path';
18
+ /**
19
+ * The flags a file is opened with: for writing, made when missing, and, where the platform has each flag (Windows
20
+ * has neither), never through a symbolic link in the file's own place (`O_NOFOLLOW`) and never waiting
21
+ * (`O_NONBLOCK`). Without `O_NONBLOCK`, an open for writing of a named pipe that no process reads waits for a
22
+ * reader that may never come. The file is not emptied by the open: the caller empties it once the open file shows
23
+ * it is a regular file with no second name.
24
+ */
25
+ const OPEN_FLAGS = fsConstants.O_WRONLY |
26
+ fsConstants.O_CREAT |
27
+ (fsConstants.O_NOFOLLOW !== undefined ? fsConstants.O_NOFOLLOW : 0) |
28
+ (fsConstants.O_NONBLOCK !== undefined ? fsConstants.O_NONBLOCK : 0);
29
+ /** The codes an open with `O_NOFOLLOW` fails with when a symbolic link holds the file's place (EMLINK on FreeBSD). */
30
+ const LINK_OPEN_CODES = new Set(['ELOOP', 'EMLINK']);
31
+ /**
32
+ * The codes an open for writing fails with when something other than a regular file holds the file's place:
33
+ * EISDIR for a folder; ENXIO for a named pipe that no process reads (under `O_NONBLOCK`), a device with no driver,
34
+ * or, on Linux, a socket; EOPNOTSUPP for a socket on macOS.
35
+ */
36
+ const SPECIAL_OPEN_CODES = new Set(['EISDIR', 'ENXIO', 'EOPNOTSUPP']);
37
+ /**
38
+ * Make the folders `relative` names under `root`, one name at a time, and stop at a link. A folder this makes is
39
+ * never a link, so a file written into it stays under `root`.
40
+ *
41
+ * @param root - The folder the others are made in. It may itself be a link.
42
+ * @param relative - The folders' path under `root`.
43
+ * @returns True when every folder is in place and none of them is a link.
44
+ */
45
+ export async function makeFoldersOutsideLinks(root, relative) {
46
+ let dir = root;
47
+ for (const name of relative.split(path.sep).filter((part) => part.length > 0)) {
48
+ dir = path.join(dir, name);
49
+ const entry = await lstatOrNull(dir);
50
+ if (entry) {
51
+ if (entry.isSymbolicLink())
52
+ return false;
53
+ continue;
54
+ }
55
+ try {
56
+ await fs.mkdir(dir);
57
+ }
58
+ catch (err) {
59
+ if (err.code !== 'EEXIST')
60
+ throw err;
61
+ // Something was put there since the look: look again.
62
+ if ((await fs.lstat(dir)).isSymbolicLink())
63
+ return false;
64
+ }
65
+ }
66
+ return true;
67
+ }
68
+ /**
69
+ * Look at a file's place without opening it. A caller that writes several files, all of them or none, looks at
70
+ * every place before it opens any file, so a refusal makes no file. The look does not see a change made after it;
71
+ * {@link openFileOutsideLinks} checks again.
72
+ *
73
+ * @param file - Absolute path of the file.
74
+ * @returns `link` when a symbolic link holds the place or the file there has a second name, `special` when
75
+ * something other than a regular file holds it, or null when the place is free or holds a regular file with one
76
+ * name.
77
+ * @throws Any error the look meets other than a missing file.
78
+ */
79
+ export async function lookOutsideLinks(file) {
80
+ const entry = await lstatOrNull(file);
81
+ if (entry === null)
82
+ return null;
83
+ if (entry.isSymbolicLink())
84
+ return 'link';
85
+ if (!entry.isFile())
86
+ return 'special';
87
+ return entry.nlink > 1 ? 'link' : null;
88
+ }
89
+ /**
90
+ * Open a file for writing, in a folder already made, and check what the open reached. A symbolic link in the
91
+ * file's place is refused before the open, and where the platform has `O_NOFOLLOW` the open refuses one put there
92
+ * since. A folder fails the open, and where the platform has `O_NONBLOCK` so does a named pipe that no process
93
+ * reads, at once. An open file that is not a regular file (a named pipe that a process reads, a device) is refused,
94
+ * and so is a file with a second name (a hard link), which is the same file as that name and may lie outside the
95
+ * folder. Nothing is emptied or written here; a refused file is closed.
96
+ *
97
+ * @param file - Absolute path of the file.
98
+ * @returns The open file and its identity, or the refusal.
99
+ * @throws Any other error the look or the open meets.
100
+ */
101
+ export async function openFileOutsideLinks(file) {
102
+ if ((await lstatOrNull(file))?.isSymbolicLink())
103
+ return 'link';
104
+ const handle = await fs.open(file, OPEN_FLAGS).catch((err) => {
105
+ const code = String(err.code);
106
+ if (LINK_OPEN_CODES.has(code))
107
+ return 'link';
108
+ if (SPECIAL_OPEN_CODES.has(code))
109
+ return 'special';
110
+ throw err;
111
+ });
112
+ if (typeof handle === 'string')
113
+ return handle;
114
+ let handedOver = false;
115
+ try {
116
+ const stat = await handle.stat({ bigint: true });
117
+ if (!stat.isFile())
118
+ return 'special';
119
+ if (stat.nlink > 1n)
120
+ return 'link';
121
+ handedOver = true;
122
+ return { handle, identity: stat.ino === 0n ? null : `${stat.dev}:${stat.ino}` };
123
+ }
124
+ finally {
125
+ if (!handedOver)
126
+ await handle.close();
127
+ }
128
+ }
129
+ /** The entry at `file` itself, a link not followed, or null when there is none. */
130
+ async function lstatOrNull(file) {
131
+ try {
132
+ return await fs.lstat(file);
133
+ }
134
+ catch (err) {
135
+ if (err.code === 'ENOENT')
136
+ return null;
137
+ throw err;
138
+ }
139
+ }
140
+ //# sourceMappingURL=linkFreeWrite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linkFreeWrite.js","sourceRoot":"","sources":["../../../src/core/utils/linkFreeWrite.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,10 @@
2
2
  * @fileoverview The rule for a file or folder name built from data, and the check that a path built from such
3
3
  * names lies inside its folder.
4
4
  *
5
- * The memory wiki builds a page's path from its id, and the Markdown and Obsidian memory exporters build a
6
- * trace's path from its scope, type and id. Those values come from files, imports and models, so every name
7
- * taken from them is checked against one rule here, and every path built from them is checked to lie inside the
8
- * folder it is written to.
5
+ * The memory wiki builds a page's path from its id, the Markdown and Obsidian memory exporters build a trace's
6
+ * path from its scope, type and id, and the skill exporter builds a forged tool's folder from its name. Those
7
+ * values come from files, imports and models, so every name taken from them is checked against one rule here,
8
+ * and every path built from them is checked to lie inside the folder it is written to.
9
9
  *
10
10
  * @module agentos/core/utils/pathName
11
11
  */
@@ -29,6 +29,13 @@ export declare const MAX_PATH_NAME_BYTES = 200;
29
29
  * - `'length'`: it holds more than {@link MAX_PATH_NAME_BYTES} bytes in UTF-8.
30
30
  */
31
31
  export type PathNameProblem = 'empty' | 'character' | 'dot' | 'edge' | 'length';
32
+ /**
33
+ * A refused value as an error message shows it: a string quoted and escaped, cut to its first 64 characters, or
34
+ * the type of any other value.
35
+ *
36
+ * @param value - The refused value.
37
+ */
38
+ export declare function describeRefusedName(value: unknown): string;
32
39
  /**
33
40
  * True when the character whose UTF-16 code is `code` may appear neither in a name nor anywhere in a path whose
34
41
  * names are joined with `/`: a backslash, a colon, one of `"`, `*`, `<`, `>`, `?` and `|`, or a control character
@@ -1 +1 @@
1
- {"version":3,"file":"pathName.d.ts","sourceRoot":"","sources":["../../../src/core/utils/pathName.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAgBhF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAWpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,KAAK,GAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,KAAK,CAAQ,GACvD,MAAM,GAAG,IAAI,CAKf"}
1
+ {"version":3,"file":"pathName.d.ts","sourceRoot":"","sources":["../../../src/core/utils/pathName.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAmBhF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAK1D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAWpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,KAAK,GAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,KAAK,CAAQ,GACvD,MAAM,GAAG,IAAI,CAKf"}
@@ -2,10 +2,10 @@
2
2
  * @fileoverview The rule for a file or folder name built from data, and the check that a path built from such
3
3
  * names lies inside its folder.
4
4
  *
5
- * The memory wiki builds a page's path from its id, and the Markdown and Obsidian memory exporters build a
6
- * trace's path from its scope, type and id. Those values come from files, imports and models, so every name
7
- * taken from them is checked against one rule here, and every path built from them is checked to lie inside the
8
- * folder it is written to.
5
+ * The memory wiki builds a page's path from its id, the Markdown and Obsidian memory exporters build a trace's
6
+ * path from its scope, type and id, and the skill exporter builds a forged tool's folder from its name. Those
7
+ * values come from files, imports and models, so every name taken from them is checked against one rule here,
8
+ * and every path built from them is checked to lie inside the folder it is written to.
9
9
  *
10
10
  * @module agentos/core/utils/pathName
11
11
  */
@@ -25,6 +25,19 @@ const COLON = 0x3a;
25
25
  /** The codes of `"`, `*`, `<`, `>`, `?` and `|`, which Windows refuses in a name. */
26
26
  const WINDOWS_RESERVED = new Set([0x22, 0x2a, 0x3c, 0x3e, 0x3f, 0x7c]);
27
27
  const utf8 = new TextEncoder();
28
+ /** The most characters of a refused name that an error message shows. */
29
+ const SHOWN_NAME_CHARACTERS = 64;
30
+ /**
31
+ * A refused value as an error message shows it: a string quoted and escaped, cut to its first 64 characters, or
32
+ * the type of any other value.
33
+ *
34
+ * @param value - The refused value.
35
+ */
36
+ export function describeRefusedName(value) {
37
+ if (typeof value !== 'string')
38
+ return `of type ${value === null ? 'null' : typeof value}`;
39
+ return JSON.stringify(value.length > SHOWN_NAME_CHARACTERS ? `${value.slice(0, SHOWN_NAME_CHARACTERS)}...` : value);
40
+ }
28
41
  /**
29
42
  * True when the character whose UTF-16 code is `code` may appear neither in a name nor anywhere in a path whose
30
43
  * names are joined with `/`: a backslash, a colon, one of `"`, `*`, `<`, `>`, `?` and `|`, or a control character
@@ -1 +1 @@
1
- {"version":3,"file":"pathName.js","sourceRoot":"","sources":["../../../src/core/utils/pathName.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAgBvC,yDAAyD;AACzD,MAAM,KAAK,GAAG,IAAI,CAAC;AAEnB,2DAA2D;AAC3D,MAAM,SAAS,GAAG,IAAI,CAAC;AAEvB,mGAAmG;AACnG,MAAM,KAAK,GAAG,IAAI,CAAC;AAEnB,qFAAqF;AACrF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAEvE,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;AAE/B;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7G,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,IAAI,KAAK,KAAK,IAAI,sBAAsB,CAAC,IAAI,CAAC;YAAE,OAAO,WAAW,CAAC;IACzE,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACpF,6GAA6G;IAC7G,IAAI,IAAI,CAAC,MAAM,GAAG,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,mBAAmB;QAAE,OAAO,QAAQ,CAAC;IAC7G,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,QAA2B,EAC3B,QAAoD,IAAI;IAExD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC;IACxE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"pathName.js","sourceRoot":"","sources":["../../../src/core/utils/pathName.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@framers/agentos",
3
- "version": "0.13.65",
3
+ "version": "0.13.66",
4
4
  "description": "AgentOS: open-source TypeScript framework for autonomous AI agents. Unified graph orchestration, cognitive memory, runtime tool forging, multi-tier guardrails, voice pipeline, and 11 LLM providers.",
5
5
  "homepage": "https://agentos.sh",
6
6
  "repository": {