@hazeljs/organism 2.0.6
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 +205 -0
- package/dist/__tests__/organism.embedding.test.d.ts +2 -0
- package/dist/__tests__/organism.embedding.test.d.ts.map +1 -0
- package/dist/__tests__/organism.embedding.test.js +166 -0
- package/dist/__tests__/organism.embedding.test.js.map +1 -0
- package/dist/__tests__/organism.phase1.test.d.ts +2 -0
- package/dist/__tests__/organism.phase1.test.d.ts.map +1 -0
- package/dist/__tests__/organism.phase1.test.js +375 -0
- package/dist/__tests__/organism.phase1.test.js.map +1 -0
- package/dist/__tests__/organism.phase2-3.test.d.ts +2 -0
- package/dist/__tests__/organism.phase2-3.test.d.ts.map +1 -0
- package/dist/__tests__/organism.phase2-3.test.js +320 -0
- package/dist/__tests__/organism.phase2-3.test.js.map +1 -0
- package/dist/__tests__/organism.phase4.test.d.ts +2 -0
- package/dist/__tests__/organism.phase4.test.d.ts.map +1 -0
- package/dist/__tests__/organism.phase4.test.js +217 -0
- package/dist/__tests__/organism.phase4.test.js.map +1 -0
- package/dist/bridge/signal-bridge.d.ts +46 -0
- package/dist/bridge/signal-bridge.d.ts.map +1 -0
- package/dist/bridge/signal-bridge.js +75 -0
- package/dist/bridge/signal-bridge.js.map +1 -0
- package/dist/core/capability-registry.d.ts +16 -0
- package/dist/core/capability-registry.d.ts.map +1 -0
- package/dist/core/capability-registry.js +71 -0
- package/dist/core/capability-registry.js.map +1 -0
- package/dist/core/clock.d.ts +17 -0
- package/dist/core/clock.d.ts.map +1 -0
- package/dist/core/clock.js +63 -0
- package/dist/core/clock.js.map +1 -0
- package/dist/core/mission.d.ts +4 -0
- package/dist/core/mission.d.ts.map +1 -0
- package/dist/core/mission.js +74 -0
- package/dist/core/mission.js.map +1 -0
- package/dist/core/organism-context.d.ts +139 -0
- package/dist/core/organism-context.d.ts.map +1 -0
- package/dist/core/organism-context.js +62 -0
- package/dist/core/organism-context.js.map +1 -0
- package/dist/core/organism-runtime.d.ts +199 -0
- package/dist/core/organism-runtime.d.ts.map +1 -0
- package/dist/core/organism-runtime.js +1016 -0
- package/dist/core/organism-runtime.js.map +1 -0
- package/dist/decorators/index.d.ts +39 -0
- package/dist/decorators/index.d.ts.map +1 -0
- package/dist/decorators/index.js +165 -0
- package/dist/decorators/index.js.map +1 -0
- package/dist/economy/market-engine.d.ts +57 -0
- package/dist/economy/market-engine.d.ts.map +1 -0
- package/dist/economy/market-engine.js +258 -0
- package/dist/economy/market-engine.js.map +1 -0
- package/dist/economy/resource-allocator.d.ts +39 -0
- package/dist/economy/resource-allocator.d.ts.map +1 -0
- package/dist/economy/resource-allocator.js +153 -0
- package/dist/economy/resource-allocator.js.map +1 -0
- package/dist/economy/utility-engine.d.ts +16 -0
- package/dist/economy/utility-engine.d.ts.map +1 -0
- package/dist/economy/utility-engine.js +80 -0
- package/dist/economy/utility-engine.js.map +1 -0
- package/dist/economy/utility-forecaster.d.ts +24 -0
- package/dist/economy/utility-forecaster.d.ts.map +1 -0
- package/dist/economy/utility-forecaster.js +60 -0
- package/dist/economy/utility-forecaster.js.map +1 -0
- package/dist/errors/organism.errors.d.ts +23 -0
- package/dist/errors/organism.errors.d.ts.map +1 -0
- package/dist/errors/organism.errors.js +50 -0
- package/dist/errors/organism.errors.js.map +1 -0
- package/dist/events/organism-events.d.ts +61 -0
- package/dist/events/organism-events.d.ts.map +1 -0
- package/dist/events/organism-events.js +95 -0
- package/dist/events/organism-events.js.map +1 -0
- package/dist/evolution/evolution-engine.d.ts +41 -0
- package/dist/evolution/evolution-engine.d.ts.map +1 -0
- package/dist/evolution/evolution-engine.js +135 -0
- package/dist/evolution/evolution-engine.js.map +1 -0
- package/dist/evolution/mutation-engine.d.ts +21 -0
- package/dist/evolution/mutation-engine.d.ts.map +1 -0
- package/dist/evolution/mutation-engine.js +84 -0
- package/dist/evolution/mutation-engine.js.map +1 -0
- package/dist/genealogy/genealogy-manager.d.ts +18 -0
- package/dist/genealogy/genealogy-manager.d.ts.map +1 -0
- package/dist/genealogy/genealogy-manager.js +64 -0
- package/dist/genealogy/genealogy-manager.js.map +1 -0
- package/dist/governance/constitution.d.ts +20 -0
- package/dist/governance/constitution.d.ts.map +1 -0
- package/dist/governance/constitution.js +109 -0
- package/dist/governance/constitution.js.map +1 -0
- package/dist/host/organism-host-registry.d.ts +24 -0
- package/dist/host/organism-host-registry.d.ts.map +1 -0
- package/dist/host/organism-host-registry.js +65 -0
- package/dist/host/organism-host-registry.js.map +1 -0
- package/dist/host/organism-host.d.ts +32 -0
- package/dist/host/organism-host.d.ts.map +1 -0
- package/dist/host/organism-host.js +64 -0
- package/dist/host/organism-host.js.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +117 -0
- package/dist/index.js.map +1 -0
- package/dist/integration/create-ops-organism.d.ts +34 -0
- package/dist/integration/create-ops-organism.d.ts.map +1 -0
- package/dist/integration/create-ops-organism.js +43 -0
- package/dist/integration/create-ops-organism.js.map +1 -0
- package/dist/lifecycle/birth-engine.d.ts +41 -0
- package/dist/lifecycle/birth-engine.d.ts.map +1 -0
- package/dist/lifecycle/birth-engine.js +182 -0
- package/dist/lifecycle/birth-engine.js.map +1 -0
- package/dist/lifecycle/decision-engine.d.ts +19 -0
- package/dist/lifecycle/decision-engine.d.ts.map +1 -0
- package/dist/lifecycle/decision-engine.js +137 -0
- package/dist/lifecycle/decision-engine.js.map +1 -0
- package/dist/lifecycle/reproduction-engine.d.ts +58 -0
- package/dist/lifecycle/reproduction-engine.d.ts.map +1 -0
- package/dist/lifecycle/reproduction-engine.js +207 -0
- package/dist/lifecycle/reproduction-engine.js.map +1 -0
- package/dist/lifecycle/survival-engine.d.ts +17 -0
- package/dist/lifecycle/survival-engine.d.ts.map +1 -0
- package/dist/lifecycle/survival-engine.js +83 -0
- package/dist/lifecycle/survival-engine.js.map +1 -0
- package/dist/observability/metrics.d.ts +37 -0
- package/dist/observability/metrics.d.ts.map +1 -0
- package/dist/observability/metrics.js +80 -0
- package/dist/observability/metrics.js.map +1 -0
- package/dist/perception/perception-engine.d.ts +40 -0
- package/dist/perception/perception-engine.d.ts.map +1 -0
- package/dist/perception/perception-engine.js +126 -0
- package/dist/perception/perception-engine.js.map +1 -0
- package/dist/persistence/in-memory-organism-repository.d.ts +2 -0
- package/dist/persistence/in-memory-organism-repository.d.ts.map +1 -0
- package/dist/persistence/in-memory-organism-repository.js +18 -0
- package/dist/persistence/in-memory-organism-repository.js.map +1 -0
- package/dist/persistence/organism-repository.d.ts +42 -0
- package/dist/persistence/organism-repository.d.ts.map +1 -0
- package/dist/persistence/organism-repository.js +105 -0
- package/dist/persistence/organism-repository.js.map +1 -0
- package/dist/types/organism.types.d.ts +482 -0
- package/dist/types/organism.types.d.ts.map +1 -0
- package/dist/types/organism.types.js +45 -0
- package/dist/types/organism.types.js.map +1 -0
- package/examples/ecommerce-organism/run.ts +245 -0
- package/package.json +73 -0
- package/src/bridge/signal-bridge.ts +116 -0
- package/src/core/capability-registry.ts +72 -0
- package/src/core/clock.ts +58 -0
- package/src/core/mission.ts +83 -0
- package/src/core/organism-context.ts +176 -0
- package/src/core/organism-runtime.ts +1369 -0
- package/src/decorators/index.ts +180 -0
- package/src/economy/market-engine.ts +324 -0
- package/src/economy/resource-allocator.ts +188 -0
- package/src/economy/utility-engine.ts +103 -0
- package/src/economy/utility-forecaster.ts +88 -0
- package/src/errors/organism.errors.ts +47 -0
- package/src/events/organism-events.ts +122 -0
- package/src/evolution/evolution-engine.ts +167 -0
- package/src/evolution/mutation-engine.ts +110 -0
- package/src/genealogy/genealogy-manager.ts +70 -0
- package/src/governance/constitution.ts +120 -0
- package/src/host/organism-host-registry.ts +72 -0
- package/src/host/organism-host.ts +103 -0
- package/src/index.ts +78 -0
- package/src/integration/create-ops-organism.ts +80 -0
- package/src/lifecycle/birth-engine.ts +225 -0
- package/src/lifecycle/decision-engine.ts +158 -0
- package/src/lifecycle/reproduction-engine.ts +289 -0
- package/src/lifecycle/survival-engine.ts +95 -0
- package/src/observability/metrics.ts +120 -0
- package/src/perception/perception-engine.ts +140 -0
- package/src/persistence/in-memory-organism-repository.ts +1 -0
- package/src/persistence/organism-repository.ts +134 -0
- package/src/types/organism.types.ts +591 -0
- package/tsconfig.jest.json +8 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constitution.js","sourceRoot":"","sources":["../../src/governance/constitution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-process registry of live OrganismHost instances.
|
|
3
|
+
* Product layers (e.g. Zynli AutonomousRuntime) should use this instead of
|
|
4
|
+
* maintaining a parallel Map of hosts.
|
|
5
|
+
*/
|
|
6
|
+
import type { OrganismHost } from './organism-host';
|
|
7
|
+
export declare class OrganismHostRegistry {
|
|
8
|
+
private readonly hosts;
|
|
9
|
+
get(id: string): OrganismHost | undefined;
|
|
10
|
+
has(id: string): boolean;
|
|
11
|
+
register(host: OrganismHost): void;
|
|
12
|
+
unregister(id: string): boolean;
|
|
13
|
+
list(): OrganismHost[];
|
|
14
|
+
/**
|
|
15
|
+
* Return an existing host by id, or create/register a new one via factory.
|
|
16
|
+
* When `preferredId` is set and already registered, factory is not called.
|
|
17
|
+
*/
|
|
18
|
+
getOrCreate(preferredId: string | undefined, factory: () => Promise<OrganismHost>): Promise<OrganismHost>;
|
|
19
|
+
emergencyStop(id: string, reason?: string): Promise<boolean>;
|
|
20
|
+
emergencyStopAll(reason?: string): Promise<string[]>;
|
|
21
|
+
clear(): void;
|
|
22
|
+
get size(): number;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=organism-host-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organism-host-registry.d.ts","sourceRoot":"","sources":["../../src/host/organism-host-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;IAEzD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIzC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAIlC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI/B,IAAI,IAAI,YAAY,EAAE;IAItB;;;OAGG;IACG,WAAW,CACf,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,GACnC,OAAO,CAAC,YAAY,CAAC;IAUlB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAO5D,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAS1D,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* In-process registry of live OrganismHost instances.
|
|
4
|
+
* Product layers (e.g. Zynli AutonomousRuntime) should use this instead of
|
|
5
|
+
* maintaining a parallel Map of hosts.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.OrganismHostRegistry = void 0;
|
|
9
|
+
class OrganismHostRegistry {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.hosts = new Map();
|
|
12
|
+
}
|
|
13
|
+
get(id) {
|
|
14
|
+
return this.hosts.get(id);
|
|
15
|
+
}
|
|
16
|
+
has(id) {
|
|
17
|
+
return this.hosts.has(id);
|
|
18
|
+
}
|
|
19
|
+
register(host) {
|
|
20
|
+
this.hosts.set(host.id, host);
|
|
21
|
+
}
|
|
22
|
+
unregister(id) {
|
|
23
|
+
return this.hosts.delete(id);
|
|
24
|
+
}
|
|
25
|
+
list() {
|
|
26
|
+
return [...this.hosts.values()];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Return an existing host by id, or create/register a new one via factory.
|
|
30
|
+
* When `preferredId` is set and already registered, factory is not called.
|
|
31
|
+
*/
|
|
32
|
+
async getOrCreate(preferredId, factory) {
|
|
33
|
+
if (preferredId) {
|
|
34
|
+
const existing = this.hosts.get(preferredId);
|
|
35
|
+
if (existing)
|
|
36
|
+
return existing;
|
|
37
|
+
}
|
|
38
|
+
const host = await factory();
|
|
39
|
+
this.hosts.set(host.id, host);
|
|
40
|
+
return host;
|
|
41
|
+
}
|
|
42
|
+
async emergencyStop(id, reason) {
|
|
43
|
+
const host = this.hosts.get(id);
|
|
44
|
+
if (!host)
|
|
45
|
+
return false;
|
|
46
|
+
await host.emergencyStop(reason);
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
async emergencyStopAll(reason) {
|
|
50
|
+
const ids = [];
|
|
51
|
+
for (const host of this.hosts.values()) {
|
|
52
|
+
await host.emergencyStop(reason);
|
|
53
|
+
ids.push(host.id);
|
|
54
|
+
}
|
|
55
|
+
return ids;
|
|
56
|
+
}
|
|
57
|
+
clear() {
|
|
58
|
+
this.hosts.clear();
|
|
59
|
+
}
|
|
60
|
+
get size() {
|
|
61
|
+
return this.hosts.size;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.OrganismHostRegistry = OrganismHostRegistry;
|
|
65
|
+
//# sourceMappingURL=organism-host-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organism-host-registry.js","sourceRoot":"","sources":["../../src/host/organism-host-registry.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH,MAAa,oBAAoB;IAAjC;QACmB,UAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IA8D3D,CAAC;IA5DC,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAC,IAAkB;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CACf,WAA+B,EAC/B,OAAoC;QAEpC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;QAChC,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,MAAe;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAe;QACpC,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF;AA/DD,oDA+DC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* App-facing OrganismHost — thin facade over OrganismRuntime for product services.
|
|
3
|
+
*
|
|
4
|
+
* Prefer this when embedding @hazeljs/organism in an ops / platform service
|
|
5
|
+
* instead of reinventing start/observe/inspect/simulate lifecycle wrappers.
|
|
6
|
+
*/
|
|
7
|
+
import { type CreateOrganismOptions, type SimulateOptions } from '../core/organism-runtime';
|
|
8
|
+
import type { OrganismRuntime } from '../core/organism-runtime';
|
|
9
|
+
import type { AgentOutcomeReport, EnvironmentSignal, OrganismDecision, OrganismInspectState } from '../types/organism.types';
|
|
10
|
+
export interface OrganismHost {
|
|
11
|
+
readonly id: string;
|
|
12
|
+
/** Underlying runtime for advanced use (genealogy, market, events). */
|
|
13
|
+
readonly runtime: OrganismRuntime;
|
|
14
|
+
start(): Promise<void>;
|
|
15
|
+
pause(): Promise<void>;
|
|
16
|
+
resume(): Promise<void>;
|
|
17
|
+
observe(signal: Partial<EnvironmentSignal> & Pick<EnvironmentSignal, 'type' | 'source'>): Promise<OrganismDecision | undefined>;
|
|
18
|
+
inspect(): Promise<OrganismInspectState>;
|
|
19
|
+
reportOutcome(agentId: string, report: AgentOutcomeReport): Promise<void>;
|
|
20
|
+
emergencyStop(reason?: string): Promise<void>;
|
|
21
|
+
terminate(reason?: string): Promise<void>;
|
|
22
|
+
simulate(options: SimulateOptions): Promise<OrganismInspectState>;
|
|
23
|
+
listAgents(): Promise<Awaited<ReturnType<OrganismRuntime['listAgents']>>>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Create an OrganismHost from the same options as createOrganism.
|
|
27
|
+
* This is the recommended entry point for external products (e.g. Zynli ops).
|
|
28
|
+
*/
|
|
29
|
+
export declare function createOrganismHost(options: CreateOrganismOptions): Promise<OrganismHost>;
|
|
30
|
+
/** Wrap an existing OrganismRuntime as OrganismHost. */
|
|
31
|
+
export declare function wrapOrganismRuntime(runtime: OrganismRuntime): OrganismHost;
|
|
32
|
+
//# sourceMappingURL=organism-host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organism-host.d.ts","sourceRoot":"","sources":["../../src/host/organism-host.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,CACL,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,QAAQ,CAAC,GAC9E,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IACzC,OAAO,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACzC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClE,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3E;AAsDD;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,CAG9F;AAED,wDAAwD;AACxD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,YAAY,CAE1E"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* App-facing OrganismHost — thin facade over OrganismRuntime for product services.
|
|
4
|
+
*
|
|
5
|
+
* Prefer this when embedding @hazeljs/organism in an ops / platform service
|
|
6
|
+
* instead of reinventing start/observe/inspect/simulate lifecycle wrappers.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.createOrganismHost = createOrganismHost;
|
|
10
|
+
exports.wrapOrganismRuntime = wrapOrganismRuntime;
|
|
11
|
+
const organism_runtime_1 = require("../core/organism-runtime");
|
|
12
|
+
class OrganismHostImpl {
|
|
13
|
+
constructor(runtime) {
|
|
14
|
+
this.runtime = runtime;
|
|
15
|
+
}
|
|
16
|
+
get id() {
|
|
17
|
+
return this.runtime.id;
|
|
18
|
+
}
|
|
19
|
+
start() {
|
|
20
|
+
return this.runtime.start();
|
|
21
|
+
}
|
|
22
|
+
pause() {
|
|
23
|
+
return this.runtime.pause();
|
|
24
|
+
}
|
|
25
|
+
resume() {
|
|
26
|
+
return this.runtime.resume();
|
|
27
|
+
}
|
|
28
|
+
observe(signal) {
|
|
29
|
+
return this.runtime.observe(signal);
|
|
30
|
+
}
|
|
31
|
+
inspect() {
|
|
32
|
+
return this.runtime.inspect();
|
|
33
|
+
}
|
|
34
|
+
reportOutcome(agentId, report) {
|
|
35
|
+
return this.runtime.reportOutcome(agentId, report);
|
|
36
|
+
}
|
|
37
|
+
async emergencyStop(reason) {
|
|
38
|
+
void reason;
|
|
39
|
+
await this.runtime.emergencyStop();
|
|
40
|
+
}
|
|
41
|
+
async terminate(reason) {
|
|
42
|
+
void reason;
|
|
43
|
+
await this.runtime.terminate();
|
|
44
|
+
}
|
|
45
|
+
simulate(options) {
|
|
46
|
+
return this.runtime.simulate(options);
|
|
47
|
+
}
|
|
48
|
+
listAgents() {
|
|
49
|
+
return this.runtime.listAgents();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Create an OrganismHost from the same options as createOrganism.
|
|
54
|
+
* This is the recommended entry point for external products (e.g. Zynli ops).
|
|
55
|
+
*/
|
|
56
|
+
async function createOrganismHost(options) {
|
|
57
|
+
const runtime = await (0, organism_runtime_1.createOrganism)(options);
|
|
58
|
+
return new OrganismHostImpl(runtime);
|
|
59
|
+
}
|
|
60
|
+
/** Wrap an existing OrganismRuntime as OrganismHost. */
|
|
61
|
+
function wrapOrganismRuntime(runtime) {
|
|
62
|
+
return new OrganismHostImpl(runtime);
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=organism-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organism-host.js","sourceRoot":"","sources":["../../src/host/organism-host.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAyFH,gDAGC;AAGD,kDAEC;AA/FD,+DAIkC;AA2BlC,MAAM,gBAAgB;IACpB,YAA4B,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAExD,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO,CACL,MAA+E;QAE/E,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,aAAa,CAAC,OAAe,EAAE,MAA0B;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAe;QACjC,KAAK,MAAM,CAAC;QACZ,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAe;QAC7B,KAAK,MAAM,CAAC;QACZ,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,QAAQ,CAAC,OAAwB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IACnC,CAAC;CACF;AAED;;;GAGG;AACI,KAAK,UAAU,kBAAkB,CAAC,OAA8B;IACrE,MAAM,OAAO,GAAG,MAAM,IAAA,iCAAc,EAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,wDAAwD;AACxD,SAAgB,mBAAmB,CAAC,OAAwB;IAC1D,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @hazeljs/organism
|
|
3
|
+
* Agentic Organism Runtime — mission-defined, self-organizing ephemeral agent societies.
|
|
4
|
+
*/
|
|
5
|
+
import '@hazeljs/core';
|
|
6
|
+
export * from './types/organism.types';
|
|
7
|
+
export * from './errors/organism.errors';
|
|
8
|
+
export * from './events/organism-events';
|
|
9
|
+
export * from './persistence/organism-repository';
|
|
10
|
+
export { InMemoryOrganismRepository } from './persistence/organism-repository';
|
|
11
|
+
export { Mission, Organism, AgentGene, Environment, Constitution, Resource, getMissionMetadata, getOrganismMetadata, getAgentGeneMetadata, getEnvironmentMetadata, getConstitutionMetadata, getResourceMetadata, getRegisteredMissions, getRegisteredOrganisms, getRegisteredGenes, getRegisteredEnvironments, getRegisteredConstitutions, getRegisteredResources, resolveMission, resolveGene, resolveEnvironment, resolveConstitution, resolveResource, } from './decorators';
|
|
12
|
+
export { OrganismRuntime, createOrganism } from './core/organism-runtime';
|
|
13
|
+
export type { CreateOrganismOptions, SimulateOptions } from './core/organism-runtime';
|
|
14
|
+
export { OrganismAgentContext } from './core/organism-context';
|
|
15
|
+
export { CapabilityRegistry } from './core/capability-registry';
|
|
16
|
+
export { createMissionProgress, applyMissionMetricUpdates } from './core/mission';
|
|
17
|
+
export { OrganismClock, parseDurationMs } from './core/clock';
|
|
18
|
+
export { PerceptionEngine, NeedDetector } from './perception/perception-engine';
|
|
19
|
+
export { DecisionEngine } from './lifecycle/decision-engine';
|
|
20
|
+
export { BirthEngine, TerminationEngine, resetAgentSeqForTests } from './lifecycle/birth-engine';
|
|
21
|
+
export { SurvivalEngine } from './lifecycle/survival-engine';
|
|
22
|
+
export { ReproductionEngine, DEFAULT_REPRODUCTION_CONFIG } from './lifecycle/reproduction-engine';
|
|
23
|
+
export type { ReproductionConfig } from './lifecycle/reproduction-engine';
|
|
24
|
+
export { GenealogyManager } from './genealogy/genealogy-manager';
|
|
25
|
+
export { MutationEngine } from './evolution/mutation-engine';
|
|
26
|
+
export type { MutationRequest } from './evolution/mutation-engine';
|
|
27
|
+
export { EvolutionEngine, GenerationManager } from './evolution/evolution-engine';
|
|
28
|
+
export { ResourceAllocator, createEmptyWallet, throwIfDenied } from './economy/resource-allocator';
|
|
29
|
+
export { UtilityEngine, ReputationEngine } from './economy/utility-engine';
|
|
30
|
+
export { UtilityForecaster } from './economy/utility-forecaster';
|
|
31
|
+
export { MarketEngine, resetBidSeqForTests } from './economy/market-engine';
|
|
32
|
+
export { ConstitutionEnforcer } from './governance/constitution';
|
|
33
|
+
export { OrganismMetrics } from './observability/metrics';
|
|
34
|
+
export type { OrganismMetricsSnapshot } from './observability/metrics';
|
|
35
|
+
/** App embedding / product-platform boilerplate */
|
|
36
|
+
export { createOrganismHost, wrapOrganismRuntime } from './host/organism-host';
|
|
37
|
+
export type { OrganismHost } from './host/organism-host';
|
|
38
|
+
export { OrganismHostRegistry } from './host/organism-host-registry';
|
|
39
|
+
export { toEnvironmentSignal, toIncidentEnvironmentSignal, incidentNeedMappings, toAgentOutcomeReport, } from './bridge/signal-bridge';
|
|
40
|
+
export type { ExternalSignalLike, OutcomeVerdictLike } from './bridge/signal-bridge';
|
|
41
|
+
export { createOpsOrganism } from './integration/create-ops-organism';
|
|
42
|
+
export type { CreateOpsOrganismOptions } from './integration/create-ops-organism';
|
|
43
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @hazeljs/organism
|
|
4
|
+
* Agentic Organism Runtime — mission-defined, self-organizing ephemeral agent societies.
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.ReputationEngine = exports.UtilityEngine = exports.throwIfDenied = exports.createEmptyWallet = exports.ResourceAllocator = exports.GenerationManager = exports.EvolutionEngine = exports.MutationEngine = exports.GenealogyManager = exports.DEFAULT_REPRODUCTION_CONFIG = exports.ReproductionEngine = exports.SurvivalEngine = exports.resetAgentSeqForTests = exports.TerminationEngine = exports.BirthEngine = exports.DecisionEngine = exports.NeedDetector = exports.PerceptionEngine = exports.parseDurationMs = exports.OrganismClock = exports.applyMissionMetricUpdates = exports.createMissionProgress = exports.CapabilityRegistry = exports.OrganismAgentContext = exports.createOrganism = exports.OrganismRuntime = exports.resolveResource = exports.resolveConstitution = exports.resolveEnvironment = exports.resolveGene = exports.resolveMission = exports.getRegisteredResources = exports.getRegisteredConstitutions = exports.getRegisteredEnvironments = exports.getRegisteredGenes = exports.getRegisteredOrganisms = exports.getRegisteredMissions = exports.getResourceMetadata = exports.getConstitutionMetadata = exports.getEnvironmentMetadata = exports.getAgentGeneMetadata = exports.getOrganismMetadata = exports.getMissionMetadata = exports.Resource = exports.Constitution = exports.Environment = exports.AgentGene = exports.Organism = exports.Mission = exports.InMemoryOrganismRepository = void 0;
|
|
22
|
+
exports.createOpsOrganism = exports.toAgentOutcomeReport = exports.incidentNeedMappings = exports.toIncidentEnvironmentSignal = exports.toEnvironmentSignal = exports.OrganismHostRegistry = exports.wrapOrganismRuntime = exports.createOrganismHost = exports.OrganismMetrics = exports.ConstitutionEnforcer = exports.resetBidSeqForTests = exports.MarketEngine = exports.UtilityForecaster = void 0;
|
|
23
|
+
require("@hazeljs/core");
|
|
24
|
+
__exportStar(require("./types/organism.types"), exports);
|
|
25
|
+
__exportStar(require("./errors/organism.errors"), exports);
|
|
26
|
+
__exportStar(require("./events/organism-events"), exports);
|
|
27
|
+
__exportStar(require("./persistence/organism-repository"), exports);
|
|
28
|
+
var organism_repository_1 = require("./persistence/organism-repository");
|
|
29
|
+
Object.defineProperty(exports, "InMemoryOrganismRepository", { enumerable: true, get: function () { return organism_repository_1.InMemoryOrganismRepository; } });
|
|
30
|
+
var decorators_1 = require("./decorators");
|
|
31
|
+
Object.defineProperty(exports, "Mission", { enumerable: true, get: function () { return decorators_1.Mission; } });
|
|
32
|
+
Object.defineProperty(exports, "Organism", { enumerable: true, get: function () { return decorators_1.Organism; } });
|
|
33
|
+
Object.defineProperty(exports, "AgentGene", { enumerable: true, get: function () { return decorators_1.AgentGene; } });
|
|
34
|
+
Object.defineProperty(exports, "Environment", { enumerable: true, get: function () { return decorators_1.Environment; } });
|
|
35
|
+
Object.defineProperty(exports, "Constitution", { enumerable: true, get: function () { return decorators_1.Constitution; } });
|
|
36
|
+
Object.defineProperty(exports, "Resource", { enumerable: true, get: function () { return decorators_1.Resource; } });
|
|
37
|
+
Object.defineProperty(exports, "getMissionMetadata", { enumerable: true, get: function () { return decorators_1.getMissionMetadata; } });
|
|
38
|
+
Object.defineProperty(exports, "getOrganismMetadata", { enumerable: true, get: function () { return decorators_1.getOrganismMetadata; } });
|
|
39
|
+
Object.defineProperty(exports, "getAgentGeneMetadata", { enumerable: true, get: function () { return decorators_1.getAgentGeneMetadata; } });
|
|
40
|
+
Object.defineProperty(exports, "getEnvironmentMetadata", { enumerable: true, get: function () { return decorators_1.getEnvironmentMetadata; } });
|
|
41
|
+
Object.defineProperty(exports, "getConstitutionMetadata", { enumerable: true, get: function () { return decorators_1.getConstitutionMetadata; } });
|
|
42
|
+
Object.defineProperty(exports, "getResourceMetadata", { enumerable: true, get: function () { return decorators_1.getResourceMetadata; } });
|
|
43
|
+
Object.defineProperty(exports, "getRegisteredMissions", { enumerable: true, get: function () { return decorators_1.getRegisteredMissions; } });
|
|
44
|
+
Object.defineProperty(exports, "getRegisteredOrganisms", { enumerable: true, get: function () { return decorators_1.getRegisteredOrganisms; } });
|
|
45
|
+
Object.defineProperty(exports, "getRegisteredGenes", { enumerable: true, get: function () { return decorators_1.getRegisteredGenes; } });
|
|
46
|
+
Object.defineProperty(exports, "getRegisteredEnvironments", { enumerable: true, get: function () { return decorators_1.getRegisteredEnvironments; } });
|
|
47
|
+
Object.defineProperty(exports, "getRegisteredConstitutions", { enumerable: true, get: function () { return decorators_1.getRegisteredConstitutions; } });
|
|
48
|
+
Object.defineProperty(exports, "getRegisteredResources", { enumerable: true, get: function () { return decorators_1.getRegisteredResources; } });
|
|
49
|
+
Object.defineProperty(exports, "resolveMission", { enumerable: true, get: function () { return decorators_1.resolveMission; } });
|
|
50
|
+
Object.defineProperty(exports, "resolveGene", { enumerable: true, get: function () { return decorators_1.resolveGene; } });
|
|
51
|
+
Object.defineProperty(exports, "resolveEnvironment", { enumerable: true, get: function () { return decorators_1.resolveEnvironment; } });
|
|
52
|
+
Object.defineProperty(exports, "resolveConstitution", { enumerable: true, get: function () { return decorators_1.resolveConstitution; } });
|
|
53
|
+
Object.defineProperty(exports, "resolveResource", { enumerable: true, get: function () { return decorators_1.resolveResource; } });
|
|
54
|
+
var organism_runtime_1 = require("./core/organism-runtime");
|
|
55
|
+
Object.defineProperty(exports, "OrganismRuntime", { enumerable: true, get: function () { return organism_runtime_1.OrganismRuntime; } });
|
|
56
|
+
Object.defineProperty(exports, "createOrganism", { enumerable: true, get: function () { return organism_runtime_1.createOrganism; } });
|
|
57
|
+
var organism_context_1 = require("./core/organism-context");
|
|
58
|
+
Object.defineProperty(exports, "OrganismAgentContext", { enumerable: true, get: function () { return organism_context_1.OrganismAgentContext; } });
|
|
59
|
+
var capability_registry_1 = require("./core/capability-registry");
|
|
60
|
+
Object.defineProperty(exports, "CapabilityRegistry", { enumerable: true, get: function () { return capability_registry_1.CapabilityRegistry; } });
|
|
61
|
+
var mission_1 = require("./core/mission");
|
|
62
|
+
Object.defineProperty(exports, "createMissionProgress", { enumerable: true, get: function () { return mission_1.createMissionProgress; } });
|
|
63
|
+
Object.defineProperty(exports, "applyMissionMetricUpdates", { enumerable: true, get: function () { return mission_1.applyMissionMetricUpdates; } });
|
|
64
|
+
var clock_1 = require("./core/clock");
|
|
65
|
+
Object.defineProperty(exports, "OrganismClock", { enumerable: true, get: function () { return clock_1.OrganismClock; } });
|
|
66
|
+
Object.defineProperty(exports, "parseDurationMs", { enumerable: true, get: function () { return clock_1.parseDurationMs; } });
|
|
67
|
+
var perception_engine_1 = require("./perception/perception-engine");
|
|
68
|
+
Object.defineProperty(exports, "PerceptionEngine", { enumerable: true, get: function () { return perception_engine_1.PerceptionEngine; } });
|
|
69
|
+
Object.defineProperty(exports, "NeedDetector", { enumerable: true, get: function () { return perception_engine_1.NeedDetector; } });
|
|
70
|
+
var decision_engine_1 = require("./lifecycle/decision-engine");
|
|
71
|
+
Object.defineProperty(exports, "DecisionEngine", { enumerable: true, get: function () { return decision_engine_1.DecisionEngine; } });
|
|
72
|
+
var birth_engine_1 = require("./lifecycle/birth-engine");
|
|
73
|
+
Object.defineProperty(exports, "BirthEngine", { enumerable: true, get: function () { return birth_engine_1.BirthEngine; } });
|
|
74
|
+
Object.defineProperty(exports, "TerminationEngine", { enumerable: true, get: function () { return birth_engine_1.TerminationEngine; } });
|
|
75
|
+
Object.defineProperty(exports, "resetAgentSeqForTests", { enumerable: true, get: function () { return birth_engine_1.resetAgentSeqForTests; } });
|
|
76
|
+
var survival_engine_1 = require("./lifecycle/survival-engine");
|
|
77
|
+
Object.defineProperty(exports, "SurvivalEngine", { enumerable: true, get: function () { return survival_engine_1.SurvivalEngine; } });
|
|
78
|
+
var reproduction_engine_1 = require("./lifecycle/reproduction-engine");
|
|
79
|
+
Object.defineProperty(exports, "ReproductionEngine", { enumerable: true, get: function () { return reproduction_engine_1.ReproductionEngine; } });
|
|
80
|
+
Object.defineProperty(exports, "DEFAULT_REPRODUCTION_CONFIG", { enumerable: true, get: function () { return reproduction_engine_1.DEFAULT_REPRODUCTION_CONFIG; } });
|
|
81
|
+
var genealogy_manager_1 = require("./genealogy/genealogy-manager");
|
|
82
|
+
Object.defineProperty(exports, "GenealogyManager", { enumerable: true, get: function () { return genealogy_manager_1.GenealogyManager; } });
|
|
83
|
+
var mutation_engine_1 = require("./evolution/mutation-engine");
|
|
84
|
+
Object.defineProperty(exports, "MutationEngine", { enumerable: true, get: function () { return mutation_engine_1.MutationEngine; } });
|
|
85
|
+
var evolution_engine_1 = require("./evolution/evolution-engine");
|
|
86
|
+
Object.defineProperty(exports, "EvolutionEngine", { enumerable: true, get: function () { return evolution_engine_1.EvolutionEngine; } });
|
|
87
|
+
Object.defineProperty(exports, "GenerationManager", { enumerable: true, get: function () { return evolution_engine_1.GenerationManager; } });
|
|
88
|
+
var resource_allocator_1 = require("./economy/resource-allocator");
|
|
89
|
+
Object.defineProperty(exports, "ResourceAllocator", { enumerable: true, get: function () { return resource_allocator_1.ResourceAllocator; } });
|
|
90
|
+
Object.defineProperty(exports, "createEmptyWallet", { enumerable: true, get: function () { return resource_allocator_1.createEmptyWallet; } });
|
|
91
|
+
Object.defineProperty(exports, "throwIfDenied", { enumerable: true, get: function () { return resource_allocator_1.throwIfDenied; } });
|
|
92
|
+
var utility_engine_1 = require("./economy/utility-engine");
|
|
93
|
+
Object.defineProperty(exports, "UtilityEngine", { enumerable: true, get: function () { return utility_engine_1.UtilityEngine; } });
|
|
94
|
+
Object.defineProperty(exports, "ReputationEngine", { enumerable: true, get: function () { return utility_engine_1.ReputationEngine; } });
|
|
95
|
+
var utility_forecaster_1 = require("./economy/utility-forecaster");
|
|
96
|
+
Object.defineProperty(exports, "UtilityForecaster", { enumerable: true, get: function () { return utility_forecaster_1.UtilityForecaster; } });
|
|
97
|
+
var market_engine_1 = require("./economy/market-engine");
|
|
98
|
+
Object.defineProperty(exports, "MarketEngine", { enumerable: true, get: function () { return market_engine_1.MarketEngine; } });
|
|
99
|
+
Object.defineProperty(exports, "resetBidSeqForTests", { enumerable: true, get: function () { return market_engine_1.resetBidSeqForTests; } });
|
|
100
|
+
var constitution_1 = require("./governance/constitution");
|
|
101
|
+
Object.defineProperty(exports, "ConstitutionEnforcer", { enumerable: true, get: function () { return constitution_1.ConstitutionEnforcer; } });
|
|
102
|
+
var metrics_1 = require("./observability/metrics");
|
|
103
|
+
Object.defineProperty(exports, "OrganismMetrics", { enumerable: true, get: function () { return metrics_1.OrganismMetrics; } });
|
|
104
|
+
/** App embedding / product-platform boilerplate */
|
|
105
|
+
var organism_host_1 = require("./host/organism-host");
|
|
106
|
+
Object.defineProperty(exports, "createOrganismHost", { enumerable: true, get: function () { return organism_host_1.createOrganismHost; } });
|
|
107
|
+
Object.defineProperty(exports, "wrapOrganismRuntime", { enumerable: true, get: function () { return organism_host_1.wrapOrganismRuntime; } });
|
|
108
|
+
var organism_host_registry_1 = require("./host/organism-host-registry");
|
|
109
|
+
Object.defineProperty(exports, "OrganismHostRegistry", { enumerable: true, get: function () { return organism_host_registry_1.OrganismHostRegistry; } });
|
|
110
|
+
var signal_bridge_1 = require("./bridge/signal-bridge");
|
|
111
|
+
Object.defineProperty(exports, "toEnvironmentSignal", { enumerable: true, get: function () { return signal_bridge_1.toEnvironmentSignal; } });
|
|
112
|
+
Object.defineProperty(exports, "toIncidentEnvironmentSignal", { enumerable: true, get: function () { return signal_bridge_1.toIncidentEnvironmentSignal; } });
|
|
113
|
+
Object.defineProperty(exports, "incidentNeedMappings", { enumerable: true, get: function () { return signal_bridge_1.incidentNeedMappings; } });
|
|
114
|
+
Object.defineProperty(exports, "toAgentOutcomeReport", { enumerable: true, get: function () { return signal_bridge_1.toAgentOutcomeReport; } });
|
|
115
|
+
var create_ops_organism_1 = require("./integration/create-ops-organism");
|
|
116
|
+
Object.defineProperty(exports, "createOpsOrganism", { enumerable: true, get: function () { return create_ops_organism_1.createOpsOrganism; } });
|
|
117
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;AAEH,yBAAuB;AAEvB,yDAAuC;AACvC,2DAAyC;AACzC,2DAAyC;AACzC,oEAAkD;AAClD,yEAA+E;AAAtE,iIAAA,0BAA0B,OAAA;AAEnC,2CAwBsB;AAvBpB,qGAAA,OAAO,OAAA;AACP,sGAAA,QAAQ,OAAA;AACR,uGAAA,SAAS,OAAA;AACT,yGAAA,WAAW,OAAA;AACX,0GAAA,YAAY,OAAA;AACZ,sGAAA,QAAQ,OAAA;AACR,gHAAA,kBAAkB,OAAA;AAClB,iHAAA,mBAAmB,OAAA;AACnB,kHAAA,oBAAoB,OAAA;AACpB,oHAAA,sBAAsB,OAAA;AACtB,qHAAA,uBAAuB,OAAA;AACvB,iHAAA,mBAAmB,OAAA;AACnB,mHAAA,qBAAqB,OAAA;AACrB,oHAAA,sBAAsB,OAAA;AACtB,gHAAA,kBAAkB,OAAA;AAClB,uHAAA,yBAAyB,OAAA;AACzB,wHAAA,0BAA0B,OAAA;AAC1B,oHAAA,sBAAsB,OAAA;AACtB,4GAAA,cAAc,OAAA;AACd,yGAAA,WAAW,OAAA;AACX,gHAAA,kBAAkB,OAAA;AAClB,iHAAA,mBAAmB,OAAA;AACnB,6GAAA,eAAe,OAAA;AAGjB,4DAA0E;AAAjE,mHAAA,eAAe,OAAA;AAAE,kHAAA,cAAc,OAAA;AAExC,4DAA+D;AAAtD,wHAAA,oBAAoB,OAAA;AAC7B,kEAAgE;AAAvD,yHAAA,kBAAkB,OAAA;AAC3B,0CAAkF;AAAzE,gHAAA,qBAAqB,OAAA;AAAE,oHAAA,yBAAyB,OAAA;AACzD,sCAA8D;AAArD,sGAAA,aAAa,OAAA;AAAE,wGAAA,eAAe,OAAA;AAEvC,oEAAgF;AAAvE,qHAAA,gBAAgB,OAAA;AAAE,iHAAA,YAAY,OAAA;AACvC,+DAA6D;AAApD,iHAAA,cAAc,OAAA;AACvB,yDAAiG;AAAxF,2GAAA,WAAW,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AAAE,qHAAA,qBAAqB,OAAA;AAC9D,+DAA6D;AAApD,iHAAA,cAAc,OAAA;AACvB,uEAAkG;AAAzF,yHAAA,kBAAkB,OAAA;AAAE,kIAAA,2BAA2B,OAAA;AAExD,mEAAiE;AAAxD,qHAAA,gBAAgB,OAAA;AACzB,+DAA6D;AAApD,iHAAA,cAAc,OAAA;AAEvB,iEAAkF;AAAzE,mHAAA,eAAe,OAAA;AAAE,qHAAA,iBAAiB,OAAA;AAE3C,mEAAmG;AAA1F,uHAAA,iBAAiB,OAAA;AAAE,uHAAA,iBAAiB,OAAA;AAAE,mHAAA,aAAa,OAAA;AAC5D,2DAA2E;AAAlE,+GAAA,aAAa,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AACxC,mEAAiE;AAAxD,uHAAA,iBAAiB,OAAA;AAC1B,yDAA4E;AAAnE,6GAAA,YAAY,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAC1C,0DAAiE;AAAxD,oHAAA,oBAAoB,OAAA;AAC7B,mDAA0D;AAAjD,0GAAA,eAAe,OAAA;AAGxB,mDAAmD;AACnD,sDAA+E;AAAtE,mHAAA,kBAAkB,OAAA;AAAE,oHAAA,mBAAmB,OAAA;AAEhD,wEAAqE;AAA5D,8HAAA,oBAAoB,OAAA;AAC7B,wDAKgC;AAJ9B,oHAAA,mBAAmB,OAAA;AACnB,4HAAA,2BAA2B,OAAA;AAC3B,qHAAA,oBAAoB,OAAA;AACpB,qHAAA,oBAAoB,OAAA;AAGtB,yEAAsE;AAA7D,wHAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Boilerplate factory for ops-style organisms used by product platforms.
|
|
3
|
+
*/
|
|
4
|
+
import { type OrganismHost } from '../host/organism-host';
|
|
5
|
+
import type { AgentGeneDefinition, ConstitutionDefinition, MissionDefinition, MissionMetric, OrganismLimits, ResourceDefinition, SignalNeedMapping } from '../types/organism.types';
|
|
6
|
+
import type { OrganismRepository } from '../persistence/organism-repository';
|
|
7
|
+
export interface CreateOpsOrganismOptions {
|
|
8
|
+
id?: string;
|
|
9
|
+
mission: MissionDefinition | {
|
|
10
|
+
id: string;
|
|
11
|
+
objective: string;
|
|
12
|
+
successCriteria?: MissionMetric[];
|
|
13
|
+
constraints?: string[];
|
|
14
|
+
};
|
|
15
|
+
genes: AgentGeneDefinition[];
|
|
16
|
+
constitution?: ConstitutionDefinition;
|
|
17
|
+
/** Direct signal→need mappings from the vertical pack. */
|
|
18
|
+
signalNeedMappings?: SignalNeedMapping[];
|
|
19
|
+
/** Incident types detected outside organism (e.g. refund_spike). */
|
|
20
|
+
incidentTypes?: string[];
|
|
21
|
+
/** Capabilities used when routing incident.* observations. */
|
|
22
|
+
investigationCapabilities?: string[];
|
|
23
|
+
limits?: Partial<OrganismLimits>;
|
|
24
|
+
resources?: ResourceDefinition;
|
|
25
|
+
repository?: OrganismRepository;
|
|
26
|
+
simulation?: boolean;
|
|
27
|
+
debug?: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Create an organism configured for autonomous operations embedding.
|
|
31
|
+
* Does not include vertical detectors/policies — those stay in the product layer.
|
|
32
|
+
*/
|
|
33
|
+
export declare function createOpsOrganism(options: CreateOpsOrganismOptions): Promise<OrganismHost>;
|
|
34
|
+
//# sourceMappingURL=create-ops-organism.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-ops-organism.d.ts","sourceRoot":"","sources":["../../src/integration/create-ops-organism.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE9E,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,MAAM,WAAW,wBAAwB;IACvC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EACH,iBAAiB,GACjB;QACE,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;QAClC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IACN,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,0DAA0D;IAC1D,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACzC,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,8DAA8D;IAC9D,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,YAAY,CAAC,CA+BhG"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Boilerplate factory for ops-style organisms used by product platforms.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createOpsOrganism = createOpsOrganism;
|
|
7
|
+
const organism_host_1 = require("../host/organism-host");
|
|
8
|
+
const signal_bridge_1 = require("../bridge/signal-bridge");
|
|
9
|
+
const organism_types_1 = require("../types/organism.types");
|
|
10
|
+
/**
|
|
11
|
+
* Create an organism configured for autonomous operations embedding.
|
|
12
|
+
* Does not include vertical detectors/policies — those stay in the product layer.
|
|
13
|
+
*/
|
|
14
|
+
async function createOpsOrganism(options) {
|
|
15
|
+
const investigationCaps = options.investigationCapabilities ??
|
|
16
|
+
options.genes.find((g) => g.capabilities.length > 0)?.capabilities ?? ['operations'];
|
|
17
|
+
const incidentMappings = (0, signal_bridge_1.incidentNeedMappings)(options.incidentTypes ?? [], investigationCaps);
|
|
18
|
+
const createOptions = {
|
|
19
|
+
id: options.id,
|
|
20
|
+
mission: {
|
|
21
|
+
id: options.mission.id,
|
|
22
|
+
objective: options.mission.objective,
|
|
23
|
+
successCriteria: options.mission.successCriteria,
|
|
24
|
+
constraints: options.mission.constraints,
|
|
25
|
+
},
|
|
26
|
+
genes: options.genes,
|
|
27
|
+
constitution: options.constitution,
|
|
28
|
+
signalNeedMappings: [...(options.signalNeedMappings ?? []), ...incidentMappings],
|
|
29
|
+
limits: {
|
|
30
|
+
...organism_types_1.DEFAULT_ORGANISM_LIMITS,
|
|
31
|
+
...options.limits,
|
|
32
|
+
},
|
|
33
|
+
resources: options.resources ?? {
|
|
34
|
+
tokenBudget: 500000,
|
|
35
|
+
maxConcurrentAgents: options.limits?.maxAgents ?? organism_types_1.DEFAULT_ORGANISM_LIMITS.maxAgents,
|
|
36
|
+
},
|
|
37
|
+
repository: options.repository,
|
|
38
|
+
simulation: options.simulation ?? false,
|
|
39
|
+
debug: options.debug ?? false,
|
|
40
|
+
};
|
|
41
|
+
return (0, organism_host_1.createOrganismHost)(createOptions);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=create-ops-organism.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-ops-organism.js","sourceRoot":"","sources":["../../src/integration/create-ops-organism.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA8CH,8CA+BC;AA1ED,yDAA8E;AAC9E,2DAA+D;AAU/D,4DAAkE;AA4BlE;;;GAGG;AACI,KAAK,UAAU,iBAAiB,CAAC,OAAiC;IACvE,MAAM,iBAAiB,GAAG,OAAO,CAAC,yBAAyB;QACzD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,YAAY,IAAI,CAAC,YAAY,CAAC,CAAC;IAEvF,MAAM,gBAAgB,GAAG,IAAA,oCAAoB,EAAC,OAAO,CAAC,aAAa,IAAI,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAE9F,MAAM,aAAa,GAA0B;QAC3C,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,OAAO,EAAE;YACP,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;YACtB,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS;YACpC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe;YAChD,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW;SACzC;QACD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,kBAAkB,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC,EAAE,GAAG,gBAAgB,CAAC;QAChF,MAAM,EAAE;YACN,GAAG,wCAAuB;YAC1B,GAAG,OAAO,CAAC,MAAM;SAClB;QACD,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI;YAC9B,WAAW,EAAE,MAAO;YACpB,mBAAmB,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,IAAI,wCAAuB,CAAC,SAAS;SACpF;QACD,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;QACvC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;KAC9B,CAAC;IAEF,OAAO,IAAA,kCAAkB,EAAC,aAAa,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type AgentRuntime } from '@hazeljs/agent';
|
|
2
|
+
import type { AgentBirthProposal, AgentGeneDefinition, RuntimeAgentRecord } from '../types/organism.types';
|
|
3
|
+
import { createEmptyWallet } from '../economy/resource-allocator';
|
|
4
|
+
import { OrganismEventEmitter } from '../events/organism-events';
|
|
5
|
+
import type { OrganismRepository } from '../persistence/organism-repository';
|
|
6
|
+
import { CapabilityRegistry } from '../core/capability-registry';
|
|
7
|
+
import type { AgentResourceWallet } from '../types/organism.types';
|
|
8
|
+
export declare function resetAgentSeqForTests(): void;
|
|
9
|
+
/**
|
|
10
|
+
* Birth engine — compiles gene + proposal into DNA and registers with AgentRuntime.
|
|
11
|
+
*/
|
|
12
|
+
export declare class BirthEngine {
|
|
13
|
+
private readonly events;
|
|
14
|
+
private readonly repo;
|
|
15
|
+
private readonly capabilities;
|
|
16
|
+
private readonly organismId;
|
|
17
|
+
private readonly agentRuntime?;
|
|
18
|
+
constructor(events: OrganismEventEmitter, repo: OrganismRepository, capabilities: CapabilityRegistry, organismId: string, agentRuntime?: AgentRuntime | undefined);
|
|
19
|
+
spawn(input: {
|
|
20
|
+
proposal: AgentBirthProposal;
|
|
21
|
+
gene: AgentGeneDefinition;
|
|
22
|
+
wallet: AgentResourceWallet;
|
|
23
|
+
generation?: number;
|
|
24
|
+
parentAgentId?: string;
|
|
25
|
+
nameHint?: string;
|
|
26
|
+
}): Promise<RuntimeAgentRecord>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Termination engine — release resources, retain genealogy, emit death event.
|
|
30
|
+
*/
|
|
31
|
+
export declare class TerminationEngine {
|
|
32
|
+
private readonly events;
|
|
33
|
+
private readonly repo;
|
|
34
|
+
private readonly capabilities;
|
|
35
|
+
private readonly organismId;
|
|
36
|
+
private readonly releaseWallet;
|
|
37
|
+
constructor(events: OrganismEventEmitter, repo: OrganismRepository, capabilities: CapabilityRegistry, organismId: string, releaseWallet: (agent: RuntimeAgentRecord) => void);
|
|
38
|
+
terminate(agentId: string, reason: string): Promise<RuntimeAgentRecord | undefined>;
|
|
39
|
+
}
|
|
40
|
+
export { createEmptyWallet };
|
|
41
|
+
//# sourceMappingURL=birth-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"birth-engine.d.ts","sourceRoot":"","sources":["../../src/lifecycle/birth-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EAGnB,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAqB,MAAM,2BAA2B,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AASnE,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AA0BD;;GAEG;AACH,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAJb,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,kBAAkB,EACxB,YAAY,EAAE,kBAAkB,EAChC,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,YAAY,YAAA;IAGxC,KAAK,CAAC,KAAK,EAAE;QACjB,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,IAAI,EAAE,mBAAmB,CAAC;QAC1B,MAAM,EAAE,mBAAmB,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA2GhC;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAJb,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,kBAAkB,EACxB,YAAY,EAAE,kBAAkB,EAChC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI;IAG/D,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;CAgC1F;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|