@framers/agentos 0.9.33 → 0.9.34
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 +28 -5
- package/dist/cognition/substrate/memory/wiki/WikiPageCodec.d.ts +10 -0
- package/dist/cognition/substrate/memory/wiki/WikiPageCodec.d.ts.map +1 -0
- package/dist/cognition/substrate/memory/wiki/WikiPageCodec.js +75 -0
- package/dist/cognition/substrate/memory/wiki/WikiPageCodec.js.map +1 -0
- package/dist/cognition/substrate/memory/wiki/migrateMemoryMd.d.ts +16 -0
- package/dist/cognition/substrate/memory/wiki/migrateMemoryMd.d.ts.map +1 -0
- package/dist/cognition/substrate/memory/wiki/migrateMemoryMd.js +42 -0
- package/dist/cognition/substrate/memory/wiki/migrateMemoryMd.js.map +1 -0
- package/dist/cognition/substrate/memory/wiki/types.d.ts +47 -0
- package/dist/cognition/substrate/memory/wiki/types.d.ts.map +1 -0
- package/dist/cognition/substrate/memory/wiki/types.js +6 -0
- package/dist/cognition/substrate/memory/wiki/types.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -267,7 +267,7 @@ Stages 2 and 3 reuse the Stage 1 classification, so the full pipeline costs **on
|
|
|
267
267
|
|
|
268
268
|
| Category | Highlights |
|
|
269
269
|
|---|---|
|
|
270
|
-
| **LLM Providers** |
|
|
270
|
+
| **LLM Providers** | 11 (9 API-key + 2 local CLI): OpenAI, Anthropic, Gemini, Groq, Ollama, OpenRouter, Together, Mistral, xAI, Claude CLI, Gemini CLI. Plus image/video/audio generation providers. |
|
|
271
271
|
| **Cognitive Memory** | 8 mechanisms: reconsolidation, retrieval-induced forgetting, involuntary recall, FOK, gist extraction, schema encoding, source decay, emotion regulation |
|
|
272
272
|
| **HEXACO Personality** | 6 traits modulate memory, retrieval bias, response style |
|
|
273
273
|
| **RAG Pipeline** | 7 vector backends * 4 retrieval strategies * GraphRAG * HyDE * Cohere rerank-v3.5 |
|
|
@@ -472,15 +472,38 @@ git clone https://github.com/framerslab/agentos.git && cd agentos
|
|
|
472
472
|
pnpm install && pnpm build && pnpm test
|
|
473
473
|
```
|
|
474
474
|
|
|
475
|
-
|
|
475
|
+
We use [Conventional Commits](https://www.conventionalcommits.org/). Project guides:
|
|
476
|
+
|
|
477
|
+
| Guide | What |
|
|
478
|
+
|---|---|
|
|
479
|
+
| [Contributing](https://github.com/framerslab/agentos/blob/master/CONTRIBUTING.md) | Dev setup, PR checklist, commit conventions, contribution licensing |
|
|
480
|
+
| [Adding an LLM provider](https://github.com/framerslab/agentos/blob/master/docs/contributing/new-provider.md) | Provider interface, acceptance checklist, vendor-neutrality policy |
|
|
481
|
+
| [Maintainers](https://github.com/framerslab/agentos/blob/master/MAINTAINERS.md) | Who reviews and merges changes |
|
|
482
|
+
| [Code of Conduct](https://github.com/framerslab/agentos/blob/master/.github/CODE_OF_CONDUCT.md) | Community standards |
|
|
483
|
+
| [Security Policy](https://github.com/framerslab/agentos/blob/master/.github/SECURITY.md) | Reporting vulnerabilities privately |
|
|
484
|
+
| [Support](https://github.com/framerslab/agentos/blob/master/SUPPORT.md) | Where to get help |
|
|
485
|
+
| [Sponsors](https://github.com/framerslab/agentos/blob/master/SPONSORS.md) | Funding and the vendor-neutral placement policy |
|
|
476
486
|
|
|
477
487
|
---
|
|
478
488
|
|
|
479
|
-
##
|
|
489
|
+
## Startups & Partnerships
|
|
490
|
+
|
|
491
|
+
AgentOS is Apache-2.0 and free. The provider list is decided on technical merit and stays neutral, and placement there is never sold. Companies engage through partner startup programs, sponsorship, or a provider integration. See [SPONSORS.md](./SPONSORS.md).
|
|
492
|
+
|
|
493
|
+
### Programs & partners
|
|
494
|
+
|
|
495
|
+
| Partner | Type | Provides | Since |
|
|
496
|
+
|:-:|:--|:--|:-:|
|
|
497
|
+
| [](https://deepgram.com/startups) | Startup Program | Speech-to-text + text-to-speech credits, go-to-market | 2026 |
|
|
498
|
+
|
|
499
|
+
### Ways to engage
|
|
480
500
|
|
|
481
|
-
|
|
501
|
+
| Track | What it is | Where |
|
|
502
|
+
|:--|:--|:--|
|
|
503
|
+
| **Sponsor** | Fund development. Disclosed logo placement + release-notes credit. | [SPONSORS.md](./SPONSORS.md) |
|
|
504
|
+
| **Provider integration** | Ship your model or API as a supported provider. Free, on technical merit. | [Provider guide](./docs/contributing/new-provider.md) |
|
|
482
505
|
|
|
483
|
-
|
|
506
|
+
Interested? Email team@frame.dev.
|
|
484
507
|
|
|
485
508
|
---
|
|
486
509
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type WikiPage } from './types.js';
|
|
2
|
+
/** Extract `[[wikilink]]` targets, trimmed and de-duplicated, order-preserving. */
|
|
3
|
+
export declare function extractWikiLinks(body: string): string[];
|
|
4
|
+
/** Parse a page file's content into a WikiPage. `id` is the caller-known relative id. */
|
|
5
|
+
export declare function parsePage(id: string, raw: string): WikiPage;
|
|
6
|
+
/** Serialize a WikiPage back to markdown with YAML frontmatter. */
|
|
7
|
+
export declare function serializePage(page: WikiPage): string;
|
|
8
|
+
/** Render index.md: pages grouped by type, each with a one-line summary and link. */
|
|
9
|
+
export declare function renderCatalog(pages: WikiPage[]): string;
|
|
10
|
+
//# sourceMappingURL=WikiPageCodec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WikiPageCodec.d.ts","sourceRoot":"","sources":["../../../../../src/cognition/substrate/memory/wiki/WikiPageCodec.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAqC,MAAM,YAAY,CAAC;AAI9E,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAWvD;AAED,yFAAyF;AACzF,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAa3D;AAED,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAQpD;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAqBvD"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/** @fileoverview Parse/serialize wiki pages (gray-matter) and render the index.md catalog. */
|
|
2
|
+
import matter from 'gray-matter';
|
|
3
|
+
import { isWikiPageType } from './types.js';
|
|
4
|
+
const WIKILINK_RE = /\[\[\s*([^\]]+?)\s*\]\]/g;
|
|
5
|
+
/** Extract `[[wikilink]]` targets, trimmed and de-duplicated, order-preserving. */
|
|
6
|
+
export function extractWikiLinks(body) {
|
|
7
|
+
const out = [];
|
|
8
|
+
const seen = new Set();
|
|
9
|
+
for (const m of body.matchAll(WIKILINK_RE)) {
|
|
10
|
+
const target = m[1].trim();
|
|
11
|
+
if (target && !seen.has(target)) {
|
|
12
|
+
seen.add(target);
|
|
13
|
+
out.push(target);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return out;
|
|
17
|
+
}
|
|
18
|
+
/** Parse a page file's content into a WikiPage. `id` is the caller-known relative id. */
|
|
19
|
+
export function parsePage(id, raw) {
|
|
20
|
+
const { data, content } = matter(raw);
|
|
21
|
+
const type = isWikiPageType(data.type) ? data.type : inferTypeFromId(id);
|
|
22
|
+
const body = content.replace(/^\s+/, '');
|
|
23
|
+
return {
|
|
24
|
+
id,
|
|
25
|
+
type,
|
|
26
|
+
summary: typeof data.summary === 'string' ? data.summary : '',
|
|
27
|
+
updated: typeof data.updated === 'string' ? data.updated : '',
|
|
28
|
+
sources: Array.isArray(data.sources) ? data.sources.map(String) : [],
|
|
29
|
+
body,
|
|
30
|
+
links: extractWikiLinks(body),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/** Serialize a WikiPage back to markdown with YAML frontmatter. */
|
|
34
|
+
export function serializePage(page) {
|
|
35
|
+
return matter.stringify(page.body.endsWith('\n') ? page.body : page.body + '\n', {
|
|
36
|
+
id: page.id,
|
|
37
|
+
type: page.type,
|
|
38
|
+
summary: page.summary,
|
|
39
|
+
updated: page.updated,
|
|
40
|
+
sources: page.sources,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/** Render index.md: pages grouped by type, each with a one-line summary and link. */
|
|
44
|
+
export function renderCatalog(pages) {
|
|
45
|
+
const groups = { entity: [], concept: [], log: [] };
|
|
46
|
+
for (const p of pages)
|
|
47
|
+
groups[p.type].push(p);
|
|
48
|
+
const lines = ['# Memory Index', ''];
|
|
49
|
+
const headings = [
|
|
50
|
+
['entity', '## Entities'],
|
|
51
|
+
['concept', '## Concepts'],
|
|
52
|
+
['log', '## Log'],
|
|
53
|
+
];
|
|
54
|
+
for (const [type, heading] of headings) {
|
|
55
|
+
const list = groups[type];
|
|
56
|
+
if (list.length === 0)
|
|
57
|
+
continue;
|
|
58
|
+
lines.push(heading, '');
|
|
59
|
+
for (const p of list.sort((a, b) => a.id.localeCompare(b.id))) {
|
|
60
|
+
const name = p.id.split('/').pop() ?? p.id;
|
|
61
|
+
const summary = p.summary ? `: ${p.summary}` : '';
|
|
62
|
+
lines.push(`- [${name}](${p.id}.md)${summary}`);
|
|
63
|
+
}
|
|
64
|
+
lines.push('');
|
|
65
|
+
}
|
|
66
|
+
return lines.join('\n');
|
|
67
|
+
}
|
|
68
|
+
function inferTypeFromId(id) {
|
|
69
|
+
if (id.startsWith('entities/'))
|
|
70
|
+
return 'entity';
|
|
71
|
+
if (id.startsWith('log/'))
|
|
72
|
+
return 'log';
|
|
73
|
+
return 'concept';
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=WikiPageCodec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WikiPageCodec.js","sourceRoot":"","sources":["../../../../../src/cognition/substrate/memory/wiki/WikiPageCodec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Guarantee a `memory/` directory exists in the workspace and return its path.
|
|
3
|
+
*
|
|
4
|
+
* - If `memory/` already exists, return it untouched (idempotent).
|
|
5
|
+
* - Else if `MEMORY.md` exists, seed `memory/index.md` from it. `MEMORY.md` is
|
|
6
|
+
* left on disk as a fallback.
|
|
7
|
+
* - Else create an empty `memory/` with a stub `index.md`.
|
|
8
|
+
*
|
|
9
|
+
* Always creates `.meta/index.json` if absent. Never modifies or deletes
|
|
10
|
+
* `MEMORY.md`.
|
|
11
|
+
*
|
|
12
|
+
* @param workspaceDir - The per-agent workspace directory.
|
|
13
|
+
* @returns Absolute path to the `memory/` directory.
|
|
14
|
+
*/
|
|
15
|
+
export declare function ensureMemoryDir(workspaceDir: string): string;
|
|
16
|
+
//# sourceMappingURL=migrateMemoryMd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrateMemoryMd.d.ts","sourceRoot":"","sources":["../../../../../src/cognition/substrate/memory/wiki/migrateMemoryMd.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CA0B5D"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** @fileoverview Non-destructive MEMORY.md → memory/ migration. Idempotent. */
|
|
2
|
+
import * as fs from 'node:fs';
|
|
3
|
+
import * as path from 'node:path';
|
|
4
|
+
/**
|
|
5
|
+
* Guarantee a `memory/` directory exists in the workspace and return its path.
|
|
6
|
+
*
|
|
7
|
+
* - If `memory/` already exists, return it untouched (idempotent).
|
|
8
|
+
* - Else if `MEMORY.md` exists, seed `memory/index.md` from it. `MEMORY.md` is
|
|
9
|
+
* left on disk as a fallback.
|
|
10
|
+
* - Else create an empty `memory/` with a stub `index.md`.
|
|
11
|
+
*
|
|
12
|
+
* Always creates `.meta/index.json` if absent. Never modifies or deletes
|
|
13
|
+
* `MEMORY.md`.
|
|
14
|
+
*
|
|
15
|
+
* @param workspaceDir - The per-agent workspace directory.
|
|
16
|
+
* @returns Absolute path to the `memory/` directory.
|
|
17
|
+
*/
|
|
18
|
+
export function ensureMemoryDir(workspaceDir) {
|
|
19
|
+
const memoryDir = path.join(workspaceDir, 'memory');
|
|
20
|
+
const indexPath = path.join(memoryDir, 'index.md');
|
|
21
|
+
const metaDir = path.join(memoryDir, '.meta');
|
|
22
|
+
const metaPath = path.join(metaDir, 'index.json');
|
|
23
|
+
if (!fs.existsSync(memoryDir)) {
|
|
24
|
+
fs.mkdirSync(memoryDir, { recursive: true });
|
|
25
|
+
}
|
|
26
|
+
if (!fs.existsSync(indexPath)) {
|
|
27
|
+
const legacy = path.join(workspaceDir, 'MEMORY.md');
|
|
28
|
+
if (fs.existsSync(legacy)) {
|
|
29
|
+
const body = fs.readFileSync(legacy, 'utf8');
|
|
30
|
+
fs.writeFileSync(indexPath, `# Memory Index\n\n<!-- migrated from MEMORY.md -->\n\n${body}\n`);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
fs.writeFileSync(indexPath, '# Memory Index\n');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (!fs.existsSync(metaPath)) {
|
|
37
|
+
fs.mkdirSync(metaDir, { recursive: true });
|
|
38
|
+
fs.writeFileSync(metaPath, JSON.stringify({ lastCompiledAt: null, pages: {} }, null, 2));
|
|
39
|
+
}
|
|
40
|
+
return memoryDir;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=migrateMemoryMd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrateMemoryMd.js","sourceRoot":"","sources":["../../../../../src/cognition/substrate/memory/wiki/migrateMemoryMd.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,YAAoB;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAElD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC7C,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,yDAAyD,IAAI,IAAI,CAAC,CAAC;QACjG,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/** @fileoverview Shared types for the soul memory wiki. */
|
|
2
|
+
export declare const WIKI_PAGE_TYPES: readonly ["entity", "concept", "log"];
|
|
3
|
+
export type WikiPageType = (typeof WIKI_PAGE_TYPES)[number];
|
|
4
|
+
export declare function isWikiPageType(v: unknown): v is WikiPageType;
|
|
5
|
+
/** A single wiki page: parsed frontmatter + markdown body. */
|
|
6
|
+
export interface WikiPage {
|
|
7
|
+
/** Stable id = path relative to memory/ without extension, e.g. 'entities/johnny'. */
|
|
8
|
+
id: string;
|
|
9
|
+
type: WikiPageType;
|
|
10
|
+
/** One-line catalog summary. */
|
|
11
|
+
summary: string;
|
|
12
|
+
/** ISO8601 last-update timestamp. */
|
|
13
|
+
updated: string;
|
|
14
|
+
/** Provenance: ids of memory traces that fed this page. */
|
|
15
|
+
sources: string[];
|
|
16
|
+
/** Markdown body (frontmatter stripped). */
|
|
17
|
+
body: string;
|
|
18
|
+
/** Parsed `[[wikilink]]` targets found in the body. */
|
|
19
|
+
links: string[];
|
|
20
|
+
}
|
|
21
|
+
/** Persisted in `.meta/index.json`. */
|
|
22
|
+
export interface MetaIndex {
|
|
23
|
+
/** ISO8601 watermark: last successful compile. */
|
|
24
|
+
lastCompiledAt: string | null;
|
|
25
|
+
/** pageId → { hash, traceIds } so re-index only touches changed pages. */
|
|
26
|
+
pages: Record<string, {
|
|
27
|
+
hash: string;
|
|
28
|
+
traceIds: string[];
|
|
29
|
+
}>;
|
|
30
|
+
}
|
|
31
|
+
export interface IndexResult {
|
|
32
|
+
/** Page ids re-embedded this run. */
|
|
33
|
+
indexed: string[];
|
|
34
|
+
/** Unchanged page ids. */
|
|
35
|
+
skipped: string[];
|
|
36
|
+
/** Trace ids forgotten. */
|
|
37
|
+
removed: string[];
|
|
38
|
+
}
|
|
39
|
+
export interface CompileResult {
|
|
40
|
+
pagesWritten: string[];
|
|
41
|
+
tracesConsumed: number;
|
|
42
|
+
conflicts: Array<{
|
|
43
|
+
pageId: string;
|
|
44
|
+
note: string;
|
|
45
|
+
}>;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/cognition/substrate/memory/wiki/types.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAE3D,eAAO,MAAM,eAAe,uCAAwC,CAAC;AACrE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAE5D;AAED,8DAA8D;AAC9D,MAAM,WAAW,QAAQ;IACvB,sFAAsF;IACtF,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,uCAAuC;AACvC,MAAM,WAAW,SAAS;IACxB,kDAAkD;IAClD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2BAA2B;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/cognition/substrate/memory/wiki/types.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAU,CAAC;AAGrE,MAAM,UAAU,cAAc,CAAC,CAAU;IACvC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAK,eAAqC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@framers/agentos",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.34",
|
|
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": {
|