comisai 1.0.13 → 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.
Files changed (52) hide show
  1. package/node_modules/@comis/agent/dist/bootstrap/index.d.ts +1 -1
  2. package/node_modules/@comis/agent/dist/bootstrap/index.js +1 -1
  3. package/node_modules/@comis/agent/dist/bootstrap/sections/core-sections.js +4 -1
  4. package/node_modules/@comis/agent/dist/bootstrap/system-prompt-assembler.d.ts +26 -0
  5. package/node_modules/@comis/agent/dist/bootstrap/system-prompt-assembler.js +86 -54
  6. package/node_modules/@comis/agent/dist/bootstrap/types.d.ts +8 -2
  7. package/node_modules/@comis/agent/dist/bootstrap/workspace-loader.d.ts +12 -0
  8. package/node_modules/@comis/agent/dist/bootstrap/workspace-loader.js +21 -0
  9. package/node_modules/@comis/agent/dist/executor/executor-tool-assembly.js +2 -0
  10. package/node_modules/@comis/agent/dist/executor/prompt-assembly.d.ts +8 -1
  11. package/node_modules/@comis/agent/dist/executor/prompt-assembly.js +25 -5
  12. package/node_modules/@comis/agent/dist/session/comis-session-manager.js +7 -2
  13. package/node_modules/@comis/agent/package.json +1 -1
  14. package/node_modules/@comis/channels/package.json +1 -1
  15. package/node_modules/@comis/cli/dist/doctor/checks/channel-health.js +2 -2
  16. package/node_modules/@comis/cli/dist/wizard/index.d.ts +2 -3
  17. package/node_modules/@comis/cli/dist/wizard/index.js +2 -3
  18. package/node_modules/@comis/cli/dist/wizard/steps/10-write-config.js +1 -1
  19. package/node_modules/@comis/cli/dist/wizard/types.d.ts +1 -2
  20. package/node_modules/@comis/cli/dist/wizard/types.js +1 -2
  21. package/node_modules/@comis/cli/package.json +1 -1
  22. package/node_modules/@comis/core/dist/config/schema-agent.d.ts +54 -10
  23. package/node_modules/@comis/core/dist/config/schema-agent.js +11 -0
  24. package/node_modules/@comis/core/dist/config/schema.d.ts +19 -14
  25. package/node_modules/@comis/core/dist/event-bus/events-infra.d.ts +8 -0
  26. package/node_modules/@comis/core/package.json +1 -1
  27. package/node_modules/@comis/daemon/dist/daemon.js +2 -1
  28. package/node_modules/@comis/daemon/dist/wiring/setup-channels.js +20 -3
  29. package/node_modules/@comis/daemon/dist/wiring/setup-heartbeat.js +10 -0
  30. package/node_modules/@comis/daemon/dist/wiring/setup-memory.d.ts +2 -0
  31. package/node_modules/@comis/daemon/dist/wiring/setup-memory.js +15 -0
  32. package/node_modules/@comis/daemon/dist/wiring/setup-schedulers.js +1 -0
  33. package/node_modules/@comis/daemon/dist/wiring/setup-shutdown.d.ts +1 -0
  34. package/node_modules/@comis/daemon/dist/wiring/setup-shutdown.js +4 -0
  35. package/node_modules/@comis/daemon/package.json +1 -1
  36. package/node_modules/@comis/gateway/package.json +1 -1
  37. package/node_modules/@comis/infra/package.json +1 -1
  38. package/node_modules/@comis/memory/package.json +1 -1
  39. package/node_modules/@comis/scheduler/dist/cron/cron-types.d.ts +11 -0
  40. package/node_modules/@comis/scheduler/dist/cron/cron-types.js +11 -0
  41. package/node_modules/@comis/scheduler/dist/heartbeat/agent-heartbeat-source.d.ts +26 -1
  42. package/node_modules/@comis/scheduler/dist/heartbeat/agent-heartbeat-source.js +23 -2
  43. package/node_modules/@comis/scheduler/dist/heartbeat/heartbeat-config.d.ts +7 -0
  44. package/node_modules/@comis/scheduler/dist/heartbeat/heartbeat-config.js +2 -0
  45. package/node_modules/@comis/scheduler/package.json +1 -1
  46. package/node_modules/@comis/shared/package.json +1 -1
  47. package/node_modules/@comis/skills/dist/builtin/platform/gateway-tool.d.ts +1 -1
  48. package/node_modules/@comis/skills/dist/index.d.ts +1 -1
  49. package/node_modules/@comis/skills/dist/index.js +1 -1
  50. package/node_modules/@comis/skills/dist/policy/tool-policy.js +25 -0
  51. package/node_modules/@comis/skills/package.json +1 -1
  52. 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
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@comis/scheduler",
3
3
  "private": true,
4
- "version": "1.0.13",
4
+ "version": "1.0.15",
5
5
  "author": "Moshe Anconina",
6
6
  "license": "Apache-2.0",
7
7
  "description": "Task scheduling and cron management for Comis",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@comis/shared",
3
3
  "private": true,
4
- "version": "1.0.13",
4
+ "version": "1.0.15",
5
5
  "author": "Moshe Anconina",
6
6
  "license": "Apache-2.0",
7
7
  "description": "Shared types and utilities for the Comis platform",
@@ -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<"status" | "read" | "patch" | "apply" | "restart" | "schema" | "history" | "diff" | "rollback" | "env_set" | "env_list">[]>;
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
  /**
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@comis/skills",
3
3
  "private": true,
4
- "version": "1.0.13",
4
+ "version": "1.0.15",
5
5
  "author": "Moshe Anconina",
6
6
  "license": "Apache-2.0",
7
7
  "description": "Skill system, MCP integration, and tool sandbox for Comis agents",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "comisai",
3
- "version": "1.0.13",
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.13",
119
- "@comis/core": "1.0.13",
120
- "@comis/infra": "1.0.13",
121
- "@comis/memory": "1.0.13",
122
- "@comis/gateway": "1.0.13",
123
- "@comis/skills": "1.0.13",
124
- "@comis/scheduler": "1.0.13",
125
- "@comis/agent": "1.0.13",
126
- "@comis/channels": "1.0.13",
127
- "@comis/cli": "1.0.13",
128
- "@comis/daemon": "1.0.13",
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",