@remnic/plugin-openclaw 1.0.5 → 1.0.6

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.
@@ -8,7 +8,7 @@ import {
8
8
  normalizeEntityName,
9
9
  parseEntityFile,
10
10
  serializeEntityFile
11
- } from "./chunk-5VTGFKKU.js";
11
+ } from "./chunk-KPMXWORS.js";
12
12
  import "./chunk-UFU5GGGA.js";
13
13
  import "./chunk-MLKGABMK.js";
14
14
  export {
@@ -318,6 +318,63 @@
318
318
  }
319
319
  }
320
320
  },
321
+ "procedural": {
322
+ "type": "object",
323
+ "additionalProperties": false,
324
+ "default": {},
325
+ "properties": {
326
+ "enabled": {
327
+ "type": "boolean",
328
+ "default": false,
329
+ "description": "Master gate for procedural memory: extraction, recall boost, and mining (issue #519)."
330
+ },
331
+ "minOccurrences": {
332
+ "type": "integer",
333
+ "minimum": 0,
334
+ "maximum": 1000,
335
+ "default": 3,
336
+ "description": "Minimum clustered trajectory occurrences before emitting a candidate procedure (0 disables mining)."
337
+ },
338
+ "successFloor": {
339
+ "type": "number",
340
+ "minimum": 0,
341
+ "maximum": 1,
342
+ "default": 0.7,
343
+ "description": "Minimum success-rate floor (from trajectory outcomes) for miner promotion."
344
+ },
345
+ "autoPromoteOccurrences": {
346
+ "type": "integer",
347
+ "minimum": 0,
348
+ "maximum": 10000,
349
+ "default": 8,
350
+ "description": "When auto-promotion is enabled, minimum occurrence count to move pending_review procedures to active (0 disables auto-promotion by count)."
351
+ },
352
+ "autoPromoteEnabled": {
353
+ "type": "boolean",
354
+ "default": false,
355
+ "description": "When true, miner may auto-promote trusted procedures to active after autoPromoteOccurrences."
356
+ },
357
+ "lookbackDays": {
358
+ "type": "integer",
359
+ "minimum": 1,
360
+ "maximum": 3650,
361
+ "default": 30,
362
+ "description": "Trajectory lookback window for procedural mining."
363
+ },
364
+ "recallMaxProcedures": {
365
+ "type": "integer",
366
+ "minimum": 1,
367
+ "maximum": 10,
368
+ "default": 3,
369
+ "description": "Maximum procedure memories to inject on task-initiation recall."
370
+ },
371
+ "proceduralMiningCronAutoRegister": {
372
+ "type": "boolean",
373
+ "default": false,
374
+ "description": "When true, installer may register the nightly procedural mining cron job."
375
+ }
376
+ }
377
+ },
321
378
  "slotBehavior": {
322
379
  "type": "object",
323
380
  "additionalProperties": false,
@@ -1295,7 +1352,8 @@
1295
1352
  "principle",
1296
1353
  "commitment",
1297
1354
  "moment",
1298
- "skill"
1355
+ "skill",
1356
+ "procedure"
1299
1357
  ]
1300
1358
  },
1301
1359
  "default": [
@@ -1870,6 +1928,38 @@
1870
1928
  "default": false,
1871
1929
  "description": "If true, include temporally-superseded facts in recall results (for audit/history). Default: exclude."
1872
1930
  },
1931
+ "recallDirectAnswerEnabled": {
1932
+ "type": "boolean",
1933
+ "default": false,
1934
+ "description": "When true, recall checks whether a single validated high-trust memory can answer the query before QMD runs (issue #518). Default off until bench validation."
1935
+ },
1936
+ "recallDirectAnswerTokenOverlapFloor": {
1937
+ "type": "number",
1938
+ "minimum": 0,
1939
+ "maximum": 1,
1940
+ "default": 0.55,
1941
+ "description": "Minimum query↔memory token-overlap ratio for direct-answer eligibility. Set to 0 to disable the gate."
1942
+ },
1943
+ "recallDirectAnswerImportanceFloor": {
1944
+ "type": "number",
1945
+ "minimum": 0,
1946
+ "maximum": 1,
1947
+ "default": 0.7,
1948
+ "description": "Minimum calibrated importance score for direct-answer eligibility. Set to 0 to disable the gate."
1949
+ },
1950
+ "recallDirectAnswerAmbiguityMargin": {
1951
+ "type": "number",
1952
+ "minimum": 0,
1953
+ "maximum": 1,
1954
+ "default": 0.15,
1955
+ "description": "If the second-best candidate scores within this ratio of the top, direct-answer defers to hybrid."
1956
+ },
1957
+ "recallDirectAnswerEligibleTaxonomyBuckets": {
1958
+ "type": "array",
1959
+ "items": { "type": "string" },
1960
+ "default": ["decisions", "principles", "conventions", "runbooks", "entities"],
1961
+ "description": "Taxonomy category IDs eligible for direct-answer routing."
1962
+ },
1873
1963
  "memoryLinkingEnabled": {
1874
1964
  "type": "boolean",
1875
1965
  "default": false,
@@ -2556,7 +2646,8 @@
2556
2646
  },
