@lobu/core 11.3.0 → 12.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.
Files changed (65) hide show
  1. package/dist/__tests__/fixtures/factories.d.ts +2 -3
  2. package/dist/__tests__/fixtures/factories.d.ts.map +1 -1
  3. package/dist/__tests__/fixtures/factories.js +0 -11
  4. package/dist/__tests__/fixtures/factories.js.map +1 -1
  5. package/dist/__tests__/fixtures/index.d.ts +1 -1
  6. package/dist/__tests__/fixtures/index.d.ts.map +1 -1
  7. package/dist/__tests__/fixtures/index.js +1 -2
  8. package/dist/__tests__/fixtures/index.js.map +1 -1
  9. package/dist/__tests__/network-domains.test.js +16 -0
  10. package/dist/__tests__/network-domains.test.js.map +1 -1
  11. package/dist/__tests__/sanitize.test.js +18 -0
  12. package/dist/__tests__/sanitize.test.js.map +1 -1
  13. package/dist/__tests__/secret-refs.test.js +9 -0
  14. package/dist/__tests__/secret-refs.test.js.map +1 -1
  15. package/dist/__tests__/utils-env.test.js +9 -4
  16. package/dist/__tests__/utils-env.test.js.map +1 -1
  17. package/dist/agent-policy.d.ts.map +1 -1
  18. package/dist/agent-policy.js +22 -0
  19. package/dist/agent-policy.js.map +1 -1
  20. package/dist/agent-store.d.ts +2 -7
  21. package/dist/agent-store.d.ts.map +1 -1
  22. package/dist/constants.d.ts +26 -0
  23. package/dist/constants.d.ts.map +1 -1
  24. package/dist/constants.js +30 -1
  25. package/dist/constants.js.map +1 -1
  26. package/dist/errors.d.ts +20 -0
  27. package/dist/errors.d.ts.map +1 -1
  28. package/dist/errors.js +25 -1
  29. package/dist/errors.js.map +1 -1
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +3 -3
  33. package/dist/index.js.map +1 -1
  34. package/dist/logger.d.ts.map +1 -1
  35. package/dist/logger.js +33 -52
  36. package/dist/logger.js.map +1 -1
  37. package/dist/modules.js +2 -2
  38. package/dist/modules.js.map +1 -1
  39. package/dist/secret-refs.d.ts.map +1 -1
  40. package/dist/secret-refs.js +5 -1
  41. package/dist/secret-refs.js.map +1 -1
  42. package/dist/types/message.d.ts +7 -0
  43. package/dist/types/message.d.ts.map +1 -1
  44. package/dist/utils/env.d.ts.map +1 -1
  45. package/dist/utils/env.js +5 -2
  46. package/dist/utils/env.js.map +1 -1
  47. package/dist/utils/network-domains.d.ts.map +1 -1
  48. package/dist/utils/network-domains.js +14 -2
  49. package/dist/utils/network-domains.js.map +1 -1
  50. package/dist/utils/sanitize.d.ts.map +1 -1
  51. package/dist/utils/sanitize.js +8 -3
  52. package/dist/utils/sanitize.js.map +1 -1
  53. package/dist/utils/slug.d.ts +17 -0
  54. package/dist/utils/slug.d.ts.map +1 -0
  55. package/dist/utils/slug.js +28 -0
  56. package/dist/utils/slug.js.map +1 -0
  57. package/dist/worker/auth.d.ts +28 -0
  58. package/dist/worker/auth.d.ts.map +1 -1
  59. package/dist/worker/auth.js +2 -0
  60. package/dist/worker/auth.js.map +1 -1
  61. package/package.json +2 -3
  62. package/dist/model-ids.d.ts +0 -34
  63. package/dist/model-ids.d.ts.map +0 -1
  64. package/dist/model-ids.js +0 -37
  65. package/dist/model-ids.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -16,7 +16,7 @@ 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.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.renderSkillMemorySection = exports.renderFallbackSystemContext = exports.BaseInstructionProvider = exports.CommandRegistry = exports.inferGrantKind = void 0;
