@mono-agent/agent-app 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/dist/doctor.js ADDED
@@ -0,0 +1,181 @@
1
+ import { stat } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { describeMonoRuntimeSupport } from "@mono-agent/runtime-adapter";
4
+ import { isAppCoreConfigError, loadAppCoreConfig } from "./app-config.js";
5
+ import { defaultChannelDrivers } from "./channels.js";
6
+ /**
7
+ * Loads every config section the app would use at start and reports it
8
+ * per-section, so an engineer can see exactly what would run, wait, or fail —
9
+ * before starting anything.
10
+ */
11
+ export async function validateMonoAgentFolder(options) {
12
+ const sections = [];
13
+ const drivers = options.drivers ?? defaultChannelDrivers();
14
+ let coreConfig;
15
+ try {
16
+ coreConfig = await loadAppCoreConfig(options);
17
+ sections.push({ id: "core", label: "Core config", status: "ok", details: [`Loaded ${options.configPath}.`] });
18
+ }
19
+ catch (error) {
20
+ if (!isAppCoreConfigError(error)) {
21
+ throw error;
22
+ }
23
+ sections.push({ id: "core", label: "Core config", status: "error", details: [error.message] });
24
+ }
25
+ if (coreConfig !== undefined) {
26
+ sections.push(runtimeSection(coreConfig));
27
+ sections.push(await contextSection(coreConfig));
28
+ sections.push(memorySection(coreConfig));
29
+ sections.push(await toolsSection(coreConfig));
30
+ sections.push(sandboxSection(coreConfig));
31
+ }
32
+ for (const driver of drivers) {
33
+ sections.push(await channelSection(driver, options));
34
+ }
35
+ return {
36
+ sections,
37
+ ok: sections.every((section) => section.status !== "error"),
38
+ };
39
+ }
40
+ function runtimeSection(config) {
41
+ const details = [];
42
+ let status = "ok";
43
+ const primary = describeMonoRuntimeSupport(config.runtime.model, config.runtime.executionMode);
44
+ if (primary.compatible) {
45
+ details.push(`Primary model ${referenceOf(config.runtime.model)} runs on ${primary.backend?.label ?? "unknown backend"} (${config.runtime.executionMode}).`);
46
+ }
47
+ else {
48
+ status = "error";
49
+ details.push(`Primary model ${referenceOf(config.runtime.model)}: ${primary.incompatibilityReason ?? "unsupported"}.`);
50
+ }
51
+ for (const fallback of config.runtime.fallbackModels ?? []) {
52
+ const support = describeMonoRuntimeSupport(fallback);
53
+ if (support.compatible) {
54
+ details.push(`Fallback model ${referenceOf(fallback)} runs on ${support.backend?.label ?? "unknown backend"}.`);
55
+ }
56
+ else {
57
+ status = "error";
58
+ details.push(`Fallback model ${referenceOf(fallback)}: ${support.incompatibilityReason ?? "unsupported"}.`);
59
+ }
60
+ }
61
+ return { id: "runtime", label: "Runtime", status, details };
62
+ }
63
+ async function contextSection(config) {
64
+ const details = [];
65
+ let status = "ok";
66
+ if (await pathExists(config.context.identityPath)) {
67
+ details.push(`Identity: ${config.context.identityPath}`);
68
+ }
69
+ else {
70
+ status = "error";
71
+ details.push(`Identity file is missing: ${config.context.identityPath}`);
72
+ }
73
+ if (config.context.soulPath !== undefined && !(await pathExists(config.context.soulPath))) {
74
+ status = "error";
75
+ details.push(`Soul file is missing: ${config.context.soulPath}`);
76
+ }
77
+ if (config.context.skillsRoot !== undefined) {
78
+ if (await pathExists(config.context.skillsRoot)) {
79
+ details.push(`Skills root: ${config.context.skillsRoot}`);
80
+ for (const skill of config.context.selectedSkills) {
81
+ const skillPath = join(config.context.skillsRoot, skill, "SKILL.md");
82
+ if (await pathExists(skillPath)) {
83
+ details.push(`Skill \`${skill}\`: ${skillPath}`);
84
+ }
85
+ else {
86
+ status = "error";
87
+ details.push(`Skill \`${skill}\` is selected but ${skillPath} is missing.`);
88
+ }
89
+ }
90
+ }
91
+ else {
92
+ status = "error";
93
+ details.push(`Skills root is missing: ${config.context.skillsRoot}`);
94
+ }
95
+ }
96
+ else if (config.context.selectedSkills.length > 0) {
97
+ status = "error";
98
+ details.push("Skills are selected but context.skillsRoot is not set.");
99
+ }
100
+ return { id: "context", label: "Context & skills", status, details };
101
+ }
102
+ function memorySection(config) {
103
+ if (config.memory === undefined) {
104
+ return { id: "memory", label: "Memory", status: "disabled", details: ["No memory configured."] };
105
+ }
106
+ const details = [
107
+ `Mode: ${config.memory.mode}, path: ${config.memory.path}, writeMode: ${config.memory.writeMode}.`,
108
+ ];
109
+ if (config.memory.tools?.enabled === true) {
110
+ details.push(`Memory MCP tools enabled${config.memory.tools.allowJournalAppend ? " (journal append allowed)" : ""}.`);
111
+ }
112
+ return { id: "memory", label: "Memory", status: "ok", details };
113
+ }
114
+ async function toolsSection(config) {
115
+ const details = [];
116
+ let status = "ok";
117
+ details.push(config.tools.allowedTools.length === 0
118
+ ? "No tools allowed (fail-closed default)."
119
+ : `Allowed tools: ${config.tools.allowedTools.join(", ")}.`);
120
+ if (config.tools.disallowedTools.length > 0) {
121
+ details.push(`Disallowed tools: ${config.tools.disallowedTools.join(", ")}.`);
122
+ }
123
+ if (config.tools.mcpConfigPath !== undefined) {
124
+ if (await pathExists(config.tools.mcpConfigPath)) {
125
+ details.push(`MCP config: ${config.tools.mcpConfigPath}`);
126
+ }
127
+ else {
128
+ status = "error";
129
+ details.push(`MCP config file is missing: ${config.tools.mcpConfigPath}`);
130
+ }
131
+ }
132
+ return { id: "tools", label: "Tools & MCP", status, details };
133
+ }
134
+ function sandboxSection(config) {
135
+ if (config.sandbox === undefined) {
136
+ return { id: "sandbox", label: "Sandbox", status: "disabled", details: ["No sandbox policy configured."] };
137
+ }
138
+ return {
139
+ id: "sandbox",
140
+ label: "Sandbox",
141
+ status: "ok",
142
+ details: [
143
+ `Mode: ${config.sandbox.mode}, network: ${config.sandbox.network.mode}, fallback: ${config.sandbox.fallback}.`,
144
+ ],
145
+ };
146
+ }
147
+ async function channelSection(driver, input) {
148
+ const id = `channel:${driver.id}`;
149
+ try {
150
+ const config = await driver.loadConfig(input);
151
+ const disabledReason = driver.disabledReason?.(config);
152
+ if (disabledReason !== undefined) {
153
+ return { id, label: driver.label, status: "disabled", details: [disabledReason] };
154
+ }
155
+ const waitingReason = driver.waitingReason?.(config);
156
+ if (waitingReason !== undefined) {
157
+ return { id, label: driver.label, status: "waiting", details: [waitingReason] };
158
+ }
159
+ return { id, label: driver.label, status: "ok", details: ["Configured; will start with the app."] };
160
+ }
161
+ catch (error) {
162
+ if (driver.isConfigError(error)) {
163
+ const reason = error instanceof Error ? error.message : String(error);
164
+ return { id, label: driver.label, status: "waiting", details: [reason] };
165
+ }
166
+ throw error;
167
+ }
168
+ }
169
+ function referenceOf(model) {
170
+ return model.reference ?? `${model.sdk}:${model.provider === undefined ? "" : `${model.provider}:`}${model.model}`;
171
+ }
172
+ async function pathExists(path) {
173
+ try {
174
+ await stat(path);
175
+ return true;
176
+ }
177
+ catch {
178
+ return false;
179
+ }
180
+ }
181
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export { isAppCoreConfigError, loadAppCoreConfig, MONO_AGENT_APP_FIELD_GROUPS, resolveAppArtifactDir, resolveAppTraceHeartbeatMs, resolveAppTraceRegistryDir, resolveAppTraceSourceId, resolveAppTraceSourceLabel, resolveAppTraceStaleAfterMs, } from "./app-config.js";
2
+ export type { AppTraceDefaults, MonoAgentAppConfigInput } from "./app-config.js";
3
+ export { createA2AChannelDriver, createCronChannelDriver, createOpenAIApiChannelDriver, createSlackChannelDriver, createTelegramChannelDriver, createWebhookChannelDriver, createWhatsAppChannelDriver, defaultChannelDrivers, } from "./channels.js";
4
+ export type { A2AChannelOverrides, ChannelDriver, ChannelDriverOverrides, ChannelId, ChannelStartInput, ChannelStatus, CronChannelOverrides, MonoAgentAppLogger, OpenAIApiChannelOverrides, RunningChannel, SlackChannelOverrides, TelegramChannelOverrides, TelegramPollerLike, WebhookChannelOverrides, WhatsAppChannelOverrides, } from "./channels.js";
5
+ export { startMonoAgentApp } from "./app.js";
6
+ export type { MonoAgentApp, MonoAgentAppOperatorConsole, MonoAgentAppOptions, TraceabilityStatus, } from "./app.js";
7
+ export { initMonoAgentFolder } from "./init.js";
8
+ export type { InitMonoAgentFolderOptions, InitMonoAgentFolderResult } from "./init.js";
9
+ export { validateMonoAgentFolder } from "./doctor.js";
10
+ export type { ValidateMonoAgentFolderOptions, ValidationReport, ValidationSection, ValidationStatus, } from "./doctor.js";
11
+ export { parseCliArgs, runCli } from "./cli.js";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,sBAAsB,EACtB,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,EACd,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EACV,YAAY,EACZ,2BAA2B,EAC3B,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EACV,8BAA8B,EAC9B,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ export { isAppCoreConfigError, loadAppCoreConfig, MONO_AGENT_APP_FIELD_GROUPS, resolveAppArtifactDir, resolveAppTraceHeartbeatMs, resolveAppTraceRegistryDir, resolveAppTraceSourceId, resolveAppTraceSourceLabel, resolveAppTraceStaleAfterMs, } from "./app-config.js";
2
+ export { createA2AChannelDriver, createCronChannelDriver, createOpenAIApiChannelDriver, createSlackChannelDriver, createTelegramChannelDriver, createWebhookChannelDriver, createWhatsAppChannelDriver, defaultChannelDrivers, } from "./channels.js";
3
+ export { startMonoAgentApp } from "./app.js";
4
+ export { initMonoAgentFolder } from "./init.js";
5
+ export { validateMonoAgentFolder } from "./doctor.js";
6
+ export { parseCliArgs, runCli } from "./cli.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAkBvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAO7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAOtD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
package/dist/init.d.ts ADDED
@@ -0,0 +1,30 @@
1
+ export interface InitMonoAgentFolderOptions {
2
+ /** Folder the agent is constructed in. Defaults to process.cwd(). */
3
+ readonly dir?: string;
4
+ /** Primary runtime model reference written into the config. */
5
+ readonly model?: string;
6
+ /** Ordered backup model references written into the config. */
7
+ readonly fallbackModels?: readonly string[];
8
+ /** Memory strategy: omitted = no memory section. */
9
+ readonly memory?: "markdown" | "journal";
10
+ }
11
+ export interface InitMonoAgentFolderResult {
12
+ readonly dir: string;
13
+ readonly configPath: string;
14
+ readonly identityPath: string;
15
+ /** Files and directories created by this run (absolute paths). */
16
+ readonly created: readonly string[];
17
+ /** Files that already existed and were left untouched (absolute paths). */
18
+ readonly skipped: readonly string[];
19
+ /** Existing knowledge files the generated identity references. */
20
+ readonly knowledgeFiles: readonly string[];
21
+ }
22
+ /**
23
+ * Non-destructively scaffolds a config-first mono-agent folder: a minimal
24
+ * `mono-agent.config.json` (webhook enabled as the zero-credential smoke
25
+ * channel), an `IDENTITY.md` seeded from any knowledge files already in the
26
+ * folder, and the `.mono-agent/` working directories. Existing files are
27
+ * never overwritten.
28
+ */
29
+ export declare function initMonoAgentFolder(options?: InitMonoAgentFolderOptions): Promise<InitMonoAgentFolderResult>;
30
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,0BAA0B;IACzC,qEAAqE;IACrE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,oDAAoD;IACpD,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAC1C;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,kEAAkE;IAClE,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAKD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,yBAAyB,CAAC,CAuCpC"}
package/dist/init.js ADDED
@@ -0,0 +1,126 @@
1
+ import { mkdir, stat, writeFile } from "node:fs/promises";
2
+ import { basename, join, resolve } from "node:path";
3
+ import { writeMonoAgentConfigJson } from "@mono-agent/config";
4
+ const DEFAULT_MODEL = "claude:claude-sonnet-4-6";
5
+ const KNOWLEDGE_FILE_CANDIDATES = ["AGENTS.md", "CLAUDE.md", "README.md", "SOUL.md"];
6
+ /**
7
+ * Non-destructively scaffolds a config-first mono-agent folder: a minimal
8
+ * `mono-agent.config.json` (webhook enabled as the zero-credential smoke
9
+ * channel), an `IDENTITY.md` seeded from any knowledge files already in the
10
+ * folder, and the `.mono-agent/` working directories. Existing files are
11
+ * never overwritten.
12
+ */
13
+ export async function initMonoAgentFolder(options = {}) {
14
+ const dir = resolve(options.dir ?? process.cwd());
15
+ const created = [];
16
+ const skipped = [];
17
+ const knowledgeFiles = [];
18
+ for (const candidate of KNOWLEDGE_FILE_CANDIDATES) {
19
+ if (await pathExists(join(dir, candidate))) {
20
+ knowledgeFiles.push(candidate);
21
+ }
22
+ }
23
+ const identityPath = join(dir, "IDENTITY.md");
24
+ if (await pathExists(identityPath)) {
25
+ skipped.push(identityPath);
26
+ }
27
+ else {
28
+ await writeFile(identityPath, identityTemplate(dir, knowledgeFiles), { flag: "wx" });
29
+ created.push(identityPath);
30
+ }
31
+ for (const subdir of [join(dir, ".mono-agent", "artifacts"), join(dir, ".mono-agent", "workspace")]) {
32
+ if (await pathExists(subdir)) {
33
+ skipped.push(subdir);
34
+ }
35
+ else {
36
+ await mkdir(subdir, { recursive: true });
37
+ created.push(subdir);
38
+ }
39
+ }
40
+ const configPath = join(dir, "mono-agent.config.json");
41
+ if (await pathExists(configPath)) {
42
+ skipped.push(configPath);
43
+ }
44
+ else {
45
+ const skillsRootExists = await pathExists(join(dir, "skills"));
46
+ await writeMonoAgentConfigJson({ path: configPath, patch: configTemplate(dir, options, skillsRootExists) });
47
+ created.push(configPath);
48
+ }
49
+ return { dir, configPath, identityPath, created, skipped, knowledgeFiles };
50
+ }
51
+ function configTemplate(dir, options, skillsRootExists) {
52
+ const fallbackModels = (options.fallbackModels ?? []).filter((entry) => entry.trim().length > 0);
53
+ return {
54
+ runtime: {
55
+ model: options.model ?? DEFAULT_MODEL,
56
+ ...(fallbackModels.length === 0 ? {} : { fallbackModels }),
57
+ maxTurns: 8,
58
+ workspace: ".",
59
+ },
60
+ context: {
61
+ identityPath: "./IDENTITY.md",
62
+ selectedSkills: [],
63
+ ...(skillsRootExists ? { skillsRoot: "./skills" } : {}),
64
+ },
65
+ ...(options.memory === undefined
66
+ ? {}
67
+ : {
68
+ memory: {
69
+ mode: options.memory,
70
+ path: options.memory === "journal" ? "./.mono-agent/memory" : "./MEMORY.md",
71
+ writeMode: "append-host-summary",
72
+ },
73
+ }),
74
+ tools: {
75
+ allowedTools: [],
76
+ disallowedTools: [],
77
+ },
78
+ artifacts: {
79
+ dir: "./.mono-agent/artifacts",
80
+ },
81
+ traceability: {
82
+ registryDir: "./.mono-agent/trace-sources",
83
+ sourceLabel: `Mono Agent (${basename(dir)})`,
84
+ },
85
+ webhook: {
86
+ enabled: true,
87
+ },
88
+ };
89
+ }
90
+ function identityTemplate(dir, knowledgeFiles) {
91
+ const knowledgeSection = knowledgeFiles.length === 0
92
+ ? "This folder starts empty; describe the agent's purpose and boundaries here."
93
+ : [
94
+ "This folder already carries knowledge the agent must read and respect:",
95
+ "",
96
+ ...knowledgeFiles.map((file) => `- \`${file}\``),
97
+ ].join("\n");
98
+ return `# Identity
99
+
100
+ You are the mono agent constructed in \`${basename(dir)}\`.
101
+
102
+ ## Role
103
+
104
+ Describe what this agent is for in one or two sentences.
105
+
106
+ ## Knowledge
107
+
108
+ ${knowledgeSection}
109
+
110
+ ## Boundaries
111
+
112
+ - Work inside this folder unless the user explicitly widens the workspace.
113
+ - Confirm before destructive changes.
114
+ - Fail honestly: report runtime or tool errors instead of inventing results.
115
+ `;
116
+ }
117
+ async function pathExists(path) {
118
+ try {
119
+ await stat(path);
120
+ return true;
121
+ }
122
+ catch {
123
+ return false;
124
+ }
125
+ }
126
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@mono-agent/agent-app",
3
+ "version": "0.1.0",
4
+ "description": "Config-first mono-agent host: builds a responder and starts every configured communication channel, operator console, and traceability from one mono-agent.config.json.",
5
+ "type": "module",
6
+ "license": "UNLICENSED",
7
+ "private": false,
8
+ "main": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js"
14
+ }
15
+ },
16
+ "bin": {
17
+ "mono-agent": "./dist/cli.js"
18
+ },
19
+ "files": [
20
+ "dist",
21
+ "README.md"
22
+ ],
23
+ "dependencies": {
24
+ "@mono-agent/a2a-adapter": "0.1.0",
25
+ "@mono-agent/agent-contracts": "0.1.0",
26
+ "@mono-agent/agent-host": "0.1.0",
27
+ "@mono-agent/config": "0.1.0",
28
+ "@mono-agent/cron-adapter": "0.1.0",
29
+ "@mono-agent/observability": "0.1.0",
30
+ "@mono-agent/openai-api-adapter": "0.1.0",
31
+ "@mono-agent/operator-console": "0.1.0",
32
+ "@mono-agent/runtime-adapter": "0.1.0",
33
+ "@mono-agent/settings": "0.1.0",
34
+ "@mono-agent/slack-adapter": "0.1.0",
35
+ "@mono-agent/telegram-adapter": "0.1.0",
36
+ "@mono-agent/webhook-adapter": "0.1.0",
37
+ "@mono-agent/whatsapp-adapter": "0.1.0"
38
+ },
39
+ "publishConfig": {
40
+ "access": "public"
41
+ },
42
+ "scripts": {
43
+ "build": "tsc -p tsconfig.build.json",
44
+ "typecheck": "tsc -p tsconfig.json --noEmit",
45
+ "test": "vitest run --passWithNoTests"
46
+ }
47
+ }