2557
2647
  "default": [
2558
2648
  "correction",
2559
- "commitment"
2649
+ "commitment",
2650
+ "procedure"
2560
2651
  ],
2561
2652
  "description": "Memory categories excluded from semantic consolidation."
2562
2653
  },
@@ -2969,7 +3060,8 @@
2969
3060
  "commitment",
2970
3061
  "preference",
2971
3062
  "decision",
2972
- "principle"
3063
+ "principle",
3064
+ "procedure"
2973
3065
  ],
2974
3066
  "description": "Categories that protect a fact from archival regardless of other criteria."
2975
3067
  },
@@ -3007,7 +3099,8 @@
3007
3099
  "decision",
3008
3100
  "principle",
3009
3101
  "commitment",
3010
- "preference"
3102
+ "preference",
3103
+ "procedure"
3011
3104
  ],
3012
3105
  "description": "Categories that lifecycle policy will not auto-archive."
3013
3106
  },
@@ -3585,6 +3678,7 @@
3585
3678
  },
3586
3679
  "briefing": {
3587
3680
  "type": "object",
3681
+ "additionalProperties": false,
3588
3682
  "default": {
3589
3683
  "enabled": true,
3590
3684
  "defaultWindow": "yesterday",
@@ -3595,6 +3689,52 @@
3595
3689
  "saveDir": null,
3596
3690
  "llmFollowups": true
3597
3691
  },
3692
+ "properties": {
3693
+ "enabled": {
3694
+ "type": "boolean",
3695
+ "default": true
3696
+ },
3697
+ "defaultWindow": {
3698
+ "type": "string",
3699
+ "default": "yesterday"
3700
+ },
3701
+ "defaultFormat": {
3702
+ "type": "string",
3703
+ "enum": [
3704
+ "markdown",
3705
+ "json"
3706
+ ],
3707
+ "default": "markdown"
3708
+ },
3709
+ "maxFollowups": {
3710
+ "type": "integer",
3711
+ "minimum": 0,
3712
+ "maximum": 10,
3713
+ "default": 5
3714
+ },
3715
+ "calendarSource": {
3716
+ "type": [
3717
+ "string",
3718
+ "null"
3719
+ ],
3720
+ "default": null
3721
+ },
3722
+ "saveByDefault": {
3723
+ "type": "boolean",
3724
+ "default": false
3725
+ },
3726
+ "saveDir": {
3727
+ "type": [
3728
+ "string",
3729
+ "null"
3730
+ ],
3731
+ "default": null
3732
+ },
3733
+ "llmFollowups": {
3734
+ "type": "boolean",
3735
+ "default": true
3736
+ }
3737
+ },
3598
3738
  "description": "Daily Context Briefing (#370). Knobs: enabled, defaultWindow ('yesterday', '3d', '1w', '24h', ...), defaultFormat (markdown|json), maxFollowups (0-10), calendarSource (path to ICS/JSON file, null = off), saveByDefault, saveDir (null = $REMNIC_HOME/briefings/), llmFollowups (disable to skip Responses API calls)."
3599
3739
  },
3600
3740
  "enrichmentEnabled": {
@@ -3906,6 +4046,30 @@
3906
4046
  "advanced": true,
3907
4047
  "help": "If enabled, superseded facts still surface in recall (audit/history mode)."
3908
4048
  },
4049
+ "recallDirectAnswerEnabled": {
4050
+ "label": "Direct-Answer Retrieval Tier",
4051
+ "help": "Route validated high-trust queries to a fast direct-answer path before QMD (issue #518)."
4052
+ },
4053
+ "recallDirectAnswerTokenOverlapFloor": {
4054
+ "label": "Direct-Answer Token Overlap Floor",
4055
+ "advanced": true,
4056
+ "placeholder": "0.55"
4057
+ },
4058
+ "recallDirectAnswerImportanceFloor": {
4059
+ "label": "Direct-Answer Importance Floor",
4060
+ "advanced": true,
4061
+ "placeholder": "0.7"
4062
+ },
4063
+ "recallDirectAnswerAmbiguityMargin": {
4064
+ "label": "Direct-Answer Ambiguity Margin",
4065
+ "advanced": true,
4066
+ "placeholder": "0.15"
4067
+ },
4068
+ "recallDirectAnswerEligibleTaxonomyBuckets": {
4069
+ "label": "Direct-Answer Eligible Taxonomy Buckets",
4070
+ "advanced": true,
4071
+ "help": "Taxonomy category IDs eligible for direct-answer routing."
4072
+ },
3909
4073
  "memoryLinkingEnabled": {
3910
4074
  "label": "Memory Linking",
3911
4075
  "help": "Build knowledge graph by linking related memories"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/plugin-openclaw",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "OpenClaw adapter for Remnic memory — thin wrapper delegating to @remnic/core",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -24,7 +24,8 @@
24
24
  ]
25
25
  },
26
26
  "dependencies": {
27
- "openai": "^6.0.0"
27
+ "openai": "^6.0.0",
28
+ "@remnic/core": "^1.0.3"
28
29
  },
29
30
  "peerDependencies": {
30
31
  "openclaw": ">=2026.4.8"