19
+ exports.parseSessionEntries = exports.entryToMessage = exports.slugify = 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.renderSkillMemorySection = exports.renderFallbackSystemContext = exports.BaseInstructionProvider = exports.CommandRegistry = exports.inferGrantKind = void 0;
20
20
  __exportStar(require("./agent-policy"), exports);
21
21
  // Shared credential-store primitives (CLI + embedded server share one impl)
22
22
  __exportStar(require("./credentials"), exports);
@@ -42,8 +42,6 @@ var lobu_guidance_1 = require("./lobu-guidance");
42
42
  Object.defineProperty(exports, "renderFallbackSystemContext", { enumerable: true, get: function () { return lobu_guidance_1.renderFallbackSystemContext; } });
43
43
  Object.defineProperty(exports, "renderSkillMemorySection", { enumerable: true, get: function () { return lobu_guidance_1.renderSkillMemorySection; } });
44
44
  __exportStar(require("./logger"), exports);
45
- // Centralized Claude model ID constants
46
- __exportStar(require("./model-ids"), exports);
47
45
  // Module system
48
46
  __exportStar(require("./modules"), exports);
49
47
  // OpenTelemetry tracing
@@ -79,6 +77,8 @@ __exportStar(require("./utils/json"), exports);
79
77
  __exportStar(require("./utils/network-domains"), exports);
80
78
  __exportStar(require("./utils/retry"), exports);
81
79
  __exportStar(require("./utils/sanitize"), exports);
80
+ var slug_1 = require("./utils/slug");
81
+ Object.defineProperty(exports, "slugify", { enumerable: true, get: function () { return slug_1.slugify; } });
82
82
  // Shared OpenClaw session.jsonl parser (gateway + worker).
83
83
  var session_file_1 = require("./utils/session-file");
84
84
  Object.defineProperty(exports, "entryToMessage", { enumerable: true, get: function () { return session_file_1.entryToMessage; } });
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;AAC/B,4EAA4E;AAC5E,gDAA8B;AAe9B,6CAA+C;AAAtC,6GAAA,cAAc,OAAA;AAYvB,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,2CAAyB;AACzB,wCAAwC;AACxC,8CAA4B;AAC5B,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;AAE7B,0DAAwC;AACxC,gDAA8B;AAC9B,mDAAiC;AACjC,2DAA2D;AAC3D,qDAK8B;AAJ5B,8GAAA,cAAc,OAAA;AAEd,mHAAA,mBAAmB,OAAA;AAGrB,+CAA6B;AAC7B,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA,4EAA4E;;;;;;;;;;;;;;;;;AAE5E,iDAA+B;AAC/B,4EAA4E;AAC5E,gDAA8B;AAe9B,6CAA+C;AAAtC,6GAAA,cAAc,OAAA;AAYvB,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,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;AAE7B,0DAAwC;AACxC,gDAA8B;AAC9B,mDAAiC;AACjC,qCAAuC;AAA9B,+FAAA,OAAO,OAAA;AAChB,2DAA2D;AAC3D,qDAK8B;AAJ5B,8GAAA,cAAc,OAAA;AAEd,mHAAA,mBAAmB,OAAA;AAGrB,+CAA6B;AAC7B,gDAA8B"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC9C,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC7C,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC7C,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CAC/C;AAoFD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAyExD"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC9C,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC7C,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC7C,KAAK,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CAC/C;AAoGD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA8CxD"}
package/dist/logger.js CHANGED
@@ -10,6 +10,35 @@ const USE_WINSTON_LOGGER = process.env.USE_WINSTON_LOGGER === "true";
10
10
  // Use JSON format for structured logging (better for Loki parsing in production)
11
11
  const USE_JSON_FORMAT = process.env.LOG_FORMAT === "json";
12
12
  const winston_1 = __importDefault(require("winston"));
