@lobu/core 7.1.0 → 8.0.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/capabilities.d.ts +1 -1
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +1 -0
- package/dist/capabilities.js.map +1 -1
- package/dist/index.d.ts +8 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -7
- package/dist/index.js.map +1 -1
- package/dist/lobu-guidance.d.ts +5 -0
- package/dist/lobu-guidance.d.ts.map +1 -0
- package/dist/lobu-guidance.js +51 -0
- package/dist/lobu-guidance.js.map +1 -0
- package/dist/lobu-toml-schema.d.ts +49 -0
- package/dist/lobu-toml-schema.d.ts.map +1 -1
- package/dist/lobu-toml-schema.js +48 -0
- package/dist/lobu-toml-schema.js.map +1 -1
- package/dist/modules.d.ts +1 -47
- package/dist/modules.d.ts.map +1 -1
- package/dist/modules.js +0 -74
- package/dist/modules.js.map +1 -1
- package/dist/types.d.ts +38 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/encryption.d.ts +21 -0
- package/dist/utils/encryption.d.ts.map +1 -1
- package/dist/utils/encryption.js +50 -12
- package/dist/utils/encryption.js.map +1 -1
- package/dist/utils/session-file.d.ts +86 -0
- package/dist/utils/session-file.d.ts.map +1 -0
- package/dist/utils/session-file.js +104 -0
- package/dist/utils/session-file.js.map +1 -0
- package/dist/worker/auth.d.ts +18 -0
- package/dist/worker/auth.d.ts.map +1 -1
- package/dist/worker/auth.js +13 -0
- package/dist/worker/auth.js.map +1 -1
- package/dist/worker/transport.d.ts +0 -5
- package/dist/worker/transport.d.ts.map +1 -1
- package/dist/worker/wire.d.ts +105 -0
- package/dist/worker/wire.d.ts.map +1 -0
- package/dist/worker/wire.js +18 -0
- package/dist/worker/wire.js.map +1 -0
- package/package.json +1 -1
package/dist/capabilities.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type DevicePlatform = "macos" | "ios" | "chrome-extension" | (string & {});
|
|
2
|
-
export declare const BROWSER_CAPABILITIES: readonly ["browser.tabs", "browser.scripting", "browser.history", "browser.bookmarks", "browser.debugger"];
|
|
2
|
+
export declare const BROWSER_CAPABILITIES: readonly ["browser.tabs", "browser.scripting", "browser.history", "browser.bookmarks", "browser.downloads", "browser.debugger"];
|
|
3
3
|
export declare const OS_CAPABILITIES: readonly ["os.shell", "os.files", "os.notifications"];
|
|
4
4
|
export declare const IOS_CAPABILITIES: readonly ["ios.notifications", "ios.share-sheet", "ios.files"];
|
|
5
5
|
export declare const MAC_DEVICE_CAPABILITIES: readonly ["screentime", "local_directory", "healthkit", "photos", "whatsapp_local"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,KAAK,GACL,kBAAkB,GAClB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAIlB,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,KAAK,GACL,kBAAkB,GAClB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAIlB,eAAO,MAAM,oBAAoB,iIAQvB,CAAC;AAEX,eAAO,MAAM,eAAe,uDAIlB,CAAC;AAEX,eAAO,MAAM,gBAAgB,gEAInB,CAAC;AAMX,eAAO,MAAM,uBAAuB,qFAM1B,CAAC;AAYX,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAOD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,6BAA6B,CAgB/B;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE5E"}
|
package/dist/capabilities.js
CHANGED
package/dist/capabilities.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":";AAAA,2DAA2D;AAC3D,EAAE;AACF,2EAA2E;AAC3E,0EAA0E;AAC1E,4EAA4E;AAC5E,yEAAyE;AACzE,4EAA4E;AAC5E,2EAA2E;AAC3E,4BAA4B;AAC5B,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,uDAAuD;;;
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":";AAAA,2DAA2D;AAC3D,EAAE;AACF,2EAA2E;AAC3E,0EAA0E;AAC1E,4EAA4E;AAC5E,yEAAyE;AACzE,4EAA4E;AAC5E,2EAA2E;AAC3E,4BAA4B;AAC5B,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,uDAAuD;;;AAgEvD,sDAmBC;AAED,0CAEC;AA/ED,6EAA6E;AAC7E,oDAAoD;AACvC,QAAA,oBAAoB,GAAG;IAClC,cAAc;IACd,mBAAmB;IACnB,iBAAiB;IACjB,mBAAmB;IACnB,mBAAmB;IACnB,kBAAkB;IAClB,wEAAwE;CAChE,CAAC;AAEE,QAAA,eAAe,GAAG;IAC7B,UAAU;IACV,UAAU;IACV,kBAAkB;CACV,CAAC;AAEE,QAAA,gBAAgB,GAAG;IAC9B,mBAAmB;IACnB,iBAAiB;IACjB,WAAW;CACH,CAAC;AAEX,0FAA0F;AAC1F,qEAAqE;AACrE,wEAAwE;AACxE,6BAA6B;AAChB,QAAA,uBAAuB,GAAG;IACrC,YAAY;IACZ,iBAAiB;IACjB,WAAW;IACX,QAAQ;IACR,gBAAgB;CACR,CAAC;AAEX,MAAM,kBAAkB,GAAsC;IAC5D,KAAK,EAAE;QACL,GAAG,uBAAe;QAClB,GAAG,4BAAoB;QACvB,GAAG,+BAAuB;KAC3B;IACD,GAAG,EAAE,wBAAgB;IACrB,kBAAkB,EAAE,4BAAoB;CACzC,CAAC;AAOF,8EAA8E;AAC9E,6EAA6E;AAC7E,wEAAwE;AACxE,6EAA6E;AAC7E,kDAAkD;AAClD,SAAgB,qBAAqB,CACnC,QAAmC,EACnC,QAA2B;IAE3B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;IACpD,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAED,SAAgB,eAAe,CAAC,QAAmC;IACjE,OAAO,CAAC,CAAC,QAAQ,IAAI,QAAQ,IAAI,kBAAkB,CAAC;AACtD,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,17 +3,17 @@ export * from "./agent-policy";
|
|
|
3
3
|
export type { AgentAccessStore, AgentConfigStore, AgentConnectionStore, AgentMetadata, AgentSettings, AgentStore, ChannelBinding, ConnectionSettings, Grant, GrantKind, StoredConnection, } from "./agent-store";
|
|
4
4
|
export { inferGrantKind } from "./agent-store";
|
|
5
5
|
export type { AgentConfigResponse, AgentInfo, CatalogProvider, Connection, McpConfig, ModelOption, PermissionGrant, PrefillMcp, PrefillSkill, ProviderInfo, ProviderState, ProviderStatus, SettingsSnapshot, Skill, SkillMcpServerInfo, } from "./api-types";
|
|
6
|
+
export * from "./capabilities";
|
|
6
7
|
export type { CommandContext, CommandDefinition } from "./command-registry";
|
|
7
8
|
export { CommandRegistry } from "./command-registry";
|
|
8
|
-
export { BaseInstructionProvider } from "./instruction-provider";
|
|
9
|
-
export * from "./capabilities";
|
|
10
9
|
export * from "./constants";
|
|
11
|
-
export * from "./guardrails";
|
|
12
10
|
export * from "./errors";
|
|
11
|
+
export * from "./guardrails";
|
|
12
|
+
export { BaseInstructionProvider } from "./instruction-provider";
|
|
13
13
|
export type { ProviderRegistryEntry, ProvidersConfigFile, } from "./integration-types";
|
|
14
|
-
export {
|
|
14
|
+
export { renderFallbackSystemContext, renderSkillMemorySection, } from "./lobu-guidance";
|
|
15
|
+
export { type AgentEntry as TomlAgentEntry, type EgressEntry as TomlEgressEntry, type LobuTomlConfig, lobuConfigSchema, type McpServerEntry as TomlMcpServerEntry, type MemoryEntry as TomlMemoryEntry, type NetworkEntry as TomlNetworkEntry, type PlatformEntry as TomlPlatformEntry, type ProviderEntry as TomlProviderEntry, type SkillsEntry as TomlSkillsEntry, type ToolsEntry, type ToolsEntry as TomlToolsEntry, type WorkerEntry as TomlWorkerEntry, } from "./lobu-toml-schema";
|
|
15
16
|
export * from "./logger";
|
|
16
|
-
export type { ActionButton, ModuleSessionContext } from "./modules";
|
|
17
17
|
export * from "./modules";
|
|
18
18
|
export type { OtelConfig, Span, Tracer } from "./otel";
|
|
19
19
|
export { createChildSpan, createRootSpan, createSpan, flushTracing, getCurrentSpan, getTraceparent, getTracer, initTracing, runInSpanContext, SpanKind, SpanStatusCode, shutdownTracing, withChildSpan, withSpan, } from "./otel";
|
|
@@ -22,7 +22,7 @@ export type { ConfigProviderMeta, ProviderConfigEntry, } from "./provider-config
|
|
|
22
22
|
export * from "./secret-refs";
|
|
23
23
|
export { getSentry, initSentry } from "./sentry";
|
|
24
24
|
export { extractTraceId, generateTraceId } from "./trace";
|
|
25
|
-
export type { AgentEgressConfig, AgentMcpConfig, AgentOptions, AuthProfile, CliBackendConfig, ConversationMessage, DeclaredCredential, DomainJudgeRule, HistoryMessage, InstalledProvider, InstructionContext, InstructionProvider, LogLevel, McpOAuthConfig, McpServerConfig, ModelSelectionMode, ModelSelectionState, NetworkConfig, NixConfig, ProviderModelPreferences, RegistryEntry, SessionContext, SkillConfig, SkillMcpServer, SkillsConfig, SuggestedPrompt, ThinkingLevel, ThreadResponsePayload, ToolsConfig, UserSuggestion, } from "./types";
|
|
25
|
+
export type { AgentEgressConfig, AgentMcpConfig, AgentOptions, AuthProfile, CliBackendConfig, ConversationMessage, DeclaredCredential, DomainJudgeRule, HistoryMessage, InstalledProvider, InstructionContext, InstructionProvider, LogLevel, McpOAuthConfig, McpServerConfig, ModelSelectionMode, ModelSelectionState, NetworkConfig, NixConfig, ProviderModelPreferences, RegistryEntry, SessionContext, SkillConfig, SkillMcpServer, SkillPreToolGuardrail, SkillsConfig, SuggestedPrompt, ThinkingLevel, ThreadResponsePayload, ToolsConfig, UserSuggestion, } from "./types";
|
|
26
26
|
export { hasCredentialSource } from "./types";
|
|
27
27
|
export type { BaseMessage } from "./types/message";
|
|
28
28
|
export * from "./utils/encryption";
|
|
@@ -33,7 +33,9 @@ export type { McpStatus, McpToolDef } from "./utils/mcp-tool-instructions";
|
|
|
33
33
|
export * from "./utils/network-domains";
|
|
34
34
|
export * from "./utils/retry";
|
|
35
35
|
export * from "./utils/sanitize";
|
|
36
|
+
export { entryToMessage, type ParsedMessage, parseSessionEntries, type SessionEntry, } from "./utils/session-file";
|
|
36
37
|
export * from "./utils/urls";
|
|
37
38
|
export * from "./worker/auth";
|
|
38
39
|
export type { WorkerTransport, WorkerTransportConfig, } from "./worker/transport";
|
|
40
|
+
export type { JobType, MessagePayload, QueuedMessage } from "./worker/wire";
|
|
39
41
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAIA,cAAc,gBAAgB,CAAC;AAE/B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,KAAK,EACL,SAAS,EACT,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,YAAY,EACV,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,UAAU,EACV,SAAS,EACT,WAAW,EACX,eAAe,EACf,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,KAAK,EACL,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -16,26 +16,34 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
17
17
|
};
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.hasCredentialSource = exports.generateTraceId = exports.extractTraceId = exports.initSentry = exports.getSentry = exports.withSpan = exports.withChildSpan = exports.shutdownTracing = exports.SpanStatusCode = exports.SpanKind = exports.runInSpanContext = exports.initTracing = exports.getTracer = exports.getTraceparent = exports.getCurrentSpan = exports.flushTracing = exports.createSpan = exports.createRootSpan = exports.createChildSpan = exports.lobuConfigSchema = exports.BaseInstructionProvider = exports.CommandRegistry = exports.inferGrantKind = void 0;
|
|
19
|
+
exports.parseSessionEntries = exports.entryToMessage = exports.hasCredentialSource = exports.generateTraceId = exports.extractTraceId = exports.initSentry = exports.getSentry = exports.withSpan = exports.withChildSpan = exports.shutdownTracing = exports.SpanStatusCode = exports.SpanKind = exports.runInSpanContext = exports.initTracing = exports.getTracer = exports.getTraceparent = exports.getCurrentSpan = exports.flushTracing = exports.createSpan = exports.createRootSpan = exports.createChildSpan = exports.lobuConfigSchema = exports.renderSkillMemorySection = exports.renderFallbackSystemContext = exports.BaseInstructionProvider = exports.CommandRegistry = exports.inferGrantKind = void 0;
|
|
20
20
|
__exportStar(require("./agent-policy"), exports);
|
|
21
21
|
var agent_store_1 = require("./agent-store");
|
|
22
22
|
Object.defineProperty(exports, "inferGrantKind", { enumerable: true, get: function () { return agent_store_1.inferGrantKind; } });
|
|
23
|
+
__exportStar(require("./capabilities"), exports);
|
|
23
24
|
// Command registry
|
|
24
25
|
var command_registry_1 = require("./command-registry");
|
|
25
26
|
Object.defineProperty(exports, "CommandRegistry", { enumerable: true, get: function () { return command_registry_1.CommandRegistry; } });
|
|
26
|
-
// Shared base for InstructionProvider implementations (server + worker)
|
|
27
|
-
var instruction_provider_1 = require("./instruction-provider");
|
|
28
|
-
Object.defineProperty(exports, "BaseInstructionProvider", { enumerable: true, get: function () { return instruction_provider_1.BaseInstructionProvider; } });
|
|
29
|
-
__exportStar(require("./capabilities"), exports);
|
|
30
27
|
__exportStar(require("./constants"), exports);
|
|
31
|
-
// Guardrail primitive (type + registry + parallel runner + no-op builtin)
|
|
32
|
-
__exportStar(require("./guardrails"), exports);
|
|
33
28
|
// Errors & logging
|
|
34
29
|
__exportStar(require("./errors"), exports);
|
|
30
|
+
// Guardrail primitive (type + registry + parallel runner + no-op builtin)
|
|
31
|
+
__exportStar(require("./guardrails"), exports);
|
|
32
|
+
// Shared base for InstructionProvider implementations (server + worker)
|
|
33
|
+
var instruction_provider_1 = require("./instruction-provider");
|
|
34
|
+
Object.defineProperty(exports, "BaseInstructionProvider", { enumerable: true, get: function () { return instruction_provider_1.BaseInstructionProvider; } });
|
|
35
|
+
// Lobu memory guidance (rendered into the OpenClaw plugin's fallback system
|
|
36
|
+
// context and into the bundled `lobu` skill's "Memory Defaults" section). Lives
|
|
37
|
+
// in core so the openclaw-plugin and the server-side skill-sync test can both
|
|
38
|
+
// import it via the package name instead of a cross-package relative path.
|
|
39
|
+
var lobu_guidance_1 = require("./lobu-guidance");
|
|
40
|
+
Object.defineProperty(exports, "renderFallbackSystemContext", { enumerable: true, get: function () { return lobu_guidance_1.renderFallbackSystemContext; } });
|
|
41
|
+
Object.defineProperty(exports, "renderSkillMemorySection", { enumerable: true, get: function () { return lobu_guidance_1.renderSkillMemorySection; } });
|
|
35
42
|
// lobu.toml zod schema (canonical — used by CLI and gateway)
|
|
36
43
|
var lobu_toml_schema_1 = require("./lobu-toml-schema");
|
|
37
44
|
Object.defineProperty(exports, "lobuConfigSchema", { enumerable: true, get: function () { return lobu_toml_schema_1.lobuConfigSchema; } });
|
|
38
45
|
__exportStar(require("./logger"), exports);
|
|
46
|
+
// Module system
|
|
39
47
|
__exportStar(require("./modules"), exports);
|
|
40
48
|
// OpenTelemetry tracing
|
|
41
49
|
var otel_1 = require("./otel");
|
|
@@ -71,6 +79,10 @@ __exportStar(require("./utils/lock"), exports);
|
|
|
71
79
|
__exportStar(require("./utils/network-domains"), exports);
|
|
72
80
|
__exportStar(require("./utils/retry"), exports);
|
|
73
81
|
__exportStar(require("./utils/sanitize"), exports);
|
|
82
|
+
// Shared OpenClaw session.jsonl parser (gateway + worker).
|
|
83
|
+
var session_file_1 = require("./utils/session-file");
|
|
84
|
+
Object.defineProperty(exports, "entryToMessage", { enumerable: true, get: function () { return session_file_1.entryToMessage; } });
|
|
85
|
+
Object.defineProperty(exports, "parseSessionEntries", { enumerable: true, get: function () { return session_file_1.parseSessionEntries; } });
|
|
74
86
|
__exportStar(require("./utils/urls"), exports);
|
|
75
87
|
__exportStar(require("./worker/auth"), exports);
|
|
76
88
|
//# 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":";;AAEA,4EAA4E;;;;;;;;;;;;;;;;;AAE5E,iDAA+B;AAe/B,6CAA+C;AAAtC,6GAAA,cAAc,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA,4EAA4E;;;;;;;;;;;;;;;;;AAE5E,iDAA+B;AAe/B,6CAA+C;AAAtC,6GAAA,cAAc,OAAA;AAmBvB,iDAA+B;AAE/B,mBAAmB;AACnB,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AACxB,8CAA4B;AAC5B,mBAAmB;AACnB,2CAAyB;AACzB,0EAA0E;AAC1E,+CAA6B;AAC7B,wEAAwE;AACxE,+DAAiE;AAAxD,+HAAA,uBAAuB,OAAA;AAMhC,4EAA4E;AAC5E,gFAAgF;AAChF,8EAA8E;AAC9E,2EAA2E;AAC3E,iDAGyB;AAFvB,4HAAA,2BAA2B,OAAA;AAC3B,yHAAA,wBAAwB,OAAA;AAE1B,6DAA6D;AAC7D,uDAc4B;AAV1B,oHAAA,gBAAgB,OAAA;AAWlB,2CAAyB;AACzB,gBAAgB;AAChB,4CAA0B;AAE1B,wBAAwB;AACxB,+BAegB;AAdd,uGAAA,eAAe,OAAA;AACf,sGAAA,cAAc,OAAA;AACd,kGAAA,UAAU,OAAA;AACV,oGAAA,YAAY,OAAA;AACZ,sGAAA,cAAc,OAAA;AACd,sGAAA,cAAc,OAAA;AACd,iGAAA,SAAS,OAAA;AACT,mGAAA,WAAW,OAAA;AACX,wGAAA,gBAAgB,OAAA;AAChB,gGAAA,QAAQ,OAAA;AACR,sGAAA,cAAc,OAAA;AACd,uGAAA,eAAe,OAAA;AACf,qGAAA,aAAa,OAAA;AACb,gGAAA,QAAQ,OAAA;AAeV,gDAA8B;AAC9B,gBAAgB;AAChB,mCAAiD;AAAxC,mGAAA,SAAS,OAAA;AAAE,oGAAA,UAAU,OAAA;AAC9B,iCAA0D;AAAjD,uGAAA,cAAc,OAAA;AAAE,wGAAA,eAAe,OAAA;AAmCxC,iCAA8C;AAArC,4GAAA,mBAAmB,OAAA;AAI5B,YAAY;AACZ,qDAAmC;AACnC,8CAA4B;AAC5B,+CAA6B;AAC7B,+CAA6B;AAE7B,0DAAwC;AACxC,gDAA8B;AAC9B,mDAAiC;AACjC,2DAA2D;AAC3D,qDAK8B;AAJ5B,8GAAA,cAAc,OAAA;AAEd,mHAAA,mBAAmB,OAAA;AAGrB,+CAA6B;AAC7B,gDAA8B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lobu-guidance.d.ts","sourceRoot":"","sources":["../src/lobu-guidance.ts"],"names":[],"mappings":"AA8BA,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,MAAM,CAkBT;AAED,wBAAgB,wBAAwB,IAAI,MAAM,CAYjD"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.renderFallbackSystemContext = renderFallbackSystemContext;
|
|
4
|
+
exports.renderSkillMemorySection = renderSkillMemorySection;
|
|
5
|
+
const MEMORY_INTRO = "Your long-term memory is powered by Lobu. Do NOT use local files (memory/, MEMORY.md) for memory.";
|
|
6
|
+
const MEMORY_RULE_TEMPLATES = [
|
|
7
|
+
"Lobu automatically recalls relevant memories when you receive a message.",
|
|
8
|
+
"To save something, call {{saveTool}} with the content and an appropriate semantic_type.",
|
|
9
|
+
"To search, call {{searchTool}}. Results include view_url links to the web interface.",
|
|
10
|
+
"NEVER construct Lobu URLs yourself. When the user asks for a link, call {{searchTool}} to get the correct view_url.",
|
|
11
|
+
'When the user says "remember this", save it to Lobu immediately.',
|
|
12
|
+
];
|
|
13
|
+
function renderTemplate(template, tools) {
|
|
14
|
+
// Use regex /g instead of String.prototype.replaceAll so this file compiles
|
|
15
|
+
// against core's ES2020 lib (replaceAll lands in ES2021).
|
|
16
|
+
return template
|
|
17
|
+
.replace(/\{\{saveTool\}\}/g, tools.saveTool)
|
|
18
|
+
.replace(/\{\{searchTool\}\}/g, tools.searchTool);
|
|
19
|
+
}
|
|
20
|
+
function renderLobuMemoryGuidance(tools) {
|
|
21
|
+
return MEMORY_RULE_TEMPLATES.map((template) => renderTemplate(template, tools));
|
|
22
|
+
}
|
|
23
|
+
function renderFallbackSystemContext(options) {
|
|
24
|
+
const isGateway = options?.gatewayMode === true;
|
|
25
|
+
const tools = isGateway
|
|
26
|
+
? { saveTool: "save_memory", searchTool: "search_memory" }
|
|
27
|
+
: { saveTool: "lobu_save_memory", searchTool: "lobu_search_memory" };
|
|
28
|
+
const lines = renderLobuMemoryGuidance(tools);
|
|
29
|
+
const authGuidance = isGateway
|
|
30
|
+
? "\n- If save_memory or search_memory returns an authentication error, call lobu_login to start authentication. After the user completes login, call lobu_login_check to finish."
|
|
31
|
+
: "";
|
|
32
|
+
return `<lobu-system>
|
|
33
|
+
## Memory
|
|
34
|
+
|
|
35
|
+
${MEMORY_INTRO}
|
|
36
|
+
${lines.map((line) => `- ${line}`).join("\n")}${authGuidance}
|
|
37
|
+
</lobu-system>`;
|
|
38
|
+
}
|
|
39
|
+
function renderSkillMemorySection() {
|
|
40
|
+
const lines = renderLobuMemoryGuidance({
|
|
41
|
+
saveTool: "save_memory",
|
|
42
|
+
searchTool: "search_memory",
|
|
43
|
+
});
|
|
44
|
+
return [
|
|
45
|
+
"## Memory Defaults",
|
|
46
|
+
"",
|
|
47
|
+
MEMORY_INTRO,
|
|
48
|
+
...lines.map((line) => `- ${line}`),
|
|
49
|
+
].join("\n");
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=lobu-guidance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lobu-guidance.js","sourceRoot":"","sources":["../src/lobu-guidance.ts"],"names":[],"mappings":";;AA8BA,kEAoBC;AAED,4DAYC;AA3DD,MAAM,YAAY,GAChB,mGAAmG,CAAC;AAEtG,MAAM,qBAAqB,GAAG;IAC5B,0EAA0E;IAC1E,yFAAyF;IACzF,sFAAsF;IACtF,qHAAqH;IACrH,kEAAkE;CACnE,CAAC;AAEF,SAAS,cAAc,CAAC,QAAgB,EAAE,KAA0B;IAClE,4EAA4E;IAC5E,0DAA0D;IAC1D,OAAO,QAAQ;SACZ,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC;SAC5C,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,wBAAwB,CAAC,KAA0B;IAC1D,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC5C,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAChC,CAAC;AACJ,CAAC;AAED,SAAgB,2BAA2B,CAAC,OAE3C;IACC,MAAM,SAAS,GAAG,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAChD,MAAM,KAAK,GAAwB,SAAS;QAC1C,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE;QAC1D,CAAC,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;IAEvE,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAE9C,MAAM,YAAY,GAAG,SAAS;QAC5B,CAAC,CAAC,gLAAgL;QAClL,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;EAGP,YAAY;EACZ,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY;eAC7C,CAAC;AAChB,CAAC;AAED,SAAgB,wBAAwB;IACtC,MAAM,KAAK,GAAG,wBAAwB,CAAC;QACrC,QAAQ,EAAE,aAAa;QACvB,UAAU,EAAE,eAAe;KAC5B,CAAC,CAAC;IAEH,OAAO;QACL,oBAAoB;QACpB,EAAE;QACF,YAAY;QACZ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;KACpC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -96,6 +96,34 @@ declare const egressSchema: z.ZodObject<{
|
|
|
96
96
|
extra_policy: z.ZodOptional<z.ZodString>;
|
|
97
97
|
judge_model: z.ZodOptional<z.ZodString>;
|
|
98
98
|
}, z.core.$strip>;
|
|
99
|
+
/**
|
|
100
|
+
* Inline guardrail declared in `lobu.toml` as an array of `[[agents.<id>.guardrails_inline]]`
|
|
101
|
+
* tables. Sibling to the name-based `guardrails = ["secret-scan", ...]` list —
|
|
102
|
+
* use this when you want to attach an ad-hoc LLM-judge guardrail without
|
|
103
|
+
* registering a named guardrail at gateway boot.
|
|
104
|
+
*
|
|
105
|
+
* Example:
|
|
106
|
+
* [[agents.<id>.guardrails_inline]]
|
|
107
|
+
* stage = "output"
|
|
108
|
+
* judge = "Never mention competitors."
|
|
109
|
+
*
|
|
110
|
+
* [[agents.<id>.guardrails_inline]]
|
|
111
|
+
* stage = "pre-tool"
|
|
112
|
+
* tools = ["github.delete_repo"]
|
|
113
|
+
* judge = "Only allow when issue ref matches active sprint."
|
|
114
|
+
*
|
|
115
|
+
* `tools` is only meaningful for `pre-tool` and is silently ignored for
|
|
116
|
+
* other stages.
|
|
117
|
+
*/
|
|
118
|
+
declare const guardrailInlineSchema: z.ZodObject<{
|
|
119
|
+
stage: z.ZodEnum<{
|
|
120
|
+
input: "input";
|
|
121
|
+
output: "output";
|
|
122
|
+
"pre-tool": "pre-tool";
|
|
123
|
+
}>;
|
|
124
|
+
judge: z.ZodString;
|
|
125
|
+
tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
126
|
+
}, z.core.$strip>;
|
|
99
127
|
declare const toolsSchema: z.ZodObject<{
|
|
100
128
|
pre_approved: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
101
129
|
allowed: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -183,6 +211,16 @@ declare const agentEntrySchema: z.ZodObject<{
|
|
|
183
211
|
strict: z.ZodOptional<z.ZodBoolean>;
|
|
184
212
|
}, z.core.$strip>>;
|
|
185
213
|
guardrails: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
214
|
+
guardrails_disabled: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
215
|
+
guardrails_inline: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
216
|
+
stage: z.ZodEnum<{
|
|
217
|
+
input: "input";
|
|
218
|
+
output: "output";
|
|
219
|
+
"pre-tool": "pre-tool";
|
|
220
|
+
}>;
|
|
221
|
+
judge: z.ZodString;
|
|
222
|
+
tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
223
|
+
}, z.core.$strip>>>;
|
|
186
224
|
worker: z.ZodOptional<z.ZodObject<{
|
|
187
225
|
nix_packages: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
188
226
|
}, z.core.$strip>>;
|
|
@@ -288,6 +326,16 @@ export declare const lobuConfigSchema: z.ZodObject<{
|
|
|
288
326
|
strict: z.ZodOptional<z.ZodBoolean>;
|
|
289
327
|
}, z.core.$strip>>;
|
|
290
328
|
guardrails: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
329
|
+
guardrails_disabled: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
330
|
+
guardrails_inline: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
331
|
+
stage: z.ZodEnum<{
|
|
332
|
+
input: "input";
|
|
333
|
+
output: "output";
|
|
334
|
+
"pre-tool": "pre-tool";
|
|
335
|
+
}>;
|
|
336
|
+
judge: z.ZodString;
|
|
337
|
+
tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
338
|
+
}, z.core.$strip>>>;
|
|
291
339
|
worker: z.ZodOptional<z.ZodObject<{
|
|
292
340
|
nix_packages: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
293
341
|
}, z.core.$strip>>;
|
|
@@ -326,5 +374,6 @@ export type EgressEntry = z.infer<typeof egressSchema>;
|
|
|
326
374
|
export type ToolsEntry = z.infer<typeof toolsSchema>;
|
|
327
375
|
export type WorkerEntry = z.infer<typeof workerSchema>;
|
|
328
376
|
export type MemoryEntry = z.infer<typeof memorySchema>;
|
|
377
|
+
export type GuardrailInlineEntry = z.infer<typeof guardrailInlineSchema>;
|
|
329
378
|
export {};
|
|
330
379
|
//# sourceMappingURL=lobu-toml-schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lobu-toml-schema.d.ts","sourceRoot":"","sources":["../src/lobu-toml-schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,QAAA,MAAM,cAAc;;;;;iBAWhB,CAAC;AAIL,QAAA,MAAM,cAAc;;;;;iBA0BlB,CAAC;AAaH,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;iBAsBnB,CAAC;AAIH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;iBAEhB,CAAC;AAYH,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;GA4Bd,CAAC;AAIN,QAAA,MAAM,YAAY;;;iBAKhB,CAAC;AAmBH,QAAA,MAAM,WAAW;;;;;iBAef,CAAC;AAIH,QAAA,MAAM,YAAY;;iBAEhB,CAAC;AAuBH,QAAA,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"lobu-toml-schema.d.ts","sourceRoot":"","sources":["../src/lobu-toml-schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,QAAA,MAAM,cAAc;;;;;iBAWhB,CAAC;AAIL,QAAA,MAAM,cAAc;;;;;iBA0BlB,CAAC;AAaH,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;iBAsBnB,CAAC;AAIH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;iBAEhB,CAAC;AAYH,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;GA4Bd,CAAC;AAIN,QAAA,MAAM,YAAY;;;iBAKhB,CAAC;AAIH;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,qBAAqB;;;;;;;;iBAazB,CAAC;AAmBH,QAAA,MAAM,WAAW;;;;;iBAef,CAAC;AAIH,QAAA,MAAM,YAAY;;iBAEhB,CAAC;AAuBH,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgCpB,CAAC;AAIH,QAAA,MAAM,YAAY;;;;;;;;;;;;;kBAcP,CAAC;AAIZ,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG3B,CAAC;AAIH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC9D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC3D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC7D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACvD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACzD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACvD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACvD,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
package/dist/lobu-toml-schema.js
CHANGED
|
@@ -128,6 +128,40 @@ const egressSchema = zod_1.z.object({
|
|
|
128
128
|
/** Judge model identifier (defaults to a fast Haiku model). */
|
|
129
129
|
judge_model: zod_1.z.string().optional(),
|
|
130
130
|
});
|
|
131
|
+
// ── Guardrails (inline) ─────────────────────────────────────────────────────
|
|
132
|
+
/**
|
|
133
|
+
* Inline guardrail declared in `lobu.toml` as an array of `[[agents.<id>.guardrails_inline]]`
|
|
134
|
+
* tables. Sibling to the name-based `guardrails = ["secret-scan", ...]` list —
|
|
135
|
+
* use this when you want to attach an ad-hoc LLM-judge guardrail without
|
|
136
|
+
* registering a named guardrail at gateway boot.
|
|
137
|
+
*
|
|
138
|
+
* Example:
|
|
139
|
+
* [[agents.<id>.guardrails_inline]]
|
|
140
|
+
* stage = "output"
|
|
141
|
+
* judge = "Never mention competitors."
|
|
142
|
+
*
|
|
143
|
+
* [[agents.<id>.guardrails_inline]]
|
|
144
|
+
* stage = "pre-tool"
|
|
145
|
+
* tools = ["github.delete_repo"]
|
|
146
|
+
* judge = "Only allow when issue ref matches active sprint."
|
|
147
|
+
*
|
|
148
|
+
* `tools` is only meaningful for `pre-tool` and is silently ignored for
|
|
149
|
+
* other stages.
|
|
150
|
+
*/
|
|
151
|
+
const guardrailInlineSchema = zod_1.z.object({
|
|
152
|
+
stage: zod_1.z.enum(["input", "output", "pre-tool"]),
|
|
153
|
+
/**
|
|
154
|
+
* Inline LLM-judge policy text. Required for now — built-in references go
|
|
155
|
+
* in the sibling `guardrails = [...]` list. The judge runs through the
|
|
156
|
+
* shared TextJudge engine (Haiku + 5-min cache + circuit breaker).
|
|
157
|
+
*/
|
|
158
|
+
judge: zod_1.z.string().min(1),
|
|
159
|
+
/**
|
|
160
|
+
* Optional pre-tool narrowing. Only meaningful when `stage = "pre-tool"`.
|
|
161
|
+
* When omitted the guardrail runs on every tool call.
|
|
162
|
+
*/
|
|
163
|
+
tools: zod_1.z.array(zod_1.z.string()).optional(),
|
|
164
|
+
});
|
|
131
165
|
// ── Tools ───────────────────────────────────────────────────────────────────
|
|
132
166
|
/**
|
|
133
167
|
* Accepted `pre_approved` entry formats:
|
|
@@ -195,6 +229,20 @@ const agentEntrySchema = zod_1.z.object({
|
|
|
195
229
|
* registered in the gateway's GuardrailRegistry. See packages/core/src/guardrails.
|
|
196
230
|
*/
|
|
197
231
|
guardrails: zod_1.z.array(zod_1.z.string()).optional(),
|
|
232
|
+
/**
|
|
233
|
+
* Operator's exclude list: built-in / skill-provided guardrails that
|
|
234
|
+
* should be turned off for this agent even if a skill declared them.
|
|
235
|
+
* Names are matched against {@link Guardrail.name}, including the
|
|
236
|
+
* synthesized `inline:<stage>:<hash8>` names for inline judges from skills.
|
|
237
|
+
*/
|
|
238
|
+
guardrails_disabled: zod_1.z.array(zod_1.z.string()).optional(),
|
|
239
|
+
/**
|
|
240
|
+
* Inline guardrails declared directly on the agent (no registry lookup).
|
|
241
|
+
* Each entry materializes into an ad-hoc registered guardrail named
|
|
242
|
+
* `inline:<stage>:<hash8>` (hash of policy text) and is merged into the
|
|
243
|
+
* effective per-agent list at startup.
|
|
244
|
+
*/
|
|
245
|
+
guardrails_inline: zod_1.z.array(guardrailInlineSchema).optional(),
|
|
198
246
|
worker: workerSchema.optional(),
|
|
199
247
|
preview: previewSchema.optional(),
|
|
200
248
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lobu-toml-schema.js","sourceRoot":"","sources":["../src/lobu-toml-schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lobu-toml-schema.js","sourceRoot":"","sources":["../src/lobu-toml-schema.ts"],"names":[],"mappings":"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"}
|
package/dist/modules.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export interface ModuleInterface
|
|
1
|
+
export interface ModuleInterface {
|
|
2
2
|
/** Module identifier */
|
|
3
3
|
name: string;
|
|
4
4
|
/** Check if module should be enabled based on environment */
|
|
@@ -8,38 +8,8 @@ export interface ModuleInterface<_TModuleData = unknown> {
|
|
|
8
8
|
/** Register HTTP endpoints with Express app */
|
|
9
9
|
registerEndpoints(app: any): void;
|
|
10
10
|
}
|
|
11
|
-
export interface WorkerContext {
|
|
12
|
-
workspaceDir: string;
|
|
13
|
-
userId: string;
|
|
14
|
-
conversationId: string;
|
|
15
|
-
}
|
|
16
|
-
export interface WorkerModule<TModuleData = unknown> extends ModuleInterface<TModuleData> {
|
|
17
|
-
/** Initialize workspace - called when worker starts session */
|
|
18
|
-
initWorkspace(config: any): Promise<void>;
|
|
19
|
-
/** Called at session start - can modify system prompt */
|
|
20
|
-
onSessionStart(context: ModuleSessionContext): Promise<ModuleSessionContext>;
|
|
21
|
-
/** Called at session end - can add action buttons */
|
|
22
|
-
onSessionEnd(context: ModuleSessionContext): Promise<ActionButton[]>;
|
|
23
|
-
/** Collect module-specific data before sending response. Return null if no data. */
|
|
24
|
-
onBeforeResponse(context: WorkerContext): Promise<TModuleData | null>;
|
|
25
|
-
}
|
|
26
|
-
export interface ModuleSessionContext {
|
|
27
|
-
userId: string;
|
|
28
|
-
conversationId: string;
|
|
29
|
-
systemPrompt: string;
|
|
30
|
-
workspace?: any;
|
|
31
|
-
}
|
|
32
|
-
export interface ActionButton {
|
|
33
|
-
text: string;
|
|
34
|
-
action_id: string;
|
|
35
|
-
style?: "primary" | "danger";
|
|
36
|
-
value?: string;
|
|
37
|
-
url?: string;
|
|
38
|
-
}
|
|
39
11
|
export interface IModuleRegistry {
|
|
40
12
|
register(module: ModuleInterface): void;
|
|
41
|
-
getWorkerModules(): WorkerModule[];
|
|
42
|
-
registerAvailableModules(modulePackages?: string[]): Promise<void>;
|
|
43
13
|
initAll(): Promise<void>;
|
|
44
14
|
registerEndpoints(app: any): void;
|
|
45
15
|
/** Return all registered modules as base ModuleInterface array. */
|
|
@@ -68,24 +38,8 @@ export interface IModuleRegistry {
|
|
|
68
38
|
export declare class ModuleRegistry implements IModuleRegistry {
|
|
69
39
|
private modules;
|
|
70
40
|
register(module: ModuleInterface): void;
|
|
71
|
-
/**
|
|
72
|
-
* Automatically discover and register available modules.
|
|
73
|
-
* Tries to import module packages and registers them if available.
|
|
74
|
-
*
|
|
75
|
-
* @param modulePackages - List of module package names to try loading.
|
|
76
|
-
* Users can provide custom modules to register.
|
|
77
|
-
*
|
|
78
|
-
* @example
|
|
79
|
-
* // Register custom modules
|
|
80
|
-
* await moduleRegistry.registerAvailableModules([
|
|
81
|
-
* '@mycompany/slack-module',
|
|
82
|
-
* '@mycompany/jira-module'
|
|
83
|
-
* ]);
|
|
84
|
-
*/
|
|
85
|
-
registerAvailableModules(modulePackages?: string[]): Promise<void>;
|
|
86
41
|
initAll(): Promise<void>;
|
|
87
42
|
registerEndpoints(app: any): void;
|
|
88
|
-
getWorkerModules(): WorkerModule[];
|
|
89
43
|
getModules(): ModuleInterface[];
|
|
90
44
|
}
|
|
91
45
|
/**
|
package/dist/modules.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,eAAe
|
|
1
|
+
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IAEb,6DAA6D;IAC7D,SAAS,IAAI,OAAO,CAAC;IAErB,iDAAiD;IACjD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB,+CAA+C;IAC/C,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;CACnC;AAMD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;IAClC,mEAAmE;IACnE,UAAU,IAAI,eAAe,EAAE,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,OAAO,CAA2C;IAE1D,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAMjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAajC,UAAU,IAAI,eAAe,EAAE;CAGhC;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|
package/dist/modules.js
CHANGED
|
@@ -1,37 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
3
|
exports.moduleRegistry = exports.ModuleRegistry = void 0;
|
|
37
4
|
const logger_1 = require("./logger");
|
|
@@ -65,44 +32,6 @@ class ModuleRegistry {
|
|
|
65
32
|
this.modules.set(module.name, module);
|
|
66
33
|
}
|
|
67
34
|
}
|
|
68
|
-
/**
|
|
69
|
-
* Automatically discover and register available modules.
|
|
70
|
-
* Tries to import module packages and registers them if available.
|
|
71
|
-
*
|
|
72
|
-
* @param modulePackages - List of module package names to try loading.
|
|
73
|
-
* Users can provide custom modules to register.
|
|
74
|
-
*
|
|
75
|
-
* @example
|
|
76
|
-
* // Register custom modules
|
|
77
|
-
* await moduleRegistry.registerAvailableModules([
|
|
78
|
-
* '@mycompany/slack-module',
|
|
79
|
-
* '@mycompany/jira-module'
|
|
80
|
-
* ]);
|
|
81
|
-
*/
|
|
82
|
-
async registerAvailableModules(modulePackages = []) {
|
|
83
|
-
for (const packageName of modulePackages) {
|
|
84
|
-
try {
|
|
85
|
-
// Dynamic import to avoid build-time dependencies
|
|
86
|
-
const moduleExports = await Promise.resolve(`${packageName}`).then(s => __importStar(require(s)));
|
|
87
|
-
// Try common export patterns
|
|
88
|
-
const ModuleClass = moduleExports.default ||
|
|
89
|
-
Object.values(moduleExports).find((exp) => typeof exp === "function" && exp.name.endsWith("Module"));
|
|
90
|
-
if (ModuleClass && typeof ModuleClass === "function") {
|
|
91
|
-
const moduleInstance = new ModuleClass();
|
|
92
|
-
if (!this.modules.has(moduleInstance.name)) {
|
|
93
|
-
this.register(moduleInstance);
|
|
94
|
-
logger.debug(`${packageName} registered`);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
logger.debug(`${packageName}: No module class found in exports`);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
catch {
|
|
102
|
-
logger.debug(`${packageName} not available`);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
35
|
async initAll() {
|
|
107
36
|
for (const module of this.modules.values()) {
|
|
108
37
|
logger.debug(`Initializing module: ${module.name}`);
|
|
@@ -120,9 +49,6 @@ class ModuleRegistry {
|
|
|
120
49
|
}
|
|
121
50
|
}
|
|
122
51
|
}
|
|
123
|
-
getWorkerModules() {
|
|
124
|
-
return Array.from(this.modules.values()).filter((m) => "onBeforeResponse" in m);
|
|
125
|
-
}
|
|
126
52
|
getModules() {
|
|
127
53
|
return Array.from(this.modules.values());
|
|
128
54
|
}
|
package/dist/modules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":";;;AAAA,qCAAwC;AAExC,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,SAAS,CAAC,CAAC;AAgCvC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAa,cAAc;IAA3B;QACU,YAAO,GAAiC,IAAI,GAAG,EAAE,CAAC;IAgC5D,CAAC;IA9BC,QAAQ,CAAC,MAAuB;QAC9B,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,wBAAwB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACpD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,IAAI,cAAc,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,GAAQ;QACxB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CACV,2CAA2C,MAAM,CAAC,IAAI,GAAG,EACzD,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;CACF;AAjCD,wCAiCC;AAED;;;GAGG;AACU,QAAA,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC"}
|