comisai 1.0.14 → 1.0.15
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/node_modules/@comis/agent/dist/bootstrap/index.d.ts +1 -1
- package/node_modules/@comis/agent/dist/bootstrap/index.js +1 -1
- package/node_modules/@comis/agent/dist/bootstrap/system-prompt-assembler.d.ts +26 -0
- package/node_modules/@comis/agent/dist/bootstrap/system-prompt-assembler.js +86 -54
- package/node_modules/@comis/agent/dist/bootstrap/types.d.ts +8 -2
- package/node_modules/@comis/agent/dist/bootstrap/workspace-loader.d.ts +12 -0
- package/node_modules/@comis/agent/dist/bootstrap/workspace-loader.js +21 -0
- package/node_modules/@comis/agent/dist/executor/executor-tool-assembly.js +2 -0
- package/node_modules/@comis/agent/dist/executor/prompt-assembly.d.ts +8 -1
- package/node_modules/@comis/agent/dist/executor/prompt-assembly.js +22 -5
- package/node_modules/@comis/agent/dist/session/comis-session-manager.js +7 -2
- package/node_modules/@comis/agent/package.json +1 -1
- package/node_modules/@comis/channels/package.json +1 -1
- package/node_modules/@comis/cli/dist/doctor/checks/channel-health.js +2 -2
- package/node_modules/@comis/cli/dist/wizard/index.d.ts +2 -3
- package/node_modules/@comis/cli/dist/wizard/index.js +2 -3
- package/node_modules/@comis/cli/dist/wizard/steps/10-write-config.js +1 -1
- package/node_modules/@comis/cli/dist/wizard/types.d.ts +1 -2
- package/node_modules/@comis/cli/dist/wizard/types.js +1 -2
- package/node_modules/@comis/cli/package.json +1 -1
- package/node_modules/@comis/core/dist/config/schema-agent.d.ts +54 -10
- package/node_modules/@comis/core/dist/config/schema-agent.js +11 -0
- package/node_modules/@comis/core/dist/config/schema.d.ts +19 -14
- package/node_modules/@comis/core/dist/event-bus/events-infra.d.ts +8 -0
- package/node_modules/@comis/core/package.json +1 -1
- package/node_modules/@comis/daemon/dist/daemon.js +2 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-channels.js +19 -2
- package/node_modules/@comis/daemon/dist/wiring/setup-heartbeat.js +10 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-memory.d.ts +2 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-memory.js +15 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-schedulers.js +1 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-shutdown.d.ts +1 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-shutdown.js +4 -0
- package/node_modules/@comis/daemon/package.json +1 -1
- package/node_modules/@comis/gateway/package.json +1 -1
- package/node_modules/@comis/infra/package.json +1 -1
- package/node_modules/@comis/memory/package.json +1 -1
- package/node_modules/@comis/scheduler/dist/cron/cron-types.d.ts +11 -0
- package/node_modules/@comis/scheduler/dist/cron/cron-types.js +11 -0
- package/node_modules/@comis/scheduler/dist/heartbeat/agent-heartbeat-source.d.ts +26 -1
- package/node_modules/@comis/scheduler/dist/heartbeat/agent-heartbeat-source.js +23 -2
- package/node_modules/@comis/scheduler/dist/heartbeat/heartbeat-config.d.ts +7 -0
- package/node_modules/@comis/scheduler/dist/heartbeat/heartbeat-config.js +2 -0
- package/node_modules/@comis/scheduler/package.json +1 -1
- package/node_modules/@comis/shared/package.json +1 -1
- package/node_modules/@comis/skills/dist/builtin/platform/gateway-tool.d.ts +1 -1
- package/node_modules/@comis/skills/dist/index.d.ts +1 -1
- package/node_modules/@comis/skills/dist/index.js +1 -1
- package/node_modules/@comis/skills/dist/policy/tool-policy.js +25 -0
- package/node_modules/@comis/skills/package.json +1 -1
- package/package.json +12 -12
|
@@ -23,5 +23,12 @@ export interface EffectiveHeartbeatConfig {
|
|
|
23
23
|
alertCooldownMs?: number;
|
|
24
24
|
/** Max ms a heartbeat tick can run before stuck detection */
|
|
25
25
|
staleMs?: number;
|
|
26
|
+
/** Per-agent heartbeat tool policy override. Opt-in.
|
|
27
|
+
* Resolution order: config.toolPolicy > agentConfig.toolPolicy > passthrough. */
|
|
28
|
+
toolPolicy?: {
|
|
29
|
+
profile: string;
|
|
30
|
+
allow: string[];
|
|
31
|
+
deny: string[];
|
|
32
|
+
};
|
|
26
33
|
}
|
|
27
34
|
export declare function resolveEffectiveHeartbeatConfig(global: HeartbeatConfig, perAgent?: PerAgentHeartbeatConfig): EffectiveHeartbeatConfig;
|
|
@@ -15,5 +15,7 @@ export function resolveEffectiveHeartbeatConfig(global, perAgent) {
|
|
|
15
15
|
alertThreshold: perAgent?.alertThreshold ?? global.alertThreshold,
|
|
16
16
|
alertCooldownMs: perAgent?.alertCooldownMs ?? global.alertCooldownMs,
|
|
17
17
|
staleMs: perAgent?.staleMs ?? global.staleMs,
|
|
18
|
+
// Heartbeat tool policy is per-agent only (no global counterpart). Opt-in.
|
|
19
|
+
toolPolicy: perAgent?.toolPolicy,
|
|
18
20
|
};
|
|
19
21
|
}
|
|
@@ -21,7 +21,7 @@ import type { RpcCall } from "./cron-tool.js";
|
|
|
21
21
|
export declare const GATEWAY_ACTIONS: readonly ["read", "patch", "apply", "restart", "schema", "status", "history", "diff", "rollback", "env_set", "env_list"];
|
|
22
22
|
export type GatewayAction = typeof GATEWAY_ACTIONS[number];
|
|
23
23
|
declare const GatewayToolParams: import("@sinclair/typebox").TObject<{
|
|
24
|
-
action: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"
|
|
24
|
+
action: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"read" | "status" | "patch" | "apply" | "restart" | "schema" | "history" | "diff" | "rollback" | "env_set" | "env_list">[]>;
|
|
25
25
|
section: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
26
26
|
key: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
27
27
|
value: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnknown>;
|
|
@@ -58,5 +58,5 @@ export type { PdfPageRenderer } from "./integrations/document/pdf-page-renderer.
|
|
|
58
58
|
export { createCompositeFileExtractor } from "./integrations/document/composite-extractor.js";
|
|
59
59
|
export { createImageGenProvider, createImageGenRateLimiter } from "./integrations/image-gen/index.js";
|
|
60
60
|
export type { ImageGenRateLimiter } from "./integrations/image-gen/index.js";
|
|
61
|
-
export { TOOL_PROFILES, TOOL_GROUPS } from "./policy/index.js";
|
|
61
|
+
export { applyToolPolicy, expandGroups, TOOL_PROFILES, TOOL_GROUPS } from "./policy/index.js";
|
|
62
62
|
export type { ToolFilterReason, ToolPolicyResult } from "./policy/index.js";
|
|
@@ -110,4 +110,4 @@ export { createCompositeFileExtractor } from "./integrations/document/composite-
|
|
|
110
110
|
// Image generation (provider adapters, factory, rate limiter)
|
|
111
111
|
export { createImageGenProvider, createImageGenRateLimiter } from "./integrations/image-gen/index.js";
|
|
112
112
|
// Tool policy (profiles and groups for tool filtering)
|
|
113
|
-
export { TOOL_PROFILES, TOOL_GROUPS } from "./policy/index.js";
|
|
113
|
+
export { applyToolPolicy, expandGroups, TOOL_PROFILES, TOOL_GROUPS } from "./policy/index.js";
|
|
@@ -40,6 +40,31 @@ export const TOOL_PROFILES = {
|
|
|
40
40
|
"mcp_manage",
|
|
41
41
|
"heartbeat_manage",
|
|
42
42
|
],
|
|
43
|
+
/**
|
|
44
|
+
* Conservative presets for non-interactive operations.
|
|
45
|
+
*
|
|
46
|
+
* Opt-in via `toolPolicy: { profile: "cron-minimal" }` on a `CronJob` or
|
|
47
|
+
* `toolPolicy: { profile: "heartbeat-minimal" }` on heartbeat config. The
|
|
48
|
+
* `*-minimal` suffix signals "opinionated narrow default, expect to `allow`
|
|
49
|
+
* extras per job" -- never applied as a silent default at the call site.
|
|
50
|
+
*/
|
|
51
|
+
"cron-minimal": [
|
|
52
|
+
"web_search",
|
|
53
|
+
"message",
|
|
54
|
+
"read_file",
|
|
55
|
+
"write_file",
|
|
56
|
+
"list_dir",
|
|
57
|
+
"memory_store",
|
|
58
|
+
"memory_search",
|
|
59
|
+
"cron",
|
|
60
|
+
"discover",
|
|
61
|
+
],
|
|
62
|
+
"heartbeat-minimal": [
|
|
63
|
+
"message",
|
|
64
|
+
"memory_store",
|
|
65
|
+
"memory_search",
|
|
66
|
+
"discover",
|
|
67
|
+
],
|
|
43
68
|
full: [], // empty = all tools allowed
|
|
44
69
|
};
|
|
45
70
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "comisai",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.15",
|
|
4
4
|
"author": "Moshe Anconina",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"description": "Security-first AI agent platform — connects AI agents to Discord, Telegram, Slack, WhatsApp, and more",
|
|
@@ -115,17 +115,17 @@
|
|
|
115
115
|
"@comis/daemon"
|
|
116
116
|
],
|
|
117
117
|
"dependencies": {
|
|
118
|
-
"@comis/shared": "1.0.
|
|
119
|
-
"@comis/core": "1.0.
|
|
120
|
-
"@comis/infra": "1.0.
|
|
121
|
-
"@comis/memory": "1.0.
|
|
122
|
-
"@comis/gateway": "1.0.
|
|
123
|
-
"@comis/skills": "1.0.
|
|
124
|
-
"@comis/scheduler": "1.0.
|
|
125
|
-
"@comis/agent": "1.0.
|
|
126
|
-
"@comis/channels": "1.0.
|
|
127
|
-
"@comis/cli": "1.0.
|
|
128
|
-
"@comis/daemon": "1.0.
|
|
118
|
+
"@comis/shared": "1.0.15",
|
|
119
|
+
"@comis/core": "1.0.15",
|
|
120
|
+
"@comis/infra": "1.0.15",
|
|
121
|
+
"@comis/memory": "1.0.15",
|
|
122
|
+
"@comis/gateway": "1.0.15",
|
|
123
|
+
"@comis/skills": "1.0.15",
|
|
124
|
+
"@comis/scheduler": "1.0.15",
|
|
125
|
+
"@comis/agent": "1.0.15",
|
|
126
|
+
"@comis/channels": "1.0.15",
|
|
127
|
+
"@comis/cli": "1.0.15",
|
|
128
|
+
"@comis/daemon": "1.0.15",
|
|
129
129
|
"@agentclientprotocol/sdk": "^0.15.0",
|
|
130
130
|
"@clack/core": "^1.1.0",
|
|
131
131
|
"@clack/prompts": "^1.1.0",
|