13
+ const SENSITIVE_LOG_KEY_PATTERN = /(?:credential|secret|token|password|api(?:_|-)?key|authorization)/i;
14
+ function createRedactingReplacer() {
15
+ const seen = new WeakSet();
16
+ return (key, value) => {
17
+ if (SENSITIVE_LOG_KEY_PATTERN.test(key))
18
+ return "[REDACTED]";
19
+ if (value instanceof Error) {
20
+ return {
21
+ name: value.name,
22
+ message: value.message,
23
+ stack: value.stack?.split("\n")[0],
24
+ };
25
+ }
26
+ if (typeof value === "object" && value !== null) {
27
+ if (seen.has(value))
28
+ return "[Circular Reference]";
29
+ seen.add(value);
30
+ }
31
+ return value;
32
+ };
33
+ }
34
+ function safeStringify(value, space) {
35
+ try {
36
+ return JSON.stringify(value, createRedactingReplacer(), space);
37
+ }
38
+ catch {
39
+ return "[unserializable]";
40
+ }
41
+ }
13
42
  // Simple console logger fallback for environments where Winston doesn't work (Bun + Alpine)
14
43
  // Supports both formats: logger.info("message", data) AND pino-style logger.info({ data }, "message")
15
44
  function createConsoleLogger(serviceName) {
@@ -24,7 +53,6 @@ function createConsoleLogger(serviceName) {
24
53
  const formatMessage = (lvl, message, ...args) => {
25
54
  const timestamp = new Date().toISOString().replace("T", " ").slice(0, 19);
26
55
  let msgStr;
27
- let meta = null;
28
56
  // Handle pino-style format: logger.info({ key: value }, "message")
29
57
  if (typeof message === "object" &&
30
58
  message !== null &&
@@ -33,17 +61,11 @@ function createConsoleLogger(serviceName) {
33
61
  if (args.length > 0 && typeof args[0] === "string") {
34
62
  // First arg is metadata object, second arg is the actual message
35
63
  msgStr = args[0];
36
- meta = message;
37
64
  args = args.slice(1);
38
65
  }
39
66
  else {
40
67
  // Just an object, stringify it
41
- try {
42
- msgStr = JSON.stringify(message);
43
- }
44
- catch {
45
- msgStr = "[object]";
46
- }
68
+ msgStr = safeStringify(message);
47
69
  }
48
70
  }
49
71
  else {
@@ -51,21 +73,7 @@ function createConsoleLogger(serviceName) {
51
73
  }
52
74
  // Append remaining args
53
75
  if (args.length > 0) {
54
- try {
55
- msgStr += ` ${JSON.stringify(args.length === 1 ? args[0] : args)}`;
56
- }
57
- catch {
58
- msgStr += " [unserializable]";
59
- }
60
- }
61
- // Append metadata object
62
- if (meta) {
63
- try {
64
- msgStr += ` ${JSON.stringify(meta)}`;
65
- }
66
- catch {
67
- msgStr += " [meta unserializable]";
68
- }
76
+ msgStr += ` ${safeStringify(args.length === 1 ? args[0] : args)}`;
69
77
  }
70
78
  return `[${timestamp}] [${lvl}] [${serviceName}] ${msgStr}`;
71
79
  };
@@ -84,6 +92,7 @@ function createConsoleLogger(serviceName) {
84
92
  },
85
93
  debug: (message, ...args) => {
86
94
  if (currentLevel >= 3)
95
+ // codeql[js/clear-text-logging]: formatMessage redacts sensitive object keys before writing debug logs.
87
96
  console.log(formatMessage("debug", message, ...args));
88
97
  },
89
98
  };
@@ -108,35 +117,7 @@ function createLogger(serviceName) {
108
117
  const humanFormat = winston_1.default.format.combine(...(isProduction ? [] : [winston_1.default.format.colorize()]), winston_1.default.format.printf(({ timestamp, level, message, service, ...meta }) => {
109
118
  let metaStr = "";
110
119
  if (Object.keys(meta).length) {
111
- try {
112
- metaStr = ` ${JSON.stringify(meta, null, 0)}`;
113
- }
114
- catch (_err) {
115
- // Handle circular structures with a safer approach
116
- try {
117
- const seen = new WeakSet();
118
- metaStr = ` ${JSON.stringify(meta, (_key, value) => {
119
- if (typeof value === "object" && value !== null) {
120
- if (seen.has(value)) {
121
- return "[Circular Reference]";
122
- }
123
- seen.add(value);
124
- if (value instanceof Error) {
125
- return {
126
- name: value.name,
127
- message: value.message,
128
- stack: value.stack?.split("\n")[0], // Only first line of stack
129
- };
130
- }
131
- }
132
- return value;
133
- })}`;
134
- }
135
- catch (_err2) {
136
- // Final fallback if even the circular handler fails
137
- metaStr = " [Object too complex to serialize]";
138
- }
139
- }
120
+ metaStr = ` ${safeStringify(meta, 0)}`;
140
121
  }
141
122
  return `[${timestamp}] [${level}] [${service}] ${message}${metaStr}`;
142
123
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
package/dist/modules.js CHANGED
@@ -34,9 +34,9 @@ class ModuleRegistry {
34
34
  }
35
35
  async initAll() {
36
36
  for (const module of this.modules.values()) {
37
- logger.debug(`Initializing module: ${module.name}`);
37
+ logger.debug("Initializing module");
38
38
  await module.init();
39
- logger.debug(`Module ${module.name} initialized`);
39
+ logger.debug("Module initialized");
40
40
  }
41
41
  }
42
42
  registerEndpoints(app) {
@@ -1 +1 @@
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"}
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,qBAAqB,CAAC,CAAC;YACpC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACrC,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"secret-refs.d.ts","sourceRoot":"","sources":["../src/secret-refs.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,SAAS,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAiBpE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAE9D"}
1
+ {"version":3,"file":"secret-refs.d.ts","sourceRoot":"","sources":["../src/secret-refs.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,SAAS,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAqBpE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAE9D"}
@@ -12,7 +12,11 @@ function parseSecretRef(value) {
12
12
  const remainder = match[2];
13
13
  if (!scheme || !remainder)
14
14
  return null;
15
- const [path, fragment] = remainder.split("#", 2);
15
+ // Split on the FIRST `#` only — `split("#", 2)` would discard anything after
16
+ // a second `#`, silently dropping fragments like `kv/foo#field#sub`.
17
+ const hashIdx = remainder.indexOf("#");
18
+ const path = hashIdx === -1 ? remainder : remainder.slice(0, hashIdx);
19
+ const fragment = hashIdx === -1 ? undefined : remainder.slice(hashIdx + 1);
16
20
  if (!path)
17
21
  return null;
18
22
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"secret-refs.js","sourceRoot":"","sources":["../src/secret-refs.ts"],"names":[],"mappings":";;AAWA,wCAiBC;AAED,kCAEC;AAED,wDAEC;AA3BD,MAAM,aAAa,GAAG,iCAAiC,CAAC;AAExD,SAAgB,cAAc,CAAC,KAAa;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAEvC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,OAAO;QACL,GAAG,EAAE,KAAK;QACV,MAAM;QACN,IAAI;QACJ,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AACrE,CAAC;AAED,SAAgB,sBAAsB,CAAC,IAAY;IACjD,OAAO,YAAY,IAAI,EAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"secret-refs.js","sourceRoot":"","sources":["../src/secret-refs.ts"],"names":[],"mappings":";;AAWA,wCAqBC;AAED,kCAEC;AAED,wDAEC;AA/BD,MAAM,aAAa,GAAG,iCAAiC,CAAC;AAExD,SAAgB,cAAc,CAAC,KAAa;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAEvC,6EAA6E;IAC7E,qEAAqE;IACrE,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,OAAO;QACL,GAAG,EAAE,KAAK;QACV,MAAM;QACN,IAAI;QACJ,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AACrE,CAAC;AAED,SAAgB,sBAAsB,CAAC,IAAY;IACjD,OAAO,YAAY,IAAI,EAAE,CAAC;AAC5B,CAAC"}
@@ -22,5 +22,12 @@ export interface BaseMessage {
22
22
  teamId?: string;
23
23
  /** Originating PlatformConnection id, when applicable. */
24
24
  connectionId?: string;
25
+ /**
26
+ * Headless run origin (`platformMetadata.source`) when the message was
27
+ * produced by a server-side turn with no browser SSE connection. Lets the
28
+ * API platform stamp interaction cards headless so they skip the SSE-owner
29
+ * gate instead of dead-lettering. Absent for interactive/user-driven turns.
30
+ */
31
+ source?: string;
25
32
  }
26
33
  //# sourceMappingURL=message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC1B,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC1B,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;AAC3E,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAAC;AAQtB;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAU5E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,OAAO,GACpB,OAAO,CAKT"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;AAC3E,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAAC;AAQtB;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAa5E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,OAAO,GACpB,OAAO,CAKT"}
package/dist/utils/env.js CHANGED
@@ -27,8 +27,11 @@ function getOptionalNumber(name, defaultValue) {
27
27
  const value = process.env[name];
28
28
  if (!value)
29
29
  return defaultValue;
30
- const parsed = parseInt(value, 10);
31
- if (Number.isNaN(parsed)) {
30
+ // Use Number() not parseInt(): parseInt silently accepts trailing garbage
31
+ // ("100ms" -> 100, "3.5" -> 3), so a typo'd env value would pass instead of
32
+ // failing loud.
33
+ const parsed = Number(value.trim());
34
+ if (!Number.isInteger(parsed)) {
32
35
  throw new errors_1.ConfigError(`Invalid number for ${name}: ${value} (expected integer)`);
33
36
  }
34
37
  return parsed;
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":";;AAMA,wCAMC;AAUD,wCAKC;AAMD,8CAUC;AAMD,gDAQC;AAzDD,sCAAwC;AAExC;;;GAGG;AACH,SAAgB,cAAc,CAAC,IAAY;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,oBAAW,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAUD,SAAgB,cAAc,CAC5B,IAAY,EACZ,YAAqB;IAErB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,IAAY,EAAE,YAAoB;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,oBAAW,CACnB,sBAAsB,IAAI,KAAK,KAAK,qBAAqB,CAC1D,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAChC,IAAY,EACZ,YAAqB;IAErB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,KAAK,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":";;AAMA,wCAMC;AAUD,wCAKC;AAMD,8CAaC;AAMD,gDAQC;AA5DD,sCAAwC;AAExC;;;GAGG;AACH,SAAgB,cAAc,CAAC,IAAY;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,oBAAW,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAUD,SAAgB,cAAc,CAC5B,IAAY,EACZ,YAAqB;IAErB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,IAAY,EAAE,YAAoB;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC;IAChC,0EAA0E;IAC1E,4EAA4E;IAC5E,gBAAgB;IAChB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,oBAAW,CACnB,sBAAsB,IAAI,KAAK,KAAK,qBAAqB,CAC1D,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAChC,IAAY,EACZ,YAAqB;IAErB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,KAAK,CAAC;AAC9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"network-domains.d.ts","sourceRoot":"","sources":["../../src/utils/network-domains.ts"],"names":[],"mappings":"AAAA,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAc9D;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,MAAM,EAAE,GAAG,SAAS,CAItB"}
1
+ {"version":3,"file":"network-domains.d.ts","sourceRoot":"","sources":["../../src/utils/network-domains.ts"],"names":[],"mappings":"AAcA,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAc9D;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,MAAM,EAAE,GAAG,SAAS,CAItB"}
@@ -2,6 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.normalizeDomainPattern = normalizeDomainPattern;
4
4
  exports.normalizeDomainPatterns = normalizeDomainPatterns;
5
+ const node_url_1 = require("node:url");
6
+ /**
7
+ * Convert an IDN/Unicode host (or wildcard suffix) to its ASCII/punycode form
8
+ * so stored patterns compare equal to the `xn--` hostnames that `new URL().hostname`
9
+ * (HTTP path) and the canonicalized CONNECT host produce. `domainToASCII`
10
+ * returns "" for inputs it can't convert, in which case we keep the lowercased
11
+ * original so plain-ASCII hosts (and odd inputs) still match.
12
+ */
13
+ function toAscii(host) {
14
+ const ascii = (0, node_url_1.domainToASCII)(host);
15
+ return ascii !== "" ? ascii : host.toLowerCase();
16
+ }
5
17
  function normalizeDomainPattern(pattern) {
6
18
  const trimmed = pattern.trim();
7
19
  if (trimmed.startsWith("/")) {
@@ -9,9 +21,9 @@ function normalizeDomainPattern(pattern) {
9
21
  }
10
22
  const normalized = trimmed.toLowerCase();
11
23
  if (normalized.startsWith("*.")) {
12
- return `.${normalized.slice(2)}`;
24
+ return `.${toAscii(normalized.slice(2))}`;
13
25
  }
14
- return normalized;
26
+ return toAscii(normalized);
15
27
  }
16
28
  function normalizeDomainPatterns(patterns) {
17
29
  if (!patterns)
@@ -1 +1 @@
1
- {"version":3,"file":"network-domains.js","sourceRoot":"","sources":["../../src/utils/network-domains.ts"],"names":[],"mappings":";;AAAA,wDAcC;AAED,0DAMC;AAtBD,SAAgB,sBAAsB,CAAC,OAAe;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAE/B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAEzC,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAgB,uBAAuB,CACrC,QAAmB;IAEnB,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC"}
1
+ {"version":3,"file":"network-domains.js","sourceRoot":"","sources":["../../src/utils/network-domains.ts"],"names":[],"mappings":";;AAcA,wDAcC;AAED,0DAMC;AApCD,uCAAyC;AAEzC;;;;;;GAMG;AACH,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,KAAK,GAAG,IAAA,wBAAa,EAAC,IAAI,CAAC,CAAC;IAClC,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AACnD,CAAC;AAED,SAAgB,sBAAsB,CAAC,OAAe;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAE/B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAEzC,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,CAAC;IAED,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;AAC7B,CAAC;AAED,SAAgB,uBAAuB,CACrC,QAAmB;IAEnB,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/utils/sanitize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,MAAY,GACtB,MAAM,CAiBR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAErE;AAiGD,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,GAAG,EACR,uBAAuB,GAAE,MAAM,EAAO,GACrC,GAAG,CAML;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWxB"}
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/utils/sanitize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,MAAY,GACtB,MAAM,CAmBR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAErE;AAoGD,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,GAAG,EACR,uBAAuB,GAAE,MAAM,EAAO,GACrC,GAAG,CAML;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWxB"}
@@ -21,8 +21,10 @@ exports.stripEnv = stripEnv;
21
21
  function sanitizeFilename(filename, maxLength = 255) {
22
22
  // Remove any directory path components
23
23
  const basename = filename.replace(/^.*[\\/]/, "");
24
- // Remove null bytes and other dangerous characters
25
- const sanitized = basename.replace(/[^\w\s.-]/g, "_");
24
+ // Remove null bytes and other dangerous characters. Use Unicode-aware classes
25
+ // so non-ASCII letters/digits (CJK, Cyrillic, accented Latin) are preserved
26
+ // rather than mangled to underscores (which also collapses distinct names).
27
+ const sanitized = basename.replace(/[^\p{L}\p{N}\s.\-_]/gu, "_");
26
28
  // Prevent hidden files and parent directory references
27
29
  const safe = sanitized.replace(/^\.+/, "").replace(/\.{2,}/g, ".");
28
30
  // Ensure filename is not empty after sanitization
@@ -89,8 +91,11 @@ function isSensitiveKey(lowerKey, additionalLowered) {
89
91
  function sanitizeInner(obj, additionalLowered, depth, seen) {
90
92
  if (!obj || typeof obj !== "object")
91
93
  return obj;
94
+ // Past the depth cap, return a placeholder rather than the raw object — a
95
+ // returned subtree is never walked again, so a sensitive key nested deeper
96
+ // than the cap would otherwise be logged unredacted.
92
97
  if (depth >= MAX_SANITIZE_DEPTH)
93
- return obj;
98
+ return "[Truncated:max-depth]";
94
99
  // Cycle guard: object graphs with back-references (Express req/res, error
95
100
  // .cause chains, ORM rows) would otherwise recurse forever. Depth cap above
96
101
  // already bounds stack depth, but returning "[Circular]" gives a more useful
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../src/utils/sanitize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../src/utils/sanitize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Canonical URL-safe slug generator shared across packages.
3
+ *
4
+ * Lowercase, runs of non-alphanumeric characters collapse to a single hyphen,
5
+ * leading/trailing hyphens trimmed. Returns an empty string when the input has
6
+ * no alphanumeric characters (callers decide on a fallback).
7
+ *
8
+ * @example
9
+ * slugify('Hello World') // 'hello-world'
10
+ * slugify('Café Münchën', { normalize: true }) // 'cafe-munchen'
11
+ * slugify('x'.repeat(60), { maxLength: 32 }) // 32-char slug
12
+ */
13
+ export declare function slugify(input: string, options?: {
14
+ normalize?: boolean;
15
+ maxLength?: number;
16
+ }): string;
17
+ //# sourceMappingURL=slug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slug.d.ts","sourceRoot":"","sources":["../../src/utils/slug.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD,MAAM,CAUR"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.slugify = slugify;
4
+ /**
5
+ * Canonical URL-safe slug generator shared across packages.
6
+ *
7
+ * Lowercase, runs of non-alphanumeric characters collapse to a single hyphen,
8
+ * leading/trailing hyphens trimmed. Returns an empty string when the input has
9
+ * no alphanumeric characters (callers decide on a fallback).
10
+ *
11
+ * @example
12
+ * slugify('Hello World') // 'hello-world'
13
+ * slugify('Café Münchën', { normalize: true }) // 'cafe-munchen'
14
+ * slugify('x'.repeat(60), { maxLength: 32 }) // 32-char slug
15
+ */
16
+ function slugify(input, options) {
17
+ let slug = input.toLowerCase();
18
+ if (options?.normalize) {
19
+ // Decompose accented characters and drop the combining diacritical marks
20
+ // so e.g. "café" -> "cafe" instead of "caf".
21
+ slug = slug.normalize("NFKD").replace(/[̀-ͯ]/g, "");
22
+ }
23
+ slug = slug.replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
24
+ if (options?.maxLength != null)
25
+ slug = slug.slice(0, options.maxLength);
26
+ return slug;
27
+ }
28
+ //# sourceMappingURL=slug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slug.js","sourceRoot":"","sources":["../../src/utils/slug.ts"],"names":[],"mappings":";;AAYA,0BAaC;AAzBD;;;;;;;;;;;GAWG;AACH,SAAgB,OAAO,CACrB,KAAa,EACb,OAAqD;IAErD,IAAI,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC/B,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,yEAAyE;QACzE,6CAA6C;QAC7C,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAChE,IAAI,OAAO,EAAE,SAAS,IAAI,IAAI;QAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -20,6 +20,15 @@ export interface WorkerTokenData {
20
20
  deploymentName: string;
21
21
  timestamp: number;
22
22
  platform?: string;
23
+ /**
24
+ * Headless run origin (`platformMetadata.source`, e.g. watcher-run /
25
+ * scheduled-job / connector-repair / internal). Carried so interaction
26
+ * cards emitted from a headless turn can be stamped headless and exempted
27
+ * from the SSE-owner gate — no browser SSE connection exists on any pod for
28
+ * a headless run, so an owner-gated card would dead-letter. Absent for
29
+ * interactive (browser-driven) runs.
30
+ */
31
+ source?: string;
23
32
  sessionKey?: string;
24
33
  traceId?: string;
25
34
  /** Unique token ID — enables targeted revocation. */
@@ -34,6 +43,17 @@ export interface WorkerTokenData {
34
43
  * codex round 2, finding A on PR #865.
35
44
  */
36
45
  runId?: number;
46
+ /**
47
+ * Per-turn message id this token's work was dispatched for. Set alongside
48
+ * {@link runId} by the runs-queue dispatcher (MessageConsumer.handleMessage),
49
+ * which arms the turn-timeout marker with the SAME `messageId`. The token
50
+ * refresh gate uses it to require a live marker for THIS turn specifically
51
+ * (`deploymentName:messageId`), not merely any live turn on the deployment —
52
+ * otherwise a still-valid token from a completed turn could refresh while a
53
+ * later, unrelated turn on the same deployment is live. Long-lived deployment
54
+ * tokens do NOT carry it.
55
+ */
56
+ messageId?: string;
37
57
  }
38
58
  export declare function generateWorkerToken(userId: string, conversationId: string, deploymentName: string, options: {
39
59
  channelId: string;
@@ -42,6 +62,8 @@ export declare function generateWorkerToken(userId: string, conversationId: stri
42
62
  organizationId?: string;
43
63
  connectionId?: string;
44
64
  platform?: string;
65
+ /** Headless run origin — see WorkerTokenData.source. */
66
+ source?: string;
45
67
  sessionKey?: string;
46
68
  traceId?: string;
47
69
  /**
@@ -52,6 +74,12 @@ export declare function generateWorkerToken(userId: string, conversationId: stri
52
74
  * for the consumption contract.
53
75
  */
54
76
  runId?: number;
77
+ /**
78
+ * Per-turn message id, set alongside `runId` by the runs-queue dispatcher.
79
+ * Binds token refresh to this turn's own liveness marker. See
80
+ * WorkerTokenData.messageId.
81
+ */
82
+ messageId?: string;
55
83
  }): string;
56
84
  /**
57
85
  * Verify and decrypt a worker authentication token
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/worker/auth.ts"],"names":[],"mappings":"AAMA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,MAAM,CAuBR;AAaD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAiFvE"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/worker/auth.ts"],"names":[],"mappings":"AAMA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,MAAM,CAyBR;AAaD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAiFvE"}
@@ -21,10 +21,12 @@ function generateWorkerToken(userId, conversationId, deploymentName, options) {
21
21
  deploymentName,
22
22
  timestamp: Date.now(),
23
23
  platform: options.platform,
24
+ source: options.source,
24
25
  sessionKey: options.sessionKey,
25
26
  traceId: options.traceId,
26
27
  jti: (0, node_crypto_1.randomUUID)(),
27
28
  runId: options.runId,
29
+ messageId: options.messageId,
28
30
  };
29
31
  return (0, encryption_1.encrypt)(JSON.stringify(payload));
30
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/worker/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/worker/auth.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobu/core",
3
- "version": "11.3.0",
3
+ "version": "12.1.0",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Core types and utilities for Lobu agent platform",
6
6
  "repository": {
@@ -38,8 +38,7 @@
38
38
  "@opentelemetry/resources": "^1.30.0",
39
39
  "@opentelemetry/semantic-conventions": "^1.28.0",
40
40
  "@sentry/node": "^10.23.0",
41
- "winston": "^3.17.0",
42
- "zod": "^4.1.12"
41
+ "winston": "^3.17.0"
43
42
  },
44
43
  "devDependencies": {
45
44
  "@types/bun": "1.2.11",
@@ -1,34 +0,0 @@
1
- /**
2
- * Centralized Claude model ID constants.
3
- *
4
- * Single source of truth for hardcoded Anthropic model IDs used across the
5
- * gateway, agent worker, and CLI. When bumping a model version, change it
6
- * here (and only here) so every consumer moves in lockstep.
7
- *
8
- * The bare `*_MODEL_ID` constants name the model snapshot itself; the
9
- * purpose-specific constants below them capture *why* a given site uses that
10
- * model. Reference the purpose-specific constant at call sites so different
11
- * roles can diverge later without a find-and-replace.
12
- */
13
- /** Claude Sonnet 4 (2025-05-14 snapshot). */
14
- export declare const CLAUDE_SONNET_4_MODEL_ID = "claude-sonnet-4-20250514";
15
- /** Claude Opus 4 (2025-05-14 snapshot). */
16
- export declare const CLAUDE_OPUS_4_MODEL_ID = "claude-opus-4-20250514";
17
- /** Claude Haiku 3.5 (2024-10-22 snapshot). */
18
- export declare const CLAUDE_HAIKU_3_5_MODEL_ID = "claude-haiku-3-5-20241022";
19
- /** Claude Haiku 4.5 (2025-10-01 snapshot). */
20
- export declare const CLAUDE_HAIKU_4_5_MODEL_ID = "claude-haiku-4-5-20251001";
21
- /**
22
- * Default Claude model for agents when nothing else is configured.
23
- * Used as the fallback in the gateway's Claude OAuth module (when neither a
24
- * user preference nor AGENT_DEFAULT_MODEL is set), as the agent worker's
25
- * default model for the `anthropic` provider, and as the scaffold default in
26
- * `lobu init`.
27
- */
28
- export declare const DEFAULT_AGENT_MODEL = "claude-sonnet-4-20250514";
29
- /**
30
- * Model used by the gateway's LLM egress/text judges. Fast + cheap; invoked
31
- * only when a rule with `action: "judge"` matches.
32
- */
33
- export declare const EGRESS_JUDGE_MODEL = "claude-haiku-4-5-20251001";
34
- //# sourceMappingURL=model-ids.d.ts.map