soma-protocol 0.1.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/LICENSE +190 -0
- package/README.md +326 -0
- package/dist/adapters/bun.d.ts +10 -0
- package/dist/adapters/bun.d.ts.map +1 -0
- package/dist/adapters/bun.js +15 -0
- package/dist/adapters/bun.js.map +1 -0
- package/dist/adapters/drizzle.d.ts +17 -0
- package/dist/adapters/drizzle.d.ts.map +1 -0
- package/dist/adapters/drizzle.js +21 -0
- package/dist/adapters/drizzle.js.map +1 -0
- package/dist/adapters/index.d.ts +6 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +6 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/pg.d.ts +16 -0
- package/dist/adapters/pg.d.ts.map +1 -0
- package/dist/adapters/pg.js +18 -0
- package/dist/adapters/pg.js.map +1 -0
- package/dist/adapters/postgres.d.ts +14 -0
- package/dist/adapters/postgres.d.ts.map +1 -0
- package/dist/adapters/postgres.js +17 -0
- package/dist/adapters/postgres.js.map +1 -0
- package/dist/adapters/typeorm.d.ts +15 -0
- package/dist/adapters/typeorm.d.ts.map +1 -0
- package/dist/adapters/typeorm.js +18 -0
- package/dist/adapters/typeorm.js.map +1 -0
- package/dist/agent/index.d.ts +7 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +2 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/interfaces/agent-meta.interface.d.ts +13 -0
- package/dist/agent/interfaces/agent-meta.interface.d.ts.map +1 -0
- package/dist/agent/interfaces/agent-meta.interface.js +2 -0
- package/dist/agent/interfaces/agent-meta.interface.js.map +1 -0
- package/dist/agent/interfaces/agent-state.interface.d.ts +14 -0
- package/dist/agent/interfaces/agent-state.interface.d.ts.map +1 -0
- package/dist/agent/interfaces/agent-state.interface.js +2 -0
- package/dist/agent/interfaces/agent-state.interface.js.map +1 -0
- package/dist/agent/interfaces/memory.interface.d.ts +174 -0
- package/dist/agent/interfaces/memory.interface.d.ts.map +1 -0
- package/dist/agent/interfaces/memory.interface.js +3 -0
- package/dist/agent/interfaces/memory.interface.js.map +1 -0
- package/dist/agent/interfaces/persona.interface.d.ts +10 -0
- package/dist/agent/interfaces/persona.interface.d.ts.map +1 -0
- package/dist/agent/interfaces/persona.interface.js +2 -0
- package/dist/agent/interfaces/persona.interface.js.map +1 -0
- package/dist/agent/interfaces/soma-agents.interface.d.ts +9 -0
- package/dist/agent/interfaces/soma-agents.interface.d.ts.map +1 -0
- package/dist/agent/interfaces/soma-agents.interface.js +2 -0
- package/dist/agent/interfaces/soma-agents.interface.js.map +1 -0
- package/dist/agent/types/mood-and-communication.type.d.ts +3 -0
- package/dist/agent/types/mood-and-communication.type.d.ts.map +1 -0
- package/dist/agent/types/mood-and-communication.type.js +2 -0
- package/dist/agent/types/mood-and-communication.type.js.map +1 -0
- package/dist/extensions/emotional/emotional.router.d.ts +9 -0
- package/dist/extensions/emotional/emotional.router.d.ts.map +1 -0
- package/dist/extensions/emotional/emotional.router.js +91 -0
- package/dist/extensions/emotional/emotional.router.js.map +1 -0
- package/dist/extensions/emotional/emotional.service.d.ts +16 -0
- package/dist/extensions/emotional/emotional.service.d.ts.map +1 -0
- package/dist/extensions/emotional/emotional.service.js +161 -0
- package/dist/extensions/emotional/emotional.service.js.map +1 -0
- package/dist/extensions/emotional/errors.d.ts +9 -0
- package/dist/extensions/emotional/errors.d.ts.map +1 -0
- package/dist/extensions/emotional/errors.js +17 -0
- package/dist/extensions/emotional/errors.js.map +1 -0
- package/dist/extensions/emotional/index.d.ts +7 -0
- package/dist/extensions/emotional/index.d.ts.map +1 -0
- package/dist/extensions/emotional/index.js +6 -0
- package/dist/extensions/emotional/index.js.map +1 -0
- package/dist/extensions/emotional/schema.d.ts +372 -0
- package/dist/extensions/emotional/schema.d.ts.map +1 -0
- package/dist/extensions/emotional/schema.js +84 -0
- package/dist/extensions/emotional/schema.js.map +1 -0
- package/dist/extensions/emotional/store.d.ts +15 -0
- package/dist/extensions/emotional/store.d.ts.map +1 -0
- package/dist/extensions/emotional/store.js +123 -0
- package/dist/extensions/emotional/store.js.map +1 -0
- package/dist/extensions/emotional/types.d.ts +87 -0
- package/dist/extensions/emotional/types.d.ts.map +1 -0
- package/dist/extensions/emotional/types.js +2 -0
- package/dist/extensions/emotional/types.js.map +1 -0
- package/dist/extensions/events/bus.d.ts +17 -0
- package/dist/extensions/events/bus.d.ts.map +1 -0
- package/dist/extensions/events/bus.js +38 -0
- package/dist/extensions/events/bus.js.map +1 -0
- package/dist/extensions/events/clickhouse-client.d.ts +12 -0
- package/dist/extensions/events/clickhouse-client.d.ts.map +1 -0
- package/dist/extensions/events/clickhouse-client.js +63 -0
- package/dist/extensions/events/clickhouse-client.js.map +1 -0
- package/dist/extensions/events/index.d.ts +3 -0
- package/dist/extensions/events/index.d.ts.map +1 -0
- package/dist/extensions/events/index.js +3 -0
- package/dist/extensions/events/index.js.map +1 -0
- package/dist/extensions/identity/generate-instructions.d.ts +8 -0
- package/dist/extensions/identity/generate-instructions.d.ts.map +1 -0
- package/dist/extensions/identity/generate-instructions.js +58 -0
- package/dist/extensions/identity/generate-instructions.js.map +1 -0
- package/dist/extensions/identity/identity.router.d.ts +8 -0
- package/dist/extensions/identity/identity.router.d.ts.map +1 -0
- package/dist/extensions/identity/identity.router.js +136 -0
- package/dist/extensions/identity/identity.router.js.map +1 -0
- package/dist/extensions/identity/identity.schema.d.ts +145 -0
- package/dist/extensions/identity/identity.schema.d.ts.map +1 -0
- package/dist/extensions/identity/identity.schema.js +71 -0
- package/dist/extensions/identity/identity.schema.js.map +1 -0
- package/dist/extensions/identity/identity.service.d.ts +19 -0
- package/dist/extensions/identity/identity.service.d.ts.map +1 -0
- package/dist/extensions/identity/identity.service.js +194 -0
- package/dist/extensions/identity/identity.service.js.map +1 -0
- package/dist/extensions/identity/identity.store.d.ts +18 -0
- package/dist/extensions/identity/identity.store.d.ts.map +1 -0
- package/dist/extensions/identity/identity.store.js +126 -0
- package/dist/extensions/identity/identity.store.js.map +1 -0
- package/dist/extensions/identity/identity.types.d.ts +54 -0
- package/dist/extensions/identity/identity.types.d.ts.map +1 -0
- package/dist/extensions/identity/identity.types.js +2 -0
- package/dist/extensions/identity/identity.types.js.map +1 -0
- package/dist/extensions/identity/index.d.ts +7 -0
- package/dist/extensions/identity/index.d.ts.map +1 -0
- package/dist/extensions/identity/index.js +7 -0
- package/dist/extensions/identity/index.js.map +1 -0
- package/dist/extensions/learning/distiller.d.ts +14 -0
- package/dist/extensions/learning/distiller.d.ts.map +1 -0
- package/dist/extensions/learning/distiller.js +126 -0
- package/dist/extensions/learning/distiller.js.map +1 -0
- package/dist/extensions/learning/errors.d.ts +26 -0
- package/dist/extensions/learning/errors.d.ts.map +1 -0
- package/dist/extensions/learning/errors.js +51 -0
- package/dist/extensions/learning/errors.js.map +1 -0
- package/dist/extensions/learning/index.d.ts +9 -0
- package/dist/extensions/learning/index.d.ts.map +1 -0
- package/dist/extensions/learning/index.js +8 -0
- package/dist/extensions/learning/index.js.map +1 -0
- package/dist/extensions/learning/observation.d.ts +13 -0
- package/dist/extensions/learning/observation.d.ts.map +1 -0
- package/dist/extensions/learning/observation.js +128 -0
- package/dist/extensions/learning/observation.js.map +1 -0
- package/dist/extensions/learning/router.d.ts +15 -0
- package/dist/extensions/learning/router.d.ts.map +1 -0
- package/dist/extensions/learning/router.js +245 -0
- package/dist/extensions/learning/router.js.map +1 -0
- package/dist/extensions/learning/schema.d.ts +472 -0
- package/dist/extensions/learning/schema.d.ts.map +1 -0
- package/dist/extensions/learning/schema.js +229 -0
- package/dist/extensions/learning/schema.js.map +1 -0
- package/dist/extensions/learning/scorecard.d.ts +7 -0
- package/dist/extensions/learning/scorecard.d.ts.map +1 -0
- package/dist/extensions/learning/scorecard.js +50 -0
- package/dist/extensions/learning/scorecard.js.map +1 -0
- package/dist/extensions/learning/store.d.ts +25 -0
- package/dist/extensions/learning/store.d.ts.map +1 -0
- package/dist/extensions/learning/store.js +305 -0
- package/dist/extensions/learning/store.js.map +1 -0
- package/dist/extensions/learning/types.d.ts +212 -0
- package/dist/extensions/learning/types.d.ts.map +1 -0
- package/dist/extensions/learning/types.js +3 -0
- package/dist/extensions/learning/types.js.map +1 -0
- package/dist/extensions/memory/episodic/schema.d.ts +74 -0
- package/dist/extensions/memory/episodic/schema.d.ts.map +1 -0
- package/dist/extensions/memory/episodic/schema.js +58 -0
- package/dist/extensions/memory/episodic/schema.js.map +1 -0
- package/dist/extensions/memory/episodic/store.d.ts +31 -0
- package/dist/extensions/memory/episodic/store.d.ts.map +1 -0
- package/dist/extensions/memory/episodic/store.js +147 -0
- package/dist/extensions/memory/episodic/store.js.map +1 -0
- package/dist/extensions/memory/episodic/types.d.ts +35 -0
- package/dist/extensions/memory/episodic/types.d.ts.map +1 -0
- package/dist/extensions/memory/episodic/types.js +2 -0
- package/dist/extensions/memory/episodic/types.js.map +1 -0
- package/dist/extensions/memory/errors.d.ts +19 -0
- package/dist/extensions/memory/errors.d.ts.map +1 -0
- package/dist/extensions/memory/errors.js +37 -0
- package/dist/extensions/memory/errors.js.map +1 -0
- package/dist/extensions/memory/index.d.ts +13 -0
- package/dist/extensions/memory/index.d.ts.map +1 -0
- package/dist/extensions/memory/index.js +10 -0
- package/dist/extensions/memory/index.js.map +1 -0
- package/dist/extensions/memory/memory.router.d.ts +17 -0
- package/dist/extensions/memory/memory.router.d.ts.map +1 -0
- package/dist/extensions/memory/memory.router.js +289 -0
- package/dist/extensions/memory/memory.router.js.map +1 -0
- package/dist/extensions/memory/procedural/schema.d.ts +88 -0
- package/dist/extensions/memory/procedural/schema.d.ts.map +1 -0
- package/dist/extensions/memory/procedural/schema.js +67 -0
- package/dist/extensions/memory/procedural/schema.js.map +1 -0
- package/dist/extensions/memory/procedural/store.d.ts +20 -0
- package/dist/extensions/memory/procedural/store.d.ts.map +1 -0
- package/dist/extensions/memory/procedural/store.js +125 -0
- package/dist/extensions/memory/procedural/store.js.map +1 -0
- package/dist/extensions/memory/procedural/types.d.ts +26 -0
- package/dist/extensions/memory/procedural/types.d.ts.map +1 -0
- package/dist/extensions/memory/procedural/types.js +2 -0
- package/dist/extensions/memory/procedural/types.js.map +1 -0
- package/dist/extensions/memory/router.d.ts +23 -0
- package/dist/extensions/memory/router.d.ts.map +1 -0
- package/dist/extensions/memory/router.js +76 -0
- package/dist/extensions/memory/router.js.map +1 -0
- package/dist/extensions/memory/social/schema.d.ts +34 -0
- package/dist/extensions/memory/social/schema.d.ts.map +1 -0
- package/dist/extensions/memory/social/schema.js +34 -0
- package/dist/extensions/memory/social/schema.js.map +1 -0
- package/dist/extensions/memory/social/store.d.ts +20 -0
- package/dist/extensions/memory/social/store.d.ts.map +1 -0
- package/dist/extensions/memory/social/store.js +142 -0
- package/dist/extensions/memory/social/store.js.map +1 -0
- package/dist/extensions/memory/social/types.d.ts +19 -0
- package/dist/extensions/memory/social/types.d.ts.map +1 -0
- package/dist/extensions/memory/social/types.js +2 -0
- package/dist/extensions/memory/social/types.js.map +1 -0
- package/dist/extensions/reflection/errors.d.ts +17 -0
- package/dist/extensions/reflection/errors.d.ts.map +1 -0
- package/dist/extensions/reflection/errors.js +33 -0
- package/dist/extensions/reflection/errors.js.map +1 -0
- package/dist/extensions/reflection/index.d.ts +7 -0
- package/dist/extensions/reflection/index.d.ts.map +1 -0
- package/dist/extensions/reflection/index.js +6 -0
- package/dist/extensions/reflection/index.js.map +1 -0
- package/dist/extensions/reflection/reflection.router.d.ts +8 -0
- package/dist/extensions/reflection/reflection.router.d.ts.map +1 -0
- package/dist/extensions/reflection/reflection.router.js +195 -0
- package/dist/extensions/reflection/reflection.router.js.map +1 -0
- package/dist/extensions/reflection/reflection.service.d.ts +20 -0
- package/dist/extensions/reflection/reflection.service.d.ts.map +1 -0
- package/dist/extensions/reflection/reflection.service.js +69 -0
- package/dist/extensions/reflection/reflection.service.js.map +1 -0
- package/dist/extensions/reflection/schema.d.ts +508 -0
- package/dist/extensions/reflection/schema.d.ts.map +1 -0
- package/dist/extensions/reflection/schema.js +200 -0
- package/dist/extensions/reflection/schema.js.map +1 -0
- package/dist/extensions/reflection/store.d.ts +22 -0
- package/dist/extensions/reflection/store.d.ts.map +1 -0
- package/dist/extensions/reflection/store.js +326 -0
- package/dist/extensions/reflection/store.js.map +1 -0
- package/dist/extensions/reflection/types.d.ts +220 -0
- package/dist/extensions/reflection/types.d.ts.map +1 -0
- package/dist/extensions/reflection/types.js +2 -0
- package/dist/extensions/reflection/types.js.map +1 -0
- package/dist/extensions/reputation/errors.d.ts +21 -0
- package/dist/extensions/reputation/errors.d.ts.map +1 -0
- package/dist/extensions/reputation/errors.js +41 -0
- package/dist/extensions/reputation/errors.js.map +1 -0
- package/dist/extensions/reputation/index.d.ts +6 -0
- package/dist/extensions/reputation/index.d.ts.map +1 -0
- package/dist/extensions/reputation/index.js +5 -0
- package/dist/extensions/reputation/index.js.map +1 -0
- package/dist/extensions/reputation/schema.d.ts +157 -0
- package/dist/extensions/reputation/schema.d.ts.map +1 -0
- package/dist/extensions/reputation/schema.js +96 -0
- package/dist/extensions/reputation/schema.js.map +1 -0
- package/dist/extensions/reputation/store.d.ts +21 -0
- package/dist/extensions/reputation/store.d.ts.map +1 -0
- package/dist/extensions/reputation/store.js +421 -0
- package/dist/extensions/reputation/store.js.map +1 -0
- package/dist/extensions/reputation/types.d.ts +106 -0
- package/dist/extensions/reputation/types.d.ts.map +1 -0
- package/dist/extensions/reputation/types.js +2 -0
- package/dist/extensions/reputation/types.js.map +1 -0
- package/dist/extensions/social/errors.d.ts +25 -0
- package/dist/extensions/social/errors.d.ts.map +1 -0
- package/dist/extensions/social/errors.js +49 -0
- package/dist/extensions/social/errors.js.map +1 -0
- package/dist/extensions/social/index.d.ts +7 -0
- package/dist/extensions/social/index.d.ts.map +1 -0
- package/dist/extensions/social/index.js +6 -0
- package/dist/extensions/social/index.js.map +1 -0
- package/dist/extensions/social/schema.d.ts +421 -0
- package/dist/extensions/social/schema.d.ts.map +1 -0
- package/dist/extensions/social/schema.js +154 -0
- package/dist/extensions/social/schema.js.map +1 -0
- package/dist/extensions/social/social.router.d.ts +8 -0
- package/dist/extensions/social/social.router.d.ts.map +1 -0
- package/dist/extensions/social/social.router.js +199 -0
- package/dist/extensions/social/social.router.js.map +1 -0
- package/dist/extensions/social/social.service.d.ts +27 -0
- package/dist/extensions/social/social.service.d.ts.map +1 -0
- package/dist/extensions/social/social.service.js +93 -0
- package/dist/extensions/social/social.service.js.map +1 -0
- package/dist/extensions/social/store.d.ts +19 -0
- package/dist/extensions/social/store.d.ts.map +1 -0
- package/dist/extensions/social/store.js +382 -0
- package/dist/extensions/social/store.js.map +1 -0
- package/dist/extensions/social/types.d.ts +292 -0
- package/dist/extensions/social/types.d.ts.map +1 -0
- package/dist/extensions/social/types.js +2 -0
- package/dist/extensions/social/types.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/migrator/index.d.ts +3 -0
- package/dist/migrator/index.d.ts.map +1 -0
- package/dist/migrator/index.js +2 -0
- package/dist/migrator/index.js.map +1 -0
- package/dist/migrator/migrator.d.ts +16 -0
- package/dist/migrator/migrator.d.ts.map +1 -0
- package/dist/migrator/migrator.js +225 -0
- package/dist/migrator/migrator.js.map +1 -0
- package/dist/migrator/types.d.ts +9 -0
- package/dist/migrator/types.d.ts.map +1 -0
- package/dist/migrator/types.js +2 -0
- package/dist/migrator/types.js.map +1 -0
- package/dist/soma.d.ts +66 -0
- package/dist/soma.d.ts.map +1 -0
- package/dist/soma.js +112 -0
- package/dist/soma.js.map +1 -0
- package/dist/transport/index.d.ts +2 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +2 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/types/database.d.ts +8 -0
- package/dist/types/database.d.ts.map +1 -0
- package/dist/types/database.js +2 -0
- package/dist/types/database.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/embedder.d.ts +13 -0
- package/dist/utils/embedder.d.ts.map +1 -0
- package/dist/utils/embedder.js +97 -0
- package/dist/utils/embedder.js.map +1 -0
- package/dist/utils/forgetting.d.ts +22 -0
- package/dist/utils/forgetting.d.ts.map +1 -0
- package/dist/utils/forgetting.js +29 -0
- package/dist/utils/forgetting.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/json.d.ts +2 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/json.js +12 -0
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/validation.d.ts +10 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +9 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +111 -0
- package/schema/clickhouse/01-episodes.sql +50 -0
- package/schema/clickhouse/02-learning-events.sql +37 -0
- package/schema/clickhouse/03-trust-history.sql +15 -0
- package/schema/clickhouse/04-reflection-events.sql +12 -0
- package/schema/clickhouse/05-emotional-events.sql +14 -0
- package/schema/postgres/001_create_schema.sql +11 -0
- package/schema/postgres/002_create_agent_identities.sql +63 -0
- package/schema/postgres/003_create_identity_evolution_log.sql +21 -0
- package/schema/postgres/004_create_agent_cards.sql +29 -0
- package/schema/postgres/005_create_memory_tables.sql +32 -0
- package/schema/postgres/006_create_learning_tables.sql +119 -0
- package/schema/postgres/007_create_reputation_tables.sql +27 -0
- package/schema/postgres/008_create_social_tables.sql +43 -0
- package/schema/postgres/009_create_reflection_tables.sql +54 -0
- package/schema/postgres/010_create_emotional_tables.sql +19 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/extensions/social/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/extensions/social/types.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE3E,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { Soma, createSoma } from './soma';
|
|
2
|
+
export * from './utils';
|
|
3
|
+
export * from './types';
|
|
4
|
+
export * from './adapters';
|
|
5
|
+
export * from './migrator';
|
|
6
|
+
export * from './agent';
|
|
7
|
+
// Extension modules are available via subpath imports:
|
|
8
|
+
// import { createIdentityService } from 'soma-protocol/identity'
|
|
9
|
+
// import { createMemoryRouter } from 'soma-protocol/memory'
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAmC,MAAM,QAAQ,CAAC;AAE3E,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AAExB,uDAAuD;AACvD,mEAAmE;AACnE,8DAA8D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvF,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Database } from '../types/database';
|
|
2
|
+
import type { MigratorOptions } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Applies all pending migrations to the database.
|
|
5
|
+
* Reads SQL from schema/postgres/ directory.
|
|
6
|
+
*/
|
|
7
|
+
export declare function runMigrations(db: Database, options?: MigratorOptions): Promise<void>;
|
|
8
|
+
/**
|
|
9
|
+
* Returns list of applied migration names.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getAppliedMigrations(db: Database, options?: MigratorOptions): Promise<string[]>;
|
|
12
|
+
/**
|
|
13
|
+
* Returns list of pending migration names.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getPendingMigrations(db: Database, options?: MigratorOptions): Promise<string[]>;
|
|
16
|
+
//# sourceMappingURL=migrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrator.d.ts","sourceRoot":"","sources":["../../src/migrator/migrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAa,MAAM,SAAS,CAAC;AAI1D;;;GAGG;AACH,wBAAsB,aAAa,CAC/B,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE,eAAoB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAyCf;AA4KD;;GAEG;AACH,wBAAsB,oBAAoB,CACtC,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE,eAAoB,GAC9B,OAAO,CAAC,MAAM,EAAE,CAAC,CAYnB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACtC,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE,eAAoB,GAC9B,OAAO,CAAC,MAAM,EAAE,CAAC,CAOnB"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { dirname, join } from 'path';
|
|
2
|
+
import { fileURLToPath } from 'url';
|
|
3
|
+
/**
|
|
4
|
+
* Applies all pending migrations to the database.
|
|
5
|
+
* Reads SQL from schema/postgres/ directory.
|
|
6
|
+
*/
|
|
7
|
+
export async function runMigrations(db, options = {}) {
|
|
8
|
+
const { schema = 'soma' } = options;
|
|
9
|
+
// 1. Create schema if not exists
|
|
10
|
+
await db.query(`CREATE SCHEMA IF NOT EXISTS ${schema}`);
|
|
11
|
+
// 2. Create migrations table if not exists
|
|
12
|
+
await db.query(`
|
|
13
|
+
CREATE TABLE IF NOT EXISTS ${schema}.migrations (
|
|
14
|
+
id SERIAL PRIMARY KEY,
|
|
15
|
+
name TEXT NOT NULL UNIQUE,
|
|
16
|
+
applied_at TIMESTAMPTZ DEFAULT NOW()
|
|
17
|
+
)
|
|
18
|
+
`);
|
|
19
|
+
// 3. Get applied migrations
|
|
20
|
+
const applied = await db.query(`SELECT name FROM ${schema}.migrations ORDER BY id`);
|
|
21
|
+
const appliedNames = new Set(applied.map((r) => r.name));
|
|
22
|
+
// 4. Load migrations from schema/postgres/
|
|
23
|
+
const migrations = await loadMigrations();
|
|
24
|
+
// 5. Apply pending migrations
|
|
25
|
+
for (const migration of migrations) {
|
|
26
|
+
if (!appliedNames.has(migration.name)) {
|
|
27
|
+
console.log(`[soma] Applying migration: ${migration.name}`);
|
|
28
|
+
await db.query(migration.sql);
|
|
29
|
+
await db.query(`INSERT INTO ${schema}.migrations (name) VALUES ($1)`, [migration.name]);
|
|
30
|
+
console.log(`[soma] Migration applied: ${migration.name}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
console.log(`[soma] All migrations applied`);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Loads migrations from schema/postgres/ directory.
|
|
37
|
+
* Uses dynamic import for Node.js or reads from embedded SQL.
|
|
38
|
+
*/
|
|
39
|
+
function resolveMigrationsDir() {
|
|
40
|
+
// dist/migrator/migrator.js → package root/schema/postgres
|
|
41
|
+
const dir = dirname(fileURLToPath(import.meta.url));
|
|
42
|
+
return join(dir, '..', '..', 'schema', 'postgres');
|
|
43
|
+
}
|
|
44
|
+
async function loadMigrations() {
|
|
45
|
+
// Read SQL from package schema/postgres/; fall back to embedded migrations
|
|
46
|
+
try {
|
|
47
|
+
const fs = await import('fs/promises');
|
|
48
|
+
const path = await import('path');
|
|
49
|
+
const migrationsDir = resolveMigrationsDir();
|
|
50
|
+
const files = await fs.readdir(migrationsDir);
|
|
51
|
+
const sqlFiles = files.filter(f => f.endsWith('.sql')).sort();
|
|
52
|
+
const migrations = [];
|
|
53
|
+
for (const file of sqlFiles) {
|
|
54
|
+
const content = await fs.readFile(path.join(migrationsDir, file), 'utf-8');
|
|
55
|
+
migrations.push({
|
|
56
|
+
name: file.replace('.sql', ''),
|
|
57
|
+
sql: content,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return migrations;
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
// Fallback: embedded migrations
|
|
64
|
+
return getEmbeddedMigrations();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Embedded migrations for environments without file system access.
|
|
69
|
+
*/
|
|
70
|
+
function getEmbeddedMigrations() {
|
|
71
|
+
return [
|
|
72
|
+
{
|
|
73
|
+
name: '001_create_schema',
|
|
74
|
+
sql: `
|
|
75
|
+
CREATE SCHEMA IF NOT EXISTS soma;
|
|
76
|
+
|
|
77
|
+
CREATE TABLE IF NOT EXISTS soma.migrations (
|
|
78
|
+
id SERIAL PRIMARY KEY,
|
|
79
|
+
name TEXT NOT NULL UNIQUE,
|
|
80
|
+
applied_at TIMESTAMPTZ DEFAULT NOW()
|
|
81
|
+
);
|
|
82
|
+
`,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: '002_create_agent_identities',
|
|
86
|
+
sql: `
|
|
87
|
+
CREATE EXTENSION IF NOT EXISTS vector;
|
|
88
|
+
|
|
89
|
+
-- Main agent identities table
|
|
90
|
+
CREATE TABLE soma.agent_identities (
|
|
91
|
+
agent_id TEXT PRIMARY KEY,
|
|
92
|
+
name TEXT NOT NULL,
|
|
93
|
+
description TEXT NOT NULL DEFAULT '',
|
|
94
|
+
created_at TIMESTAMPTZ DEFAULT NOW(),
|
|
95
|
+
updated_at TIMESTAMPTZ DEFAULT NOW()
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
-- Persona details (1:1)
|
|
99
|
+
CREATE TABLE soma.agent_persona (
|
|
100
|
+
agent_id TEXT PRIMARY KEY REFERENCES soma.agent_identities(agent_id) ON DELETE CASCADE,
|
|
101
|
+
communication_style TEXT NOT NULL DEFAULT 'adaptive',
|
|
102
|
+
personality_vector vector(128)
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
-- State details (1:1)
|
|
106
|
+
CREATE TABLE soma.agent_state (
|
|
107
|
+
agent_id TEXT PRIMARY KEY REFERENCES soma.agent_identities(agent_id) ON DELETE CASCADE,
|
|
108
|
+
current_mood TEXT NOT NULL DEFAULT 'neutral',
|
|
109
|
+
energy_level FLOAT NOT NULL DEFAULT 1.0 CHECK (energy_level >= 0 AND energy_level <= 1),
|
|
110
|
+
confidence_score FLOAT NOT NULL DEFAULT 0.5 CHECK (confidence_score >= 0 AND confidence_score <= 1),
|
|
111
|
+
learning_rate FLOAT NOT NULL DEFAULT 0.1 CHECK (learning_rate >= 0 AND learning_rate <= 1),
|
|
112
|
+
interaction_count INTEGER NOT NULL DEFAULT 0,
|
|
113
|
+
last_active TIMESTAMPTZ DEFAULT NOW()
|
|
114
|
+
);
|
|
115
|
+
|
|
116
|
+
-- Meta details (1:1)
|
|
117
|
+
CREATE TABLE soma.agent_meta (
|
|
118
|
+
agent_id TEXT PRIMARY KEY REFERENCES soma.agent_identities(agent_id) ON DELETE CASCADE,
|
|
119
|
+
version INTEGER NOT NULL DEFAULT 1,
|
|
120
|
+
parent_agent TEXT
|
|
121
|
+
);
|
|
122
|
+
|
|
123
|
+
-- Core values (1:many)
|
|
124
|
+
CREATE TABLE soma.agent_core_values (
|
|
125
|
+
id SERIAL PRIMARY KEY,
|
|
126
|
+
agent_id TEXT NOT NULL REFERENCES soma.agent_identities(agent_id) ON DELETE CASCADE,
|
|
127
|
+
value TEXT NOT NULL,
|
|
128
|
+
UNIQUE(agent_id, value)
|
|
129
|
+
);
|
|
130
|
+
|
|
131
|
+
-- Expertise domains (1:many)
|
|
132
|
+
CREATE TABLE soma.agent_expertise_domains (
|
|
133
|
+
id SERIAL PRIMARY KEY,
|
|
134
|
+
agent_id TEXT NOT NULL REFERENCES soma.agent_identities(agent_id) ON DELETE CASCADE,
|
|
135
|
+
domain TEXT NOT NULL,
|
|
136
|
+
UNIQUE(agent_id, domain)
|
|
137
|
+
);
|
|
138
|
+
|
|
139
|
+
-- Indexes
|
|
140
|
+
CREATE INDEX idx_agent_identities_agent_id ON soma.agent_identities(agent_id);
|
|
141
|
+
CREATE INDEX idx_agent_persona_vector ON soma.agent_persona USING ivfflat (personality_vector vector_cosine_ops);
|
|
142
|
+
CREATE INDEX idx_agent_state_mood ON soma.agent_state(current_mood);
|
|
143
|
+
CREATE INDEX idx_agent_state_last_active ON soma.agent_state(last_active DESC);
|
|
144
|
+
CREATE INDEX idx_agent_core_values_agent_id ON soma.agent_core_values(agent_id);
|
|
145
|
+
CREATE INDEX idx_agent_expertise_domains_agent_id ON soma.agent_expertise_domains(agent_id);
|
|
146
|
+
`,
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
name: '003_create_identity_evolution_log',
|
|
150
|
+
sql: `
|
|
151
|
+
CREATE TABLE soma.identity_evolution_log (
|
|
152
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
153
|
+
agent_id TEXT NOT NULL REFERENCES soma.agent_identities(agent_id) ON DELETE CASCADE,
|
|
154
|
+
timestamp TIMESTAMPTZ DEFAULT NOW(),
|
|
155
|
+
change_type TEXT NOT NULL,
|
|
156
|
+
description TEXT NOT NULL DEFAULT '',
|
|
157
|
+
previous_version INTEGER NOT NULL DEFAULT 0,
|
|
158
|
+
new_version INTEGER NOT NULL DEFAULT 0,
|
|
159
|
+
trigger_type TEXT,
|
|
160
|
+
confidence FLOAT CHECK (confidence >= 0 AND confidence <= 1)
|
|
161
|
+
);
|
|
162
|
+
|
|
163
|
+
CREATE INDEX idx_identity_evolution_log_agent_id ON soma.identity_evolution_log(agent_id);
|
|
164
|
+
CREATE INDEX idx_identity_evolution_log_timestamp ON soma.identity_evolution_log(timestamp DESC);
|
|
165
|
+
CREATE INDEX idx_identity_evolution_log_change_type ON soma.identity_evolution_log(change_type);
|
|
166
|
+
CREATE INDEX idx_identity_evolution_log_agent_time ON soma.identity_evolution_log(agent_id, timestamp DESC);
|
|
167
|
+
`,
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
name: '004_create_agent_cards',
|
|
171
|
+
sql: `
|
|
172
|
+
-- Agent cards table
|
|
173
|
+
CREATE TABLE soma.agent_cards (
|
|
174
|
+
agent_id TEXT PRIMARY KEY,
|
|
175
|
+
identity_id TEXT REFERENCES soma.agent_identities(agent_id) ON DELETE SET NULL,
|
|
176
|
+
url TEXT NOT NULL DEFAULT '',
|
|
177
|
+
version TEXT NOT NULL DEFAULT '1.0',
|
|
178
|
+
documentation_url TEXT NOT NULL DEFAULT '',
|
|
179
|
+
is_active BOOLEAN DEFAULT TRUE,
|
|
180
|
+
created_at TIMESTAMPTZ DEFAULT NOW(),
|
|
181
|
+
updated_at TIMESTAMPTZ DEFAULT NOW()
|
|
182
|
+
);
|
|
183
|
+
|
|
184
|
+
-- Agent capabilities (1:many)
|
|
185
|
+
CREATE TABLE soma.agent_capabilities (
|
|
186
|
+
id SERIAL PRIMARY KEY,
|
|
187
|
+
agent_id TEXT NOT NULL REFERENCES soma.agent_cards(agent_id) ON DELETE CASCADE,
|
|
188
|
+
name TEXT NOT NULL,
|
|
189
|
+
description TEXT NOT NULL DEFAULT '',
|
|
190
|
+
UNIQUE(agent_id, name)
|
|
191
|
+
);
|
|
192
|
+
|
|
193
|
+
CREATE INDEX idx_agent_cards_agent_id ON soma.agent_cards(agent_id);
|
|
194
|
+
CREATE INDEX idx_agent_cards_is_active ON soma.agent_cards(is_active) WHERE is_active = TRUE;
|
|
195
|
+
CREATE INDEX idx_agent_capabilities_agent_id ON soma.agent_capabilities(agent_id);
|
|
196
|
+
`,
|
|
197
|
+
},
|
|
198
|
+
];
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Returns list of applied migration names.
|
|
202
|
+
*/
|
|
203
|
+
export async function getAppliedMigrations(db, options = {}) {
|
|
204
|
+
const { schema = 'soma' } = options;
|
|
205
|
+
try {
|
|
206
|
+
const rows = await db.query(`SELECT name FROM ${schema}.migrations ORDER BY id`);
|
|
207
|
+
return rows.map((r) => r.name);
|
|
208
|
+
}
|
|
209
|
+
catch {
|
|
210
|
+
// Table doesn't exist yet
|
|
211
|
+
return [];
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Returns list of pending migration names.
|
|
216
|
+
*/
|
|
217
|
+
export async function getPendingMigrations(db, options = {}) {
|
|
218
|
+
const applied = await getAppliedMigrations(db, options);
|
|
219
|
+
const appliedSet = new Set(applied);
|
|
220
|
+
const migrations = await loadMigrations();
|
|
221
|
+
return migrations
|
|
222
|
+
.filter((m) => !appliedSet.has(m.name))
|
|
223
|
+
.map((m) => m.name);
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=migrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrator.js","sourceRoot":"","sources":["../../src/migrator/migrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/migrator/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC5B,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/migrator/types.ts"],"names":[],"mappings":""}
|
package/dist/soma.d.ts
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { Database } from './types/database';
|
|
2
|
+
import type { SomaAgent } from './agent/interfaces/soma-agents.interface';
|
|
3
|
+
import type { ClickHouseClient } from './extensions/events/clickhouse-client';
|
|
4
|
+
import type { EventBus, EventBusConfig } from './extensions/events/bus';
|
|
5
|
+
import type { Embedder } from './utils/embedder';
|
|
6
|
+
import type { MigratorOptions } from './migrator/types';
|
|
7
|
+
import { type IdentityService } from './extensions/identity';
|
|
8
|
+
import { type MemoryRouter } from './extensions/memory';
|
|
9
|
+
import { type LearningStore } from './extensions/learning';
|
|
10
|
+
import { type ObservationStore } from './extensions/learning/observation';
|
|
11
|
+
import { type KnowledgeDistiller } from './extensions/learning/distiller';
|
|
12
|
+
import { type ReputationStore } from './extensions/reputation';
|
|
13
|
+
import { type EmotionalService } from './extensions/emotional';
|
|
14
|
+
import { type ReflectionService } from './extensions/reflection';
|
|
15
|
+
import { type SocialDynamicsService } from './extensions/social';
|
|
16
|
+
import { type Route as IdentityRoute } from './extensions/identity/identity.router';
|
|
17
|
+
export interface SomaConfig {
|
|
18
|
+
db: Database;
|
|
19
|
+
clickhouse?: ClickHouseClient;
|
|
20
|
+
embedder?: Embedder;
|
|
21
|
+
eventBus?: EventBus;
|
|
22
|
+
eventBusConfig?: EventBusConfig;
|
|
23
|
+
}
|
|
24
|
+
export type SomaRoute = IdentityRoute;
|
|
25
|
+
/**
|
|
26
|
+
* Unified facade for all Soma protocol extensions.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* import { Soma, createBunDatabase } from 'soma-protocol';
|
|
31
|
+
*
|
|
32
|
+
* const soma = new Soma({
|
|
33
|
+
* db: createBunDatabase(Bun.sql),
|
|
34
|
+
* clickhouse: createClickHouseClient({ url: '...' }),
|
|
35
|
+
* embedder: createEmbedder({ provider: 'openai' }),
|
|
36
|
+
* });
|
|
37
|
+
*
|
|
38
|
+
* const agent = await soma.identity.createIdentity('atlas', { name: 'Atlas', ... });
|
|
39
|
+
* const prompt = soma.generateInstructions(agent);
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare class Soma {
|
|
43
|
+
readonly identity: IdentityService;
|
|
44
|
+
readonly memory: MemoryRouter | undefined;
|
|
45
|
+
readonly learning: LearningStore | undefined;
|
|
46
|
+
readonly observation: ObservationStore | undefined;
|
|
47
|
+
readonly distiller: KnowledgeDistiller;
|
|
48
|
+
readonly reputation: ReputationStore | undefined;
|
|
49
|
+
readonly emotional: EmotionalService;
|
|
50
|
+
readonly reflection: ReflectionService;
|
|
51
|
+
readonly social: SocialDynamicsService;
|
|
52
|
+
private readonly config;
|
|
53
|
+
private readonly eventBus;
|
|
54
|
+
constructor(config: SomaConfig);
|
|
55
|
+
/** Generate system instructions from an agent identity. */
|
|
56
|
+
generateInstructions(agent: SomaAgent): string;
|
|
57
|
+
/** Apply pending PostgreSQL migrations from schema/postgres/. */
|
|
58
|
+
migrate(options?: MigratorOptions): Promise<void>;
|
|
59
|
+
/** Shut down the event bus if one was created internally. */
|
|
60
|
+
shutdown(): Promise<void>;
|
|
61
|
+
/** Aggregate HTTP routes from all configured extensions. */
|
|
62
|
+
routes(): SomaRoute[];
|
|
63
|
+
}
|
|
64
|
+
/** Create a configured Soma instance (alias for `new Soma(config)`). */
|
|
65
|
+
export declare function createSoma(config: SomaConfig): Soma;
|
|
66
|
+
//# sourceMappingURL=soma.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"soma.d.ts","sourceRoot":"","sources":["../src/soma.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAA+C,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAA8C,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIpG,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAClG,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAEpG,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEvF,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE1F,OAAO,EAA+B,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE9F,OAAO,EAAwB,KAAK,KAAK,IAAI,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAI1G,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,QAAQ,CAAC;IACb,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC;AAEtC;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,IAAI;IACf,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAEvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;gBAEpC,MAAM,EAAE,UAAU;IAiC9B,2DAA2D;IAC3D,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAI9C,iEAAiE;IAC3D,OAAO,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,6DAA6D;IACvD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B,4DAA4D;IAC5D,MAAM,IAAI,SAAS,EAAE;CAsBtB;AAED,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAEnD"}
|
package/dist/soma.js
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { createIdentityService, generateInstructions } from './extensions/identity';
|
|
2
|
+
import { createMemoryRouter, createMemoryHttpRouter } from './extensions/memory';
|
|
3
|
+
import { createEpisodicStore } from './extensions/memory/episodic/store';
|
|
4
|
+
import { createProceduralStore } from './extensions/memory/procedural/store';
|
|
5
|
+
import { createSocialStore } from './extensions/memory/social/store';
|
|
6
|
+
import { createLearningStore } from './extensions/learning';
|
|
7
|
+
import { createObservationStore } from './extensions/learning/observation';
|
|
8
|
+
import { createKnowledgeDistiller } from './extensions/learning/distiller';
|
|
9
|
+
import { createLearningRouter } from './extensions/learning/router';
|
|
10
|
+
import { createReputationStore } from './extensions/reputation';
|
|
11
|
+
import { createEmotionalService } from './extensions/emotional';
|
|
12
|
+
import { createEmotionalRouter } from './extensions/emotional/emotional.router';
|
|
13
|
+
import { createReflectionService } from './extensions/reflection';
|
|
14
|
+
import { createReflectionRouter } from './extensions/reflection/reflection.router';
|
|
15
|
+
import { createSocialDynamicsService } from './extensions/social';
|
|
16
|
+
import { createSocialRouter } from './extensions/social/social.router';
|
|
17
|
+
import { createIdentityRouter } from './extensions/identity/identity.router';
|
|
18
|
+
import { createEventBus } from './extensions/events/bus';
|
|
19
|
+
import { runMigrations } from './migrator/migrator';
|
|
20
|
+
/**
|
|
21
|
+
* Unified facade for all Soma protocol extensions.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* import { Soma, createBunDatabase } from 'soma-protocol';
|
|
26
|
+
*
|
|
27
|
+
* const soma = new Soma({
|
|
28
|
+
* db: createBunDatabase(Bun.sql),
|
|
29
|
+
* clickhouse: createClickHouseClient({ url: '...' }),
|
|
30
|
+
* embedder: createEmbedder({ provider: 'openai' }),
|
|
31
|
+
* });
|
|
32
|
+
*
|
|
33
|
+
* const agent = await soma.identity.createIdentity('atlas', { name: 'Atlas', ... });
|
|
34
|
+
* const prompt = soma.generateInstructions(agent);
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export class Soma {
|
|
38
|
+
identity;
|
|
39
|
+
memory;
|
|
40
|
+
learning;
|
|
41
|
+
observation;
|
|
42
|
+
distiller;
|
|
43
|
+
reputation;
|
|
44
|
+
emotional;
|
|
45
|
+
reflection;
|
|
46
|
+
social;
|
|
47
|
+
config;
|
|
48
|
+
eventBus;
|
|
49
|
+
constructor(config) {
|
|
50
|
+
this.config = config;
|
|
51
|
+
this.eventBus =
|
|
52
|
+
config.eventBus ??
|
|
53
|
+
(config.clickhouse ? createEventBus(config.clickhouse, config.eventBusConfig) : undefined);
|
|
54
|
+
this.identity = createIdentityService(config.db);
|
|
55
|
+
this.distiller = createKnowledgeDistiller(config.db);
|
|
56
|
+
this.emotional = createEmotionalService(config.db, this.eventBus);
|
|
57
|
+
this.reflection = createReflectionService(config.db);
|
|
58
|
+
this.social = createSocialDynamicsService(config.db);
|
|
59
|
+
if (this.eventBus && config.clickhouse && config.embedder) {
|
|
60
|
+
this.memory = createMemoryRouter({
|
|
61
|
+
episodic: createEpisodicStore(this.eventBus, config.clickhouse, config.embedder),
|
|
62
|
+
procedural: createProceduralStore(config.db),
|
|
63
|
+
social: createSocialStore(config.db),
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
this.memory = undefined;
|
|
68
|
+
}
|
|
69
|
+
if (this.eventBus && config.clickhouse) {
|
|
70
|
+
this.learning = createLearningStore(config.db, this.eventBus, config.clickhouse);
|
|
71
|
+
this.observation = createObservationStore(config.db, this.eventBus);
|
|
72
|
+
this.reputation = createReputationStore(config.db, this.eventBus);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
this.learning = undefined;
|
|
76
|
+
this.observation = undefined;
|
|
77
|
+
this.reputation = undefined;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/** Generate system instructions from an agent identity. */
|
|
81
|
+
generateInstructions(agent) {
|
|
82
|
+
return generateInstructions(agent);
|
|
83
|
+
}
|
|
84
|
+
/** Apply pending PostgreSQL migrations from schema/postgres/. */
|
|
85
|
+
async migrate(options) {
|
|
86
|
+
await runMigrations(this.config.db, options);
|
|
87
|
+
}
|
|
88
|
+
/** Shut down the event bus if one was created internally. */
|
|
89
|
+
async shutdown() {
|
|
90
|
+
if (this.eventBus) {
|
|
91
|
+
await this.eventBus.shutdown();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/** Aggregate HTTP routes from all configured extensions. */
|
|
95
|
+
routes() {
|
|
96
|
+
const { db, clickhouse, embedder } = this.config;
|
|
97
|
+
const routes = [...createIdentityRouter(db)];
|
|
98
|
+
if (this.eventBus && clickhouse && embedder) {
|
|
99
|
+
routes.push(...createMemoryHttpRouter({ db, eventBus: this.eventBus, clickhouse, embedder }));
|
|
100
|
+
}
|
|
101
|
+
if (this.eventBus && clickhouse) {
|
|
102
|
+
routes.push(...createLearningRouter({ db, eventBus: this.eventBus, clickhouse }));
|
|
103
|
+
}
|
|
104
|
+
routes.push(...createEmotionalRouter(db, this.eventBus), ...createReflectionRouter(db), ...createSocialRouter(db));
|
|
105
|
+
return routes;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/** Create a configured Soma instance (alias for `new Soma(config)`). */
|
|
109
|
+
export function createSoma(config) {
|
|
110
|
+
return new Soma(config);
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=soma.js.map
|
package/dist/soma.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"soma.js","sourceRoot":"","sources":["../src/soma.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/types/database.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACrB,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CACrE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/types/database.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface EmbedderConfig {
|
|
2
|
+
provider: 'openai' | 'cohere' | 'voyage' | 'custom';
|
|
3
|
+
apiKey?: string;
|
|
4
|
+
model?: string;
|
|
5
|
+
dimensions?: number;
|
|
6
|
+
baseUrl?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface Embedder {
|
|
9
|
+
embed(texts: string[]): Promise<number[][]>;
|
|
10
|
+
dimensions(): number;
|
|
11
|
+
}
|
|
12
|
+
export declare function createEmbedder(config: EmbedderConfig): Embedder;
|
|
13
|
+
//# sourceMappingURL=embedder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedder.d.ts","sourceRoot":"","sources":["../../src/utils/embedder.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5C,UAAU,IAAI,MAAM,CAAC;CACtB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,QAAQ,CAe/D"}
|