moltblock 0.2.2 → 0.3.1

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/dist/cli.js CHANGED
@@ -6,6 +6,7 @@ import fs from "node:fs";
6
6
  import { program } from "commander";
7
7
  import { CodeEntity } from "./entity.js";
8
8
  import { defaultCodeEntityBindings } from "./config.js";
9
+ import { validateTask } from "./validation.js";
9
10
  async function main() {
10
11
  program
11
12
  .name("moltblock")
@@ -14,6 +15,17 @@ async function main() {
14
15
  .option("-t, --test <path>", "Path to file containing test code (e.g. vitest test module). If omitted, only syntax check.")
15
16
  .option("--json", "Output result as JSON (draft, critique, final, verification_passed, authoritative_artifact).")
16
17
  .action(async (task, options) => {
18
+ // Validate task input
19
+ const validation = validateTask(task);
20
+ if (!validation.valid) {
21
+ console.error(`Error: ${validation.error}`);
22
+ process.exit(1);
23
+ }
24
+ if (validation.warnings?.length) {
25
+ for (const warning of validation.warnings) {
26
+ console.warn(`Warning: ${warning}`);
27
+ }
28
+ }
17
29
  let testCode;
18
30
  if (options.test && fs.existsSync(options.test)) {
19
31
  testCode = fs.readFileSync(options.test, "utf-8");
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -123,8 +123,15 @@ export declare const ModelBindingSchema: z.ZodObject<{
123
123
  apiKey?: string | null | undefined;
124
124
  }>;
125
125
  export type ModelBinding = z.infer<typeof ModelBindingSchema>;
126
+ /** Track which config source was used */
127
+ export type ConfigSource = "moltblock" | "openclaw" | "env" | null;
126
128
  /**
127
- * Load and parse moltblock.json if present. Returns null if no file or parse error.
129
+ * Get the source of the last loaded config.
130
+ */
131
+ export declare function getConfigSource(): ConfigSource;
132
+ /**
133
+ * Load and parse moltblock.json if present, fallback to openclaw.json.
134
+ * Returns null if no file or parse error.
128
135
  */
129
136
  export declare function loadMoltblockConfig(): MoltblockConfig | null;
130
137
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAwB9D;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,GAAG,IAAI,CAY5D;AA0BD;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CA0ExE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AA8C9D,yCAAyC;AACzC,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC;AAGnE;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAE9C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,GAAG,IAAI,CAkC5D;AA6HD;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CA0ExE"}
package/dist/config.js CHANGED
@@ -34,9 +34,9 @@ export const ModelBindingSchema = z.object({
34
34
  model: z.string().default("default").describe("Model name for chat completion"),
35
35
  });
36
36
  /**
37
- * Resolve config file: MOLTBLOCK_CONFIG env, then ./moltblock.json, ./.moltblock/moltblock.json, ~/.moltblock/moltblock.json.
37
+ * Resolve moltblock config file: MOLTBLOCK_CONFIG env, then ./moltblock.json, ./.moltblock/moltblock.json, ~/.moltblock/moltblock.json.
38
38
  */
39
- function configPath() {
39
+ function moltblockConfigPath() {
40
40
  const envPath = (process.env["MOLTBLOCK_CONFIG"] ?? "").trim();
41
41
  if (envPath && fs.existsSync(envPath)) {
42
42
  return envPath;
@@ -55,21 +55,159 @@ function configPath() {
55
55
  return null;
56
56
  }
57
57
  /**
58
- * Load and parse moltblock.json if present. Returns null if no file or parse error.
58
+ * Resolve OpenClaw config file: OPENCLAW_CONFIG env, then ./openclaw.json, ./.openclaw/openclaw.json, ~/.openclaw/openclaw.json.
59
+ */
60
+ function openclawConfigPath() {
61
+ const envPath = (process.env["OPENCLAW_CONFIG"] ?? "").trim();
62
+ if (envPath && fs.existsSync(envPath)) {
63
+ return envPath;
64
+ }
65
+ const cwd = process.cwd();
66
+ const candidates = [
67
+ path.join(cwd, "openclaw.json"),
68
+ path.join(cwd, ".openclaw", "openclaw.json"),
69
+ path.join(os.homedir(), ".openclaw", "openclaw.json"),
70
+ ];
71
+ for (const candidate of candidates) {
72
+ if (fs.existsSync(candidate)) {
73
+ return candidate;
74
+ }
75
+ }
76
+ return null;
77
+ }
78
+ let lastConfigSource = null;
79
+ /**
80
+ * Get the source of the last loaded config.
81
+ */
82
+ export function getConfigSource() {
83
+ return lastConfigSource;
84
+ }
85
+ /**
86
+ * Load and parse moltblock.json if present, fallback to openclaw.json.
87
+ * Returns null if no file or parse error.
59
88
  */
60
89
  export function loadMoltblockConfig() {
61
- const configFile = configPath();
62
- if (!configFile) {
90
+ // Try moltblock config first
91
+ const moltblockFile = moltblockConfigPath();
92
+ if (moltblockFile) {
93
+ try {
94
+ const raw = fs.readFileSync(moltblockFile, "utf-8");
95
+ const data = JSON.parse(raw);
96
+ const config = MoltblockConfigSchema.parse(data);
97
+ lastConfigSource = "moltblock";
98
+ return config;
99
+ }
100
+ catch {
101
+ // Parse error, try fallback
102
+ }
103
+ }
104
+ // Fallback to OpenClaw config
105
+ const openclawFile = openclawConfigPath();
106
+ if (openclawFile) {
107
+ try {
108
+ const raw = fs.readFileSync(openclawFile, "utf-8");
109
+ const data = JSON.parse(raw);
110
+ const config = parseOpenClawConfig(data);
111
+ if (config) {
112
+ lastConfigSource = "openclaw";
113
+ console.log(`Using OpenClaw config from ${openclawFile}`);
114
+ return config;
115
+ }
116
+ }
117
+ catch {
118
+ // Parse error
119
+ }
120
+ }
121
+ lastConfigSource = "env";
122
+ return null;
123
+ }
124
+ /**
125
+ * Parse OpenClaw config and convert to MoltblockConfig format.
126
+ * OpenClaw uses a similar structure but may have different field names.
127
+ */
128
+ function parseOpenClawConfig(data) {
129
+ if (!data || typeof data !== "object") {
63
130
  return null;
64
131
  }
65
- try {
66
- const raw = fs.readFileSync(configFile, "utf-8");
67
- const data = JSON.parse(raw);
68
- return MoltblockConfigSchema.parse(data);
132
+ const obj = data;
133
+ // OpenClaw may have agent.bindings or providers section
134
+ // Try to extract bindings from various possible locations
135
+ let bindings;
136
+ // Check for agent.bindings (same as moltblock)
137
+ if (obj["agent"] && typeof obj["agent"] === "object") {
138
+ const agent = obj["agent"];
139
+ if (agent["bindings"] && typeof agent["bindings"] === "object") {
140
+ bindings = extractBindings(agent["bindings"]);
141
+ }
69
142
  }
70
- catch {
143
+ // Check for providers section (OpenClaw style)
144
+ if (!bindings && obj["providers"] && typeof obj["providers"] === "object") {
145
+ bindings = extractBindingsFromProviders(obj["providers"]);
146
+ }
147
+ // Check for models section
148
+ if (!bindings && obj["models"] && typeof obj["models"] === "object") {
149
+ bindings = extractBindings(obj["models"]);
150
+ }
151
+ if (!bindings) {
71
152
  return null;
72
153
  }
154
+ return {
155
+ agent: { bindings },
156
+ };
157
+ }
158
+ /**
159
+ * Extract bindings from a bindings-like object.
160
+ */
161
+ function extractBindings(obj) {
162
+ const result = {};
163
+ for (const [role, value] of Object.entries(obj)) {
164
+ if (value && typeof value === "object") {
165
+ const entry = value;
166
+ const rawApiKey = entry["api_key"] ?? entry["apiKey"];
167
+ const binding = {
168
+ backend: String(entry["backend"] ?? entry["provider"] ?? "openai"),
169
+ base_url: String(entry["base_url"] ?? entry["baseUrl"] ?? entry["url"] ?? ""),
170
+ model: String(entry["model"] ?? "default"),
171
+ api_key: typeof rawApiKey === "string" ? rawApiKey : null,
172
+ };
173
+ if (binding.base_url) {
174
+ result[role] = binding;
175
+ }
176
+ }
177
+ }
178
+ return result;
179
+ }
180
+ /**
181
+ * Extract bindings from OpenClaw providers section.
182
+ * Maps provider configs to role bindings.
183
+ */
184
+ function extractBindingsFromProviders(providers) {
185
+ const result = {};
186
+ // Map first available provider to all roles
187
+ for (const [providerName, config] of Object.entries(providers)) {
188
+ if (config && typeof config === "object") {
189
+ const entry = config;
190
+ const rawApiKey = entry["api_key"] ?? entry["apiKey"];
191
+ const binding = {
192
+ backend: providerName,
193
+ base_url: String(entry["base_url"] ?? entry["baseUrl"] ?? entry["url"] ?? ""),
194
+ model: String(entry["model"] ?? entry["default_model"] ?? "default"),
195
+ api_key: typeof rawApiKey === "string" ? rawApiKey : null,
196
+ };
197
+ if (binding.base_url) {
198
+ // Use this provider for all roles unless specific ones are defined
199
+ if (!result["generator"])
200
+ result["generator"] = binding;
201
+ if (!result["critic"])
202
+ result["critic"] = binding;
203
+ if (!result["judge"])
204
+ result["judge"] = binding;
205
+ if (!result["verifier"])
206
+ result["verifier"] = binding;
207
+ }
208
+ }
209
+ }
210
+ return result;
73
211
  }
74
212
  function env(key, defaultValue = "") {
75
213
  return (process.env[key] ?? defaultValue).trim();
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../src/entity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAA6B,MAAM,kBAAkB,CAAC;AAGpE;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAA6B;gBAEjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;IASnD;;;;OAIG;IACG,GAAG,CACP,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAC3B,GACL,OAAO,CAAC,aAAa,CAAC;CAwD1B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GACtC,WAAW,CAGb"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../src/entity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAA6B,MAAM,kBAAkB,CAAC;AAIpE;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAA6B;gBAEjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;IASnD;;;;OAIG;IACG,GAAG,CACP,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAC3B,GACL,OAAO,CAAC,aAAa,CAAC;CAqE1B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GACtC,WAAW,CAGb"}
package/dist/entity.js CHANGED
@@ -8,6 +8,7 @@ import { GraphRunner } from "./graph-runner.js";
8
8
  import { AgentGraph } from "./graph-schema.js";
9
9
  import { WorkingMemory } from "./memory.js";
10
10
  import { hashMemory, recordOutcome } from "./persistence.js";
11
+ import { validateTask, validateTestCode } from "./validation.js";
11
12
  import { runVerifier } from "./verifier.js";
12
13
  /**
13
14
  * Code Entity: Generator -> Critic -> Judge -> Verifier.
@@ -30,6 +31,17 @@ export class CodeEntity {
30
31
  */
31
32
  async run(task, options = {}) {
32
33
  const { testCode, store, entityVersion = "0.2.0", writeCheckpointAfter = false, } = options;
34
+ // Validate inputs
35
+ const taskValidation = validateTask(task);
36
+ if (!taskValidation.valid) {
37
+ throw new Error(`Invalid task: ${taskValidation.error}`);
38
+ }
39
+ if (testCode) {
40
+ const testValidation = validateTestCode(testCode);
41
+ if (!testValidation.valid) {
42
+ throw new Error(`Invalid test code: ${testValidation.error}`);
43
+ }
44
+ }
33
45
  const t0 = performance.now();
34
46
  const memory = new WorkingMemory();
35
47
  memory.setTask(task);
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../src/entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../src/entity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAqB,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAS,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;GAGG;AACH,MAAM,OAAO,UAAU;IACb,QAAQ,CAA6B;IAE7C,YAAY,QAAuC;QACjD,MAAM,gBAAgB,GAAG,QAAQ,IAAI,yBAAyB,EAAE,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG;YACd,SAAS,EAAE,IAAI,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAE,CAAC;YACzD,MAAM,EAAE,IAAI,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAE,CAAC;YACnD,KAAK,EAAE,IAAI,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAE,CAAC;SAClD,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG,CACP,IAAY,EACZ,UAKI,EAAE;QAEN,MAAM,EACJ,QAAQ,EACR,KAAK,EACL,aAAa,GAAG,OAAO,EACvB,oBAAoB,GAAG,KAAK,GAC7B,GAAG,OAAO,CAAC;QAEZ,kBAAkB;QAClB,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,iBAAiB,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,cAAc,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,sBAAsB,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAErB,gDAAgD;QAChD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;oBACtB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC9C,CAAC;qBAAM,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;oBACrB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;YACD,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,CAAC;QAED,yBAAyB;QACzB,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAE,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;QACvE,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAE,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;QACjE,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAE,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;QAC/D,MAAM,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEpC,oDAAoD;QACpD,MAAM,UAAU,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;QACnD,IAAI,KAAK,EAAE,CAAC;YACV,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,kBAAkB,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,KAAK,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACvE,MAAM,WAAW,GAAG,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC7C,KAAK,CAAC,WAAW,CACf,WAAW,EACX,sBAAsB,MAAM,CAAC,qBAAqB,CAAC,MAAM,SAAS,EAClE,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAC5C,CAAC;YAEF,IAAI,oBAAoB,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,mBAAmB,CAAC;gBACtC,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjC,KAAK,CAAC,eAAe,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAAiB,EACjB,QAAuC;IAEvC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC"}
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export declare const VERSION = "0.2.0";
5
5
  export type { ModelBinding, BindingEntry, AgentConfig, MoltblockConfig, ChatMessage, VerifiedMemoryEntry, CheckpointEntry, OutcomeEntry, InboxEntry, StrategySuggestion, ReceivedArtifact, GovernanceConfig, } from "./types.js";
6
6
  export { WorkingMemory } from "./memory.js";
7
7
  export { signArtifact, verifyArtifact, artifactHash } from "./signing.js";
8
- export { loadMoltblockConfig, defaultCodeEntityBindings, BindingEntrySchema, AgentConfigSchema, MoltblockConfigSchema, ModelBindingSchema, } from "./config.js";
8
+ export { loadMoltblockConfig, defaultCodeEntityBindings, getConfigSource, BindingEntrySchema, AgentConfigSchema, MoltblockConfigSchema, ModelBindingSchema, type ConfigSource, } from "./config.js";
9
9
  export { Store, hashGraph, hashMemory, auditLog, getGovernanceValue, setGovernanceValue, putInbox, getInbox, recordOutcome, getRecentOutcomes, getStrategy, setStrategy, } from "./persistence.js";
10
10
  export { LLMGateway } from "./gateway.js";
11
11
  export { runGenerator, runCritic, runJudge, runRole, } from "./agents.js";
@@ -15,5 +15,6 @@ export { extractCodeBlock, runVitestOnCode, runVerifier } from "./verifier.js";
15
15
  export { createGovernanceConfig, canMolt, triggerMolt, pause, resume, isPaused, emergencyShutdown, } from "./governance.js";
16
16
  export { sendArtifact, receiveArtifacts } from "./handoff.js";
17
17
  export { critiqueStrategies, applySuggestion, runEval, runImprovementCycle, } from "./improvement.js";
18
+ export { validateTask, validateTestCode, MAX_TASK_LENGTH, MIN_TASK_LENGTH, type ValidationResult, } from "./validation.js";
18
19
  export { CodeEntity, loadEntityWithGraph } from "./entity.js";
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG1E,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,KAAK,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EACL,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,OAAO,GACR,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG/E,OAAO,EACL,sBAAsB,EACtB,OAAO,EACP,WAAW,EACX,KAAK,EACL,MAAM,EACN,QAAQ,EACR,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAG9D,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,OAAO,EACP,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG1E,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,KAAK,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EACL,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,OAAO,GACR,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG/E,OAAO,EACL,sBAAsB,EACtB,OAAO,EACP,WAAW,EACX,KAAK,EACL,MAAM,EACN,QAAQ,EACR,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAG9D,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,OAAO,EACP,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ export { WorkingMemory } from "./memory.js";
7
7
  // Signing
8
8
  export { signArtifact, verifyArtifact, artifactHash } from "./signing.js";
9
9
  // Config
10
- export { loadMoltblockConfig, defaultCodeEntityBindings, BindingEntrySchema, AgentConfigSchema, MoltblockConfigSchema, ModelBindingSchema, } from "./config.js";
10
+ export { loadMoltblockConfig, defaultCodeEntityBindings, getConfigSource, BindingEntrySchema, AgentConfigSchema, MoltblockConfigSchema, ModelBindingSchema, } from "./config.js";
11
11
  // Persistence
12
12
  export { Store, hashGraph, hashMemory, auditLog, getGovernanceValue, setGovernanceValue, putInbox, getInbox, recordOutcome, getRecentOutcomes, getStrategy, setStrategy, } from "./persistence.js";
13
13
  // Gateway
@@ -26,6 +26,8 @@ export { createGovernanceConfig, canMolt, triggerMolt, pause, resume, isPaused,
26
26
  export { sendArtifact, receiveArtifacts } from "./handoff.js";
27
27
  // Improvement
28
28
  export { critiqueStrategies, applySuggestion, runEval, runImprovementCycle, } from "./improvement.js";
29
+ // Validation
30
+ export { validateTask, validateTestCode, MAX_TASK_LENGTH, MIN_TASK_LENGTH, } from "./validation.js";
29
31
  // Entity
30
32
  export { CodeEntity, loadEntityWithGraph } from "./entity.js";
31
33
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAkB/B,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1E,SAAS;AACT,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,cAAc;AACd,OAAO,EACL,KAAK,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,UAAU;AACV,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,SAAS;AACT,OAAO,EACL,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,OAAO,GACR,MAAM,aAAa,CAAC;AAErB,QAAQ;AACR,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,GAIjB,MAAM,mBAAmB,CAAC;AAE3B,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,WAAW;AACX,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE/E,aAAa;AACb,OAAO,EACL,sBAAsB,EACtB,OAAO,EACP,WAAW,EACX,KAAK,EACL,MAAM,EACN,QAAQ,EACR,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE9D,cAAc;AACd,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,OAAO,EACP,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAkB/B,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1E,SAAS;AACT,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GAEnB,MAAM,aAAa,CAAC;AAErB,cAAc;AACd,OAAO,EACL,KAAK,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,UAAU;AACV,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,SAAS;AACT,OAAO,EACL,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,OAAO,GACR,MAAM,aAAa,CAAC;AAErB,QAAQ;AACR,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,GAIjB,MAAM,mBAAmB,CAAC;AAE3B,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,WAAW;AACX,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE/E,aAAa;AACb,OAAO,EACL,sBAAsB,EACtB,OAAO,EACP,WAAW,EACX,KAAK,EACL,MAAM,EACN,QAAQ,EACR,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE9D,cAAc;AACd,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,OAAO,EACP,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,aAAa;AACb,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,GAEhB,MAAM,iBAAiB,CAAC;AAEzB,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Input validation for task descriptions and other user inputs.
3
+ */
4
+ /** Maximum task length in characters */
5
+ export declare const MAX_TASK_LENGTH = 50000;
6
+ /** Minimum task length in characters */
7
+ export declare const MIN_TASK_LENGTH = 3;
8
+ export interface ValidationResult {
9
+ valid: boolean;
10
+ error?: string;
11
+ warnings?: string[];
12
+ }
13
+ /**
14
+ * Validate a task description.
15
+ * Returns { valid: true } if the task is acceptable.
16
+ * Returns { valid: false, error: "..." } if the task should be rejected.
17
+ * May include warnings for suspicious but allowed patterns.
18
+ */
19
+ export declare function validateTask(task: string): ValidationResult;
20
+ /**
21
+ * Validate test code input.
22
+ */
23
+ export declare function validateTestCode(testCode: string): ValidationResult;
24
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wCAAwC;AACxC,eAAO,MAAM,eAAe,QAAQ,CAAC;AAErC,wCAAwC;AACxC,eAAO,MAAM,eAAe,IAAI,CAAC;AAuBjC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAuC3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAuBnE"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Input validation for task descriptions and other user inputs.
3
+ */
4
+ /** Maximum task length in characters */
5
+ export const MAX_TASK_LENGTH = 50000;
6
+ /** Minimum task length in characters */
7
+ export const MIN_TASK_LENGTH = 3;
8
+ /**
9
+ * Patterns that may indicate prompt injection attempts.
10
+ * These generate warnings, not errors, since they could be legitimate.
11
+ */
12
+ const SUSPICIOUS_PATTERNS = [
13
+ { pattern: /\[SYSTEM:/gi, description: "Contains '[SYSTEM:' which may be a prompt injection attempt" },
14
+ { pattern: /\[ADMIN:/gi, description: "Contains '[ADMIN:' which may be a prompt injection attempt" },
15
+ { pattern: /ignore previous instructions/gi, description: "Contains 'ignore previous instructions'" },
16
+ { pattern: /disregard (all )?(prior|previous)/gi, description: "Contains instruction override pattern" },
17
+ { pattern: /<\|im_start\|>/gi, description: "Contains chat template markers" },
18
+ { pattern: /<\|im_end\|>/gi, description: "Contains chat template markers" },
19
+ ];
20
+ /**
21
+ * Patterns that are invalid and will cause rejection.
22
+ */
23
+ const INVALID_PATTERNS = [
24
+ { pattern: /\x00/, description: "Contains null byte" },
25
+ { pattern: /[\x01-\x08\x0B\x0C\x0E-\x1F]/, description: "Contains control characters" },
26
+ ];
27
+ /**
28
+ * Validate a task description.
29
+ * Returns { valid: true } if the task is acceptable.
30
+ * Returns { valid: false, error: "..." } if the task should be rejected.
31
+ * May include warnings for suspicious but allowed patterns.
32
+ */
33
+ export function validateTask(task) {
34
+ const warnings = [];
35
+ // Check for empty/whitespace-only
36
+ if (!task || task.trim().length === 0) {
37
+ return { valid: false, error: "Task cannot be empty" };
38
+ }
39
+ // Check minimum length
40
+ if (task.trim().length < MIN_TASK_LENGTH) {
41
+ return { valid: false, error: `Task too short (minimum ${MIN_TASK_LENGTH} characters)` };
42
+ }
43
+ // Check maximum length
44
+ if (task.length > MAX_TASK_LENGTH) {
45
+ return {
46
+ valid: false,
47
+ error: `Task too long (${task.length} characters, maximum ${MAX_TASK_LENGTH})`,
48
+ };
49
+ }
50
+ // Check for invalid patterns (reject)
51
+ for (const { pattern, description } of INVALID_PATTERNS) {
52
+ if (pattern.test(task)) {
53
+ return { valid: false, error: description };
54
+ }
55
+ }
56
+ // Check for suspicious patterns (warn)
57
+ for (const { pattern, description } of SUSPICIOUS_PATTERNS) {
58
+ if (pattern.test(task)) {
59
+ warnings.push(description);
60
+ }
61
+ }
62
+ return {
63
+ valid: true,
64
+ warnings: warnings.length > 0 ? warnings : undefined,
65
+ };
66
+ }
67
+ /**
68
+ * Validate test code input.
69
+ */
70
+ export function validateTestCode(testCode) {
71
+ // Check for empty
72
+ if (!testCode || testCode.trim().length === 0) {
73
+ return { valid: false, error: "Test code cannot be empty" };
74
+ }
75
+ // Check maximum length (test code can be larger than task)
76
+ const MAX_TEST_CODE_LENGTH = 100000;
77
+ if (testCode.length > MAX_TEST_CODE_LENGTH) {
78
+ return {
79
+ valid: false,
80
+ error: `Test code too long (${testCode.length} characters, maximum ${MAX_TEST_CODE_LENGTH})`,
81
+ };
82
+ }
83
+ // Check for invalid patterns
84
+ for (const { pattern, description } of INVALID_PATTERNS) {
85
+ if (pattern.test(testCode)) {
86
+ return { valid: false, error: description };
87
+ }
88
+ }
89
+ return { valid: true };
90
+ }
91
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "moltblock",
3
- "version": "0.2.2",
3
+ "version": "0.3.1",
4
4
  "description": "Framework for building evolving composite AI intelligences (Entities)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",