@remnic/core 9.66.9 → 9.66.10
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/access-admin-ops-surface.js +20 -20
- package/dist/access-authorization-probe.js +21 -21
- package/dist/access-boundary.js +20 -20
- package/dist/access-cli.js +86 -86
- package/dist/access-extraction-force-flush.js +20 -20
- package/dist/access-http-query.js +22 -22
- package/dist/access-http.js +37 -37
- package/dist/access-identity-continuity-surface.js +20 -20
- package/dist/access-lcm-surface.js +20 -20
- package/dist/access-mcp.js +29 -29
- package/dist/access-namespace-preflight.js +20 -20
- package/dist/access-observe-write-surface.js +20 -20
- package/dist/access-operations-batch.js +23 -23
- package/dist/access-operations.js +28 -28
- package/dist/access-recall-concurrency.js +20 -20
- package/dist/access-recall-response.js +20 -20
- package/dist/access-recall-surface.js +20 -20
- package/dist/access-schema.js +3 -3
- package/dist/access-service.js +20 -20
- package/dist/access-surface-catalog.js +22 -22
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/briefing.js +8 -8
- package/dist/causal-consolidation.js +9 -9
- package/dist/{chunk-5GZ6UWY5.js → chunk-245QROHZ.js} +5 -5
- package/dist/{chunk-A7GQBJP5.js → chunk-2L5FSNPC.js} +10 -10
- package/dist/{chunk-SJ5L4ZZX.js → chunk-2OXBS2LV.js} +2 -2
- package/dist/{chunk-G775FE2E.js → chunk-4PHT7KE2.js} +11 -11
- package/dist/{chunk-TKSBOV7N.js → chunk-4PWANX5V.js} +6 -6
- package/dist/{chunk-TEJKBBWS.js → chunk-4QKWBVEE.js} +11 -11
- package/dist/{chunk-MFI4QPW5.js → chunk-54BRW3BL.js} +2 -2
- package/dist/{chunk-23F7HGBV.js → chunk-5E7KXID5.js} +1 -1
- package/dist/{chunk-5CSKIWEB.js → chunk-7BS5UVXA.js} +3 -3
- package/dist/{chunk-Q5YKVBIV.js → chunk-7FLINMUE.js} +2 -2
- package/dist/{chunk-ZC5L6ME2.js → chunk-7MOYAT4Y.js} +3 -3
- package/dist/{chunk-KVXMN33W.js → chunk-C6TMLF3A.js} +4 -4
- package/dist/{chunk-47BX23NA.js → chunk-D3AUQXTJ.js} +2 -2
- package/dist/{chunk-3HHLOKKU.js → chunk-DJLH3XWM.js} +2 -2
- package/dist/{chunk-SRILZVR4.js → chunk-E2PORO7O.js} +2 -2
- package/dist/{chunk-G3TUQJFU.js → chunk-E62M4H4M.js} +2 -2
- package/dist/{chunk-GB4R6B5M.js → chunk-EG4FHU5C.js} +2 -2
- package/dist/{chunk-QU2V4IO3.js → chunk-EMAEDM2J.js} +2 -2
- package/dist/{chunk-FNYVWAIK.js → chunk-G3B3LP6A.js} +18 -18
- package/dist/{chunk-D6Q5EPOV.js → chunk-HCERYDRI.js} +2 -2
- package/dist/{chunk-5NZIRM4Q.js → chunk-HJQZQUPC.js} +7 -7
- package/dist/{chunk-CIWOW2FH.js → chunk-HPGXB56F.js} +2 -2
- package/dist/{chunk-KQAFEZQX.js → chunk-IPLYGWQF.js} +5 -5
- package/dist/{chunk-UAWSKMWQ.js → chunk-ISX7JODR.js} +2 -2
- package/dist/{chunk-RKNJBZ55.js → chunk-JBPKEARU.js} +4 -4
- package/dist/{chunk-HWWGPS2N.js → chunk-JNZSNJ43.js} +2 -2
- package/dist/{chunk-JVGBDNXA.js → chunk-KT3ERTF6.js} +2 -2
- package/dist/{chunk-SOQLXIQX.js → chunk-KWLDB64F.js} +2 -2
- package/dist/{chunk-NABJLNLU.js → chunk-KWVXCRFZ.js} +190 -52
- package/dist/chunk-KWVXCRFZ.js.map +1 -0
- package/dist/{chunk-7JPKRZD5.js → chunk-LPSTQR26.js} +2 -2
- package/dist/{chunk-OT7WQ2I3.js → chunk-LTWFU6VJ.js} +2 -2
- package/dist/{chunk-NSP3HFJZ.js → chunk-M2BY5IZL.js} +2 -2
- package/dist/{chunk-ZJGHOPEO.js → chunk-NR36NW24.js} +34 -34
- package/dist/{chunk-AAJK3PZ6.js → chunk-QB66LBXA.js} +2 -2
- package/dist/{chunk-XVNDP3RO.js → chunk-QKTGCL6M.js} +2 -2
- package/dist/{chunk-LTDN5WYF.js → chunk-S47XNAWD.js} +2 -2
- package/dist/{chunk-IBHUZEKL.js → chunk-SQEIPTDV.js} +2 -2
- package/dist/{chunk-J67E4JNT.js → chunk-TGKLVAML.js} +2 -2
- package/dist/{chunk-VCYY7XEL.js → chunk-TS37MXC7.js} +2 -2
- package/dist/{chunk-JHU543UU.js → chunk-TXCLDIXJ.js} +2 -2
- package/dist/{chunk-TWMGWLHD.js → chunk-VSQG4AXL.js} +2 -2
- package/dist/{chunk-ZVUGRXSY.js → chunk-WD424KYT.js} +2 -2
- package/dist/{chunk-B3TZLAO4.js → chunk-X5SDZMO7.js} +2 -2
- package/dist/{chunk-FUPIAP6Q.js → chunk-XN33JLRF.js} +3 -3
- package/dist/{chunk-OJSCH7QT.js → chunk-Y2ECPAJI.js} +7 -7
- package/dist/{chunk-DGKVUPBM.js → chunk-Y6KDJQLK.js} +7 -7
- package/dist/{chunk-EZ25VE3G.js → chunk-YNDLCWXS.js} +4 -4
- package/dist/{chunk-VX5YHEGJ.js → chunk-YYDOUOYM.js} +3 -3
- package/dist/{chunk-Q3UMNZRK.js → chunk-ZIGSNLYI.js} +3 -3
- package/dist/{chunk-MBDUNO7J.js → chunk-ZPZLGN4Y.js} +2 -2
- package/dist/{chunk-RF3LMSQW.js → chunk-ZRQPX2DW.js} +2 -2
- package/dist/cli.js +60 -60
- package/dist/coding/export-okf-codegraph.js +8 -8
- package/dist/compounding/engine.js +8 -8
- package/dist/connectors/codex-materialize-runner.js +8 -8
- package/dist/connectors/index.js +8 -8
- package/dist/convergence-refresh.js +10 -10
- package/dist/corpus-watermark.js +10 -10
- package/dist/dashboard-runtime.js +2 -2
- package/dist/entity-retrieval.js +8 -8
- package/dist/external-wiki-access.js +21 -21
- package/dist/extraction-span-tokens.d.ts +16 -0
- package/dist/extraction-span-tokens.js +34 -0
- package/dist/extraction-span-tokens.js.map +1 -0
- package/dist/extraction.js +8 -8
- package/dist/{first-start-migration-UG32BSG2.js → first-start-migration-KHIMCBIC.js} +4 -4
- package/dist/harmonic-retrieval.js +1 -1
- package/dist/index.d.ts +102 -1
- package/dist/index.js +125 -117
- package/dist/lcm/engine.js +4 -4
- package/dist/lcm/index.js +9 -9
- package/dist/location/index.js +10 -10
- package/dist/maintenance/memory-governance.js +8 -8
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +8 -8
- package/dist/maintenance/rebuild-memory-projection.js +9 -9
- package/dist/namespaces/migrate.js +9 -9
- package/dist/namespaces/search.js +4 -4
- package/dist/namespaces/storage.js +8 -8
- package/dist/operator-doctor-corpus.js +11 -11
- package/dist/operator-toolkit.js +16 -16
- package/dist/orchestration/maintenance.js +16 -16
- package/dist/orchestrator.js +87 -87
- package/dist/recall-deep-frontier.d.ts +15 -0
- package/dist/recall-deep-frontier.js +29 -0
- package/dist/recall-deep-frontier.js.map +1 -0
- package/dist/search/factory.js +3 -3
- package/dist/search/index.js +7 -7
- package/dist/semantic-consolidation.js +9 -9
- package/dist/semantic-rule-promotion.js +8 -8
- package/dist/semantic-rule-verifier.js +8 -8
- package/dist/source-agent-qualifier.js +8 -8
- package/dist/standup/build.js +8 -8
- package/dist/storage.js +7 -7
- package/dist/support-passport/index.js +23 -23
- package/dist/transfer/autodetect.js +1 -1
- package/dist/transfer/backup.js +1 -1
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/export-okf.js +9 -9
- package/dist/verified-recall.js +8 -8
- package/dist/who-knows-cli.js +9 -9
- package/dist/who-knows.js +8 -8
- package/package.json +2 -2
- package/src/activity/index.ts +2 -0
- package/src/activity/privacy-status.test.ts +117 -0
- package/src/activity/privacy-status.ts +65 -0
- package/src/activity/timeline/index.ts +1 -0
- package/src/activity/timeline/week-previous.test.ts +119 -0
- package/src/activity/timeline/week-previous.ts +83 -0
- package/src/activity/vault-insert.test.ts +105 -0
- package/src/activity/vault-insert.ts +86 -0
- package/src/extraction-span-tokens.test.ts +69 -0
- package/src/extraction-span-tokens.ts +44 -0
- package/src/recall-deep-frontier.test.ts +85 -0
- package/src/recall-deep-frontier.ts +39 -0
- package/dist/chunk-NABJLNLU.js.map +0 -1
- /package/dist/{chunk-5GZ6UWY5.js.map → chunk-245QROHZ.js.map} +0 -0
- /package/dist/{chunk-A7GQBJP5.js.map → chunk-2L5FSNPC.js.map} +0 -0
- /package/dist/{chunk-SJ5L4ZZX.js.map → chunk-2OXBS2LV.js.map} +0 -0
- /package/dist/{chunk-G775FE2E.js.map → chunk-4PHT7KE2.js.map} +0 -0
- /package/dist/{chunk-TKSBOV7N.js.map → chunk-4PWANX5V.js.map} +0 -0
- /package/dist/{chunk-TEJKBBWS.js.map → chunk-4QKWBVEE.js.map} +0 -0
- /package/dist/{chunk-MFI4QPW5.js.map → chunk-54BRW3BL.js.map} +0 -0
- /package/dist/{chunk-23F7HGBV.js.map → chunk-5E7KXID5.js.map} +0 -0
- /package/dist/{chunk-5CSKIWEB.js.map → chunk-7BS5UVXA.js.map} +0 -0
- /package/dist/{chunk-Q5YKVBIV.js.map → chunk-7FLINMUE.js.map} +0 -0
- /package/dist/{chunk-ZC5L6ME2.js.map → chunk-7MOYAT4Y.js.map} +0 -0
- /package/dist/{chunk-KVXMN33W.js.map → chunk-C6TMLF3A.js.map} +0 -0
- /package/dist/{chunk-47BX23NA.js.map → chunk-D3AUQXTJ.js.map} +0 -0
- /package/dist/{chunk-3HHLOKKU.js.map → chunk-DJLH3XWM.js.map} +0 -0
- /package/dist/{chunk-SRILZVR4.js.map → chunk-E2PORO7O.js.map} +0 -0
- /package/dist/{chunk-G3TUQJFU.js.map → chunk-E62M4H4M.js.map} +0 -0
- /package/dist/{chunk-GB4R6B5M.js.map → chunk-EG4FHU5C.js.map} +0 -0
- /package/dist/{chunk-QU2V4IO3.js.map → chunk-EMAEDM2J.js.map} +0 -0
- /package/dist/{chunk-FNYVWAIK.js.map → chunk-G3B3LP6A.js.map} +0 -0
- /package/dist/{chunk-D6Q5EPOV.js.map → chunk-HCERYDRI.js.map} +0 -0
- /package/dist/{chunk-5NZIRM4Q.js.map → chunk-HJQZQUPC.js.map} +0 -0
- /package/dist/{chunk-CIWOW2FH.js.map → chunk-HPGXB56F.js.map} +0 -0
- /package/dist/{chunk-KQAFEZQX.js.map → chunk-IPLYGWQF.js.map} +0 -0
- /package/dist/{chunk-UAWSKMWQ.js.map → chunk-ISX7JODR.js.map} +0 -0
- /package/dist/{chunk-RKNJBZ55.js.map → chunk-JBPKEARU.js.map} +0 -0
- /package/dist/{chunk-HWWGPS2N.js.map → chunk-JNZSNJ43.js.map} +0 -0
- /package/dist/{chunk-JVGBDNXA.js.map → chunk-KT3ERTF6.js.map} +0 -0
- /package/dist/{chunk-SOQLXIQX.js.map → chunk-KWLDB64F.js.map} +0 -0
- /package/dist/{chunk-7JPKRZD5.js.map → chunk-LPSTQR26.js.map} +0 -0
- /package/dist/{chunk-OT7WQ2I3.js.map → chunk-LTWFU6VJ.js.map} +0 -0
- /package/dist/{chunk-NSP3HFJZ.js.map → chunk-M2BY5IZL.js.map} +0 -0
- /package/dist/{chunk-ZJGHOPEO.js.map → chunk-NR36NW24.js.map} +0 -0
- /package/dist/{chunk-AAJK3PZ6.js.map → chunk-QB66LBXA.js.map} +0 -0
- /package/dist/{chunk-XVNDP3RO.js.map → chunk-QKTGCL6M.js.map} +0 -0
- /package/dist/{chunk-LTDN5WYF.js.map → chunk-S47XNAWD.js.map} +0 -0
- /package/dist/{chunk-IBHUZEKL.js.map → chunk-SQEIPTDV.js.map} +0 -0
- /package/dist/{chunk-J67E4JNT.js.map → chunk-TGKLVAML.js.map} +0 -0
- /package/dist/{chunk-VCYY7XEL.js.map → chunk-TS37MXC7.js.map} +0 -0
- /package/dist/{chunk-JHU543UU.js.map → chunk-TXCLDIXJ.js.map} +0 -0
- /package/dist/{chunk-TWMGWLHD.js.map → chunk-VSQG4AXL.js.map} +0 -0
- /package/dist/{chunk-ZVUGRXSY.js.map → chunk-WD424KYT.js.map} +0 -0
- /package/dist/{chunk-B3TZLAO4.js.map → chunk-X5SDZMO7.js.map} +0 -0
- /package/dist/{chunk-FUPIAP6Q.js.map → chunk-XN33JLRF.js.map} +0 -0
- /package/dist/{chunk-OJSCH7QT.js.map → chunk-Y2ECPAJI.js.map} +0 -0
- /package/dist/{chunk-DGKVUPBM.js.map → chunk-Y6KDJQLK.js.map} +0 -0
- /package/dist/{chunk-EZ25VE3G.js.map → chunk-YNDLCWXS.js.map} +0 -0
- /package/dist/{chunk-VX5YHEGJ.js.map → chunk-YYDOUOYM.js.map} +0 -0
- /package/dist/{chunk-Q3UMNZRK.js.map → chunk-ZIGSNLYI.js.map} +0 -0
- /package/dist/{chunk-MBDUNO7J.js.map → chunk-ZPZLGN4Y.js.map} +0 -0
- /package/dist/{chunk-RF3LMSQW.js.map → chunk-ZRQPX2DW.js.map} +0 -0
- /package/dist/{first-start-migration-UG32BSG2.js.map → first-start-migration-KHIMCBIC.js.map} +0 -0
package/dist/standup/build.js
CHANGED
|
@@ -3,21 +3,21 @@ import {
|
|
|
3
3
|
parseStandupDate,
|
|
4
4
|
previousActiveDate,
|
|
5
5
|
standupHelp
|
|
6
|
-
} from "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-4ZWCQJNM.js";
|
|
6
|
+
} from "../chunk-S47XNAWD.js";
|
|
7
|
+
import "../chunk-4PHT7KE2.js";
|
|
9
8
|
import "../chunk-UHVXE24Y.js";
|
|
9
|
+
import "../chunk-4ZWCQJNM.js";
|
|
10
10
|
import "../chunk-WVGXCBOC.js";
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-X5SDZMO7.js";
|
|
12
|
+
import "../chunk-HJQZQUPC.js";
|
|
13
|
+
import "../chunk-NNBZS3DY.js";
|
|
14
|
+
import "../chunk-CYEPCZN5.js";
|
|
13
15
|
import "../chunk-GIC6BASP.js";
|
|
14
16
|
import "../chunk-YQNNHLCG.js";
|
|
15
17
|
import "../chunk-6KTXE6A3.js";
|
|
16
18
|
import "../chunk-N37X5RU7.js";
|
|
17
|
-
import "../chunk-NNBZS3DY.js";
|
|
18
19
|
import "../chunk-W7IGLX4G.js";
|
|
19
20
|
import "../chunk-GUMZC2BO.js";
|
|
20
|
-
import "../chunk-CYEPCZN5.js";
|
|
21
21
|
import "../chunk-227UFSEQ.js";
|
|
22
22
|
import "../chunk-ET356KSB.js";
|
|
23
23
|
import "../chunk-72A4L5JJ.js";
|
|
@@ -27,8 +27,8 @@ import "../chunk-XXW32OL7.js";
|
|
|
27
27
|
import "../chunk-SCU65EZI.js";
|
|
28
28
|
import "../chunk-2GF27PGH.js";
|
|
29
29
|
import "../chunk-S2HLHAZ4.js";
|
|
30
|
-
import "../chunk-LDXUBPMO.js";
|
|
31
30
|
import "../chunk-DM2T26WE.js";
|
|
31
|
+
import "../chunk-LDXUBPMO.js";
|
|
32
32
|
import "../chunk-XSTNGNJP.js";
|
|
33
33
|
import "../chunk-AAD2ZS6P.js";
|
|
34
34
|
import "../chunk-LUDBXTBJ.js";
|
package/dist/storage.js
CHANGED
|
@@ -14,20 +14,20 @@ import {
|
|
|
14
14
|
parseFrontmatter,
|
|
15
15
|
parseFrontmatterStringValue,
|
|
16
16
|
serializeEntityFile
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-4ZWCQJNM.js";
|
|
17
|
+
} from "./chunk-4PHT7KE2.js";
|
|
19
18
|
import "./chunk-UHVXE24Y.js";
|
|
19
|
+
import "./chunk-4ZWCQJNM.js";
|
|
20
20
|
import "./chunk-WVGXCBOC.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-X5SDZMO7.js";
|
|
22
|
+
import "./chunk-HJQZQUPC.js";
|
|
23
|
+
import "./chunk-NNBZS3DY.js";
|
|
24
|
+
import "./chunk-CYEPCZN5.js";
|
|
23
25
|
import "./chunk-GIC6BASP.js";
|
|
24
26
|
import "./chunk-YQNNHLCG.js";
|
|
25
27
|
import "./chunk-6KTXE6A3.js";
|
|
26
28
|
import "./chunk-N37X5RU7.js";
|
|
27
|
-
import "./chunk-NNBZS3DY.js";
|
|
28
29
|
import "./chunk-W7IGLX4G.js";
|
|
29
30
|
import "./chunk-GUMZC2BO.js";
|
|
30
|
-
import "./chunk-CYEPCZN5.js";
|
|
31
31
|
import "./chunk-227UFSEQ.js";
|
|
32
32
|
import "./chunk-ET356KSB.js";
|
|
33
33
|
import "./chunk-72A4L5JJ.js";
|
|
@@ -37,8 +37,8 @@ import "./chunk-XXW32OL7.js";
|
|
|
37
37
|
import "./chunk-SCU65EZI.js";
|
|
38
38
|
import "./chunk-2GF27PGH.js";
|
|
39
39
|
import "./chunk-S2HLHAZ4.js";
|
|
40
|
-
import "./chunk-LDXUBPMO.js";
|
|
41
40
|
import "./chunk-DM2T26WE.js";
|
|
41
|
+
import "./chunk-LDXUBPMO.js";
|
|
42
42
|
import "./chunk-XSTNGNJP.js";
|
|
43
43
|
import "./chunk-AAD2ZS6P.js";
|
|
44
44
|
import "./chunk-LUDBXTBJ.js";
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
SUPPORT_PASSPORT_MODEL_RESULT_PATH,
|
|
5
5
|
SupportPassportModelBridge,
|
|
6
6
|
parseSupportPassportModelJob
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-JNZSNJ43.js";
|
|
8
8
|
import {
|
|
9
9
|
DEFAULT_SUPPORT_PASSPORT_CONFIG,
|
|
10
10
|
parseSupportPassportConfig
|
|
@@ -14,8 +14,8 @@ import {
|
|
|
14
14
|
buildSupportPassportPublicRequestHandler,
|
|
15
15
|
composeSupportPassportExternalRequestHandlers,
|
|
16
16
|
normalizeSupportPassportNetworkAddress
|
|
17
|
-
} from "../chunk-
|
|
18
|
-
import "../chunk-
|
|
17
|
+
} from "../chunk-QKTGCL6M.js";
|
|
18
|
+
import "../chunk-TS37MXC7.js";
|
|
19
19
|
import {
|
|
20
20
|
SUPPORT_PASSPORT_DRAFT_MAX_CONTENT_CHARACTERS,
|
|
21
21
|
SUPPORT_PASSPORT_DRAFT_MAX_MEMORIES,
|
|
@@ -56,17 +56,17 @@ import {
|
|
|
56
56
|
notifySupportPassportCommitted,
|
|
57
57
|
resolveSupportPassportModelRoutePlan,
|
|
58
58
|
syncDirectoryForDurability
|
|
59
|
-
} from "../chunk-
|
|
59
|
+
} from "../chunk-G3B3LP6A.js";
|
|
60
60
|
import "../chunk-GDASG7NC.js";
|
|
61
61
|
import "../chunk-GDB4J2H3.js";
|
|
62
62
|
import "../chunk-J2R275FN.js";
|
|
63
63
|
import "../chunk-QJCWK2A7.js";
|
|
64
64
|
import "../chunk-VQ7B2Q6M.js";
|
|
65
65
|
import "../chunk-PJSK6OJM.js";
|
|
66
|
-
import "../chunk-
|
|
67
|
-
import "../chunk-5QZR2RA3.js";
|
|
66
|
+
import "../chunk-QB66LBXA.js";
|
|
68
67
|
import "../chunk-GNVZQ5JN.js";
|
|
69
68
|
import "../chunk-YN2UN7N3.js";
|
|
69
|
+
import "../chunk-5QZR2RA3.js";
|
|
70
70
|
import "../chunk-P5FPO2BR.js";
|
|
71
71
|
import "../chunk-S4DDLTPX.js";
|
|
72
72
|
import "../chunk-ZVZHG7AI.js";
|
|
@@ -74,11 +74,11 @@ import "../chunk-H7XKCNR6.js";
|
|
|
74
74
|
import "../chunk-H6RSANGQ.js";
|
|
75
75
|
import "../chunk-SOBJ6NEY.js";
|
|
76
76
|
import "../chunk-LK4TOYPU.js";
|
|
77
|
-
import "../chunk-
|
|
77
|
+
import "../chunk-TGKLVAML.js";
|
|
78
|
+
import "../chunk-CVILPI77.js";
|
|
78
79
|
import "../chunk-2HIJHXB3.js";
|
|
79
80
|
import "../chunk-AQEJKOKI.js";
|
|
80
81
|
import "../chunk-HTP6XRUI.js";
|
|
81
|
-
import "../chunk-CVILPI77.js";
|
|
82
82
|
import "../chunk-UD7UNYRD.js";
|
|
83
83
|
import "../chunk-IISBCCWR.js";
|
|
84
84
|
import "../chunk-2YA5N2BY.js";
|
|
@@ -95,32 +95,32 @@ import "../chunk-LTHVM4XN.js";
|
|
|
95
95
|
import "../chunk-X5YYSAZX.js";
|
|
96
96
|
import "../chunk-C37ZRXX7.js";
|
|
97
97
|
import "../chunk-7ZNJN5WZ.js";
|
|
98
|
-
import "../chunk-
|
|
99
|
-
import "../chunk-
|
|
100
|
-
import "../chunk-
|
|
101
|
-
import "../chunk-
|
|
98
|
+
import "../chunk-7FLINMUE.js";
|
|
99
|
+
import "../chunk-D3AUQXTJ.js";
|
|
100
|
+
import "../chunk-7MOYAT4Y.js";
|
|
101
|
+
import "../chunk-LTWFU6VJ.js";
|
|
102
102
|
import "../chunk-UFGFMWAD.js";
|
|
103
|
-
import "../chunk-
|
|
103
|
+
import "../chunk-ZPZLGN4Y.js";
|
|
104
104
|
import "../chunk-ZXBTTMGZ.js";
|
|
105
105
|
import "../chunk-YMOPYG3K.js";
|
|
106
106
|
import "../chunk-2LSZVONP.js";
|
|
107
107
|
import "../chunk-DEUNUKTD.js";
|
|
108
108
|
import "../chunk-LXY5VVGM.js";
|
|
109
|
-
import "../chunk-
|
|
110
|
-
import "../chunk-
|
|
111
|
-
import "../chunk-4ZWCQJNM.js";
|
|
109
|
+
import "../chunk-E62M4H4M.js";
|
|
110
|
+
import "../chunk-4PHT7KE2.js";
|
|
112
111
|
import "../chunk-UHVXE24Y.js";
|
|
112
|
+
import "../chunk-4ZWCQJNM.js";
|
|
113
113
|
import "../chunk-WVGXCBOC.js";
|
|
114
|
-
import "../chunk-
|
|
115
|
-
import "../chunk-
|
|
114
|
+
import "../chunk-X5SDZMO7.js";
|
|
115
|
+
import "../chunk-HJQZQUPC.js";
|
|
116
|
+
import "../chunk-NNBZS3DY.js";
|
|
117
|
+
import "../chunk-CYEPCZN5.js";
|
|
116
118
|
import "../chunk-GIC6BASP.js";
|
|
117
119
|
import "../chunk-YQNNHLCG.js";
|
|
118
120
|
import "../chunk-6KTXE6A3.js";
|
|
119
121
|
import "../chunk-N37X5RU7.js";
|
|
120
|
-
import "../chunk-NNBZS3DY.js";
|
|
121
122
|
import "../chunk-W7IGLX4G.js";
|
|
122
123
|
import "../chunk-GUMZC2BO.js";
|
|
123
|
-
import "../chunk-CYEPCZN5.js";
|
|
124
124
|
import "../chunk-227UFSEQ.js";
|
|
125
125
|
import "../chunk-ET356KSB.js";
|
|
126
126
|
import "../chunk-72A4L5JJ.js";
|
|
@@ -130,8 +130,8 @@ import "../chunk-XXW32OL7.js";
|
|
|
130
130
|
import "../chunk-SCU65EZI.js";
|
|
131
131
|
import "../chunk-2GF27PGH.js";
|
|
132
132
|
import "../chunk-S2HLHAZ4.js";
|
|
133
|
-
import "../chunk-LDXUBPMO.js";
|
|
134
133
|
import "../chunk-DM2T26WE.js";
|
|
134
|
+
import "../chunk-LDXUBPMO.js";
|
|
135
135
|
import "../chunk-XSTNGNJP.js";
|
|
136
136
|
import "../chunk-AAD2ZS6P.js";
|
|
137
137
|
import "../chunk-LUDBXTBJ.js";
|
|
@@ -192,10 +192,10 @@ import "../chunk-6Q3ZTEF6.js";
|
|
|
192
192
|
import "../chunk-YCVB7X56.js";
|
|
193
193
|
import "../chunk-PQVCH2AE.js";
|
|
194
194
|
import "../chunk-PJKTFXE2.js";
|
|
195
|
-
import "../chunk-
|
|
195
|
+
import "../chunk-IPLYGWQF.js";
|
|
196
|
+
import "../chunk-J4EB7DNW.js";
|
|
196
197
|
import "../chunk-WEHSQBFR.js";
|
|
197
198
|
import "../chunk-X7Y7WX73.js";
|
|
198
|
-
import "../chunk-J4EB7DNW.js";
|
|
199
199
|
import "../chunk-BJMBJZ2Y.js";
|
|
200
200
|
import "../chunk-UKJAGEXH.js";
|
|
201
201
|
import "../chunk-FP2373TW.js";
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
import "../chunk-2DL3OFLD.js";
|
|
5
5
|
import "../chunk-G4IAEX6D.js";
|
|
6
6
|
import "../chunk-765K3SAT.js";
|
|
7
|
-
import "../chunk-WEHSQBFR.js";
|
|
8
7
|
import "../chunk-J4EB7DNW.js";
|
|
8
|
+
import "../chunk-WEHSQBFR.js";
|
|
9
9
|
import "../chunk-UI3NYK34.js";
|
|
10
10
|
import "../chunk-GCGJW34D.js";
|
|
11
11
|
import "../chunk-PZ5AY32C.js";
|
package/dist/transfer/backup.js
CHANGED
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
backupMemoryDir
|
|
3
3
|
} from "../chunk-2NLLXCJG.js";
|
|
4
4
|
import "../chunk-765K3SAT.js";
|
|
5
|
-
import "../chunk-X7Y7WX73.js";
|
|
6
5
|
import "../chunk-J4EB7DNW.js";
|
|
6
|
+
import "../chunk-X7Y7WX73.js";
|
|
7
7
|
import "../chunk-BJMBJZ2Y.js";
|
|
8
8
|
import "../chunk-UKJAGEXH.js";
|
|
9
9
|
import "../chunk-FP2373TW.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
exportCapsule,
|
|
3
3
|
isValidCapsuleSince
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-IPLYGWQF.js";
|
|
5
|
+
import "../chunk-J4EB7DNW.js";
|
|
5
6
|
import "../chunk-WEHSQBFR.js";
|
|
6
7
|
import "../chunk-X7Y7WX73.js";
|
|
7
|
-
import "../chunk-J4EB7DNW.js";
|
|
8
8
|
import "../chunk-BJMBJZ2Y.js";
|
|
9
9
|
import "../chunk-UKJAGEXH.js";
|
|
10
10
|
import "../chunk-FP2373TW.js";
|
|
@@ -3,25 +3,25 @@ import {
|
|
|
3
3
|
OKF_LOG_TRUNCATION_MARKER,
|
|
4
4
|
exportOkfBundle,
|
|
5
5
|
parseIncludeStatus
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-YYDOUOYM.js";
|
|
7
7
|
import {
|
|
8
8
|
OKF_EXPORT_VERSION
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-M2BY5IZL.js";
|
|
10
10
|
import "../chunk-D24OXEPB.js";
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-4ZWCQJNM.js";
|
|
11
|
+
import "../chunk-4PHT7KE2.js";
|
|
13
12
|
import "../chunk-UHVXE24Y.js";
|
|
13
|
+
import "../chunk-4ZWCQJNM.js";
|
|
14
14
|
import "../chunk-WVGXCBOC.js";
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
15
|
+
import "../chunk-X5SDZMO7.js";
|
|
16
|
+
import "../chunk-HJQZQUPC.js";
|
|
17
|
+
import "../chunk-NNBZS3DY.js";
|
|
18
|
+
import "../chunk-CYEPCZN5.js";
|
|
17
19
|
import "../chunk-GIC6BASP.js";
|
|
18
20
|
import "../chunk-YQNNHLCG.js";
|
|
19
21
|
import "../chunk-6KTXE6A3.js";
|
|
20
22
|
import "../chunk-N37X5RU7.js";
|
|
21
|
-
import "../chunk-NNBZS3DY.js";
|
|
22
23
|
import "../chunk-W7IGLX4G.js";
|
|
23
24
|
import "../chunk-GUMZC2BO.js";
|
|
24
|
-
import "../chunk-CYEPCZN5.js";
|
|
25
25
|
import "../chunk-227UFSEQ.js";
|
|
26
26
|
import "../chunk-ET356KSB.js";
|
|
27
27
|
import "../chunk-72A4L5JJ.js";
|
|
@@ -31,8 +31,8 @@ import "../chunk-XXW32OL7.js";
|
|
|
31
31
|
import "../chunk-SCU65EZI.js";
|
|
32
32
|
import "../chunk-2GF27PGH.js";
|
|
33
33
|
import "../chunk-S2HLHAZ4.js";
|
|
34
|
-
import "../chunk-LDXUBPMO.js";
|
|
35
34
|
import "../chunk-DM2T26WE.js";
|
|
35
|
+
import "../chunk-LDXUBPMO.js";
|
|
36
36
|
import "../chunk-XSTNGNJP.js";
|
|
37
37
|
import "../chunk-AAD2ZS6P.js";
|
|
38
38
|
import "../chunk-LUDBXTBJ.js";
|
package/dist/verified-recall.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
compareVerifiedEpisodeResults,
|
|
3
3
|
searchVerifiedEpisodes
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-KWLDB64F.js";
|
|
5
5
|
import "./chunk-B7RWBZXW.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-4ZWCQJNM.js";
|
|
6
|
+
import "./chunk-4PHT7KE2.js";
|
|
8
7
|
import "./chunk-UHVXE24Y.js";
|
|
8
|
+
import "./chunk-4ZWCQJNM.js";
|
|
9
9
|
import "./chunk-WVGXCBOC.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-X5SDZMO7.js";
|
|
11
|
+
import "./chunk-HJQZQUPC.js";
|
|
12
|
+
import "./chunk-NNBZS3DY.js";
|
|
13
|
+
import "./chunk-CYEPCZN5.js";
|
|
12
14
|
import "./chunk-GIC6BASP.js";
|
|
13
15
|
import "./chunk-YQNNHLCG.js";
|
|
14
16
|
import "./chunk-6KTXE6A3.js";
|
|
15
17
|
import "./chunk-N37X5RU7.js";
|
|
16
|
-
import "./chunk-NNBZS3DY.js";
|
|
17
18
|
import "./chunk-W7IGLX4G.js";
|
|
18
19
|
import "./chunk-GUMZC2BO.js";
|
|
19
|
-
import "./chunk-CYEPCZN5.js";
|
|
20
20
|
import "./chunk-227UFSEQ.js";
|
|
21
21
|
import "./chunk-ET356KSB.js";
|
|
22
22
|
import "./chunk-72A4L5JJ.js";
|
|
@@ -26,8 +26,8 @@ import "./chunk-XXW32OL7.js";
|
|
|
26
26
|
import "./chunk-SCU65EZI.js";
|
|
27
27
|
import "./chunk-2GF27PGH.js";
|
|
28
28
|
import "./chunk-S2HLHAZ4.js";
|
|
29
|
-
import "./chunk-LDXUBPMO.js";
|
|
30
29
|
import "./chunk-DM2T26WE.js";
|
|
30
|
+
import "./chunk-LDXUBPMO.js";
|
|
31
31
|
import "./chunk-XSTNGNJP.js";
|
|
32
32
|
import "./chunk-AAD2ZS6P.js";
|
|
33
33
|
import "./chunk-LUDBXTBJ.js";
|
package/dist/who-knows-cli.js
CHANGED
|
@@ -4,22 +4,22 @@ import {
|
|
|
4
4
|
renderWhoKnows,
|
|
5
5
|
renderWhoKnowsJson,
|
|
6
6
|
renderWhoKnowsText
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-4ZWCQJNM.js";
|
|
7
|
+
} from "./chunk-2OXBS2LV.js";
|
|
8
|
+
import "./chunk-QB66LBXA.js";
|
|
9
|
+
import "./chunk-4PHT7KE2.js";
|
|
11
10
|
import "./chunk-UHVXE24Y.js";
|
|
11
|
+
import "./chunk-4ZWCQJNM.js";
|
|
12
12
|
import "./chunk-WVGXCBOC.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-X5SDZMO7.js";
|
|
14
|
+
import "./chunk-HJQZQUPC.js";
|
|
15
|
+
import "./chunk-NNBZS3DY.js";
|
|
16
|
+
import "./chunk-CYEPCZN5.js";
|
|
15
17
|
import "./chunk-GIC6BASP.js";
|
|
16
18
|
import "./chunk-YQNNHLCG.js";
|
|
17
19
|
import "./chunk-6KTXE6A3.js";
|
|
18
20
|
import "./chunk-N37X5RU7.js";
|
|
19
|
-
import "./chunk-NNBZS3DY.js";
|
|
20
21
|
import "./chunk-W7IGLX4G.js";
|
|
21
22
|
import "./chunk-GUMZC2BO.js";
|
|
22
|
-
import "./chunk-CYEPCZN5.js";
|
|
23
23
|
import "./chunk-227UFSEQ.js";
|
|
24
24
|
import "./chunk-ET356KSB.js";
|
|
25
25
|
import "./chunk-72A4L5JJ.js";
|
|
@@ -29,8 +29,8 @@ import "./chunk-XXW32OL7.js";
|
|
|
29
29
|
import "./chunk-SCU65EZI.js";
|
|
30
30
|
import "./chunk-2GF27PGH.js";
|
|
31
31
|
import "./chunk-S2HLHAZ4.js";
|
|
32
|
-
import "./chunk-LDXUBPMO.js";
|
|
33
32
|
import "./chunk-DM2T26WE.js";
|
|
33
|
+
import "./chunk-LDXUBPMO.js";
|
|
34
34
|
import "./chunk-XSTNGNJP.js";
|
|
35
35
|
import "./chunk-AAD2ZS6P.js";
|
|
36
36
|
import "./chunk-LUDBXTBJ.js";
|
package/dist/who-knows.js
CHANGED
|
@@ -9,21 +9,21 @@ import {
|
|
|
9
9
|
loadWhoKnowsEntities,
|
|
10
10
|
tokenizeTopic,
|
|
11
11
|
validateWhoKnowsInput
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-4ZWCQJNM.js";
|
|
12
|
+
} from "./chunk-QB66LBXA.js";
|
|
13
|
+
import "./chunk-4PHT7KE2.js";
|
|
15
14
|
import "./chunk-UHVXE24Y.js";
|
|
15
|
+
import "./chunk-4ZWCQJNM.js";
|
|
16
16
|
import "./chunk-WVGXCBOC.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-X5SDZMO7.js";
|
|
18
|
+
import "./chunk-HJQZQUPC.js";
|
|
19
|
+
import "./chunk-NNBZS3DY.js";
|
|
20
|
+
import "./chunk-CYEPCZN5.js";
|
|
19
21
|
import "./chunk-GIC6BASP.js";
|
|
20
22
|
import "./chunk-YQNNHLCG.js";
|
|
21
23
|
import "./chunk-6KTXE6A3.js";
|
|
22
24
|
import "./chunk-N37X5RU7.js";
|
|
23
|
-
import "./chunk-NNBZS3DY.js";
|
|
24
25
|
import "./chunk-W7IGLX4G.js";
|
|
25
26
|
import "./chunk-GUMZC2BO.js";
|
|
26
|
-
import "./chunk-CYEPCZN5.js";
|
|
27
27
|
import "./chunk-227UFSEQ.js";
|
|
28
28
|
import "./chunk-ET356KSB.js";
|
|
29
29
|
import "./chunk-72A4L5JJ.js";
|
|
@@ -33,8 +33,8 @@ import "./chunk-XXW32OL7.js";
|
|
|
33
33
|
import "./chunk-SCU65EZI.js";
|
|
34
34
|
import "./chunk-2GF27PGH.js";
|
|
35
35
|
import "./chunk-S2HLHAZ4.js";
|
|
36
|
-
import "./chunk-LDXUBPMO.js";
|
|
37
36
|
import "./chunk-DM2T26WE.js";
|
|
37
|
+
import "./chunk-LDXUBPMO.js";
|
|
38
38
|
import "./chunk-XSTNGNJP.js";
|
|
39
39
|
import "./chunk-AAD2ZS6P.js";
|
|
40
40
|
import "./chunk-LUDBXTBJ.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remnic/core",
|
|
3
|
-
"version": "9.66.
|
|
3
|
+
"version": "9.66.10",
|
|
4
4
|
"description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -3217,7 +3217,7 @@
|
|
|
3217
3217
|
"core"
|
|
3218
3218
|
],
|
|
3219
3219
|
"peerDependencies": {
|
|
3220
|
-
"@remnic/coding-graph": "^9.66.
|
|
3220
|
+
"@remnic/coding-graph": "^9.66.10"
|
|
3221
3221
|
},
|
|
3222
3222
|
"peerDependenciesMeta": {
|
|
3223
3223
|
"@remnic/coding-graph": {
|
package/src/activity/index.ts
CHANGED
|
@@ -19,9 +19,11 @@ export * from "./journal.js";
|
|
|
19
19
|
export * from "./journal-vault-read.js";
|
|
20
20
|
export * from "./memory-gen.js";
|
|
21
21
|
export * from "./privacy.js";
|
|
22
|
+
export * from "./privacy-status.js";
|
|
22
23
|
export * from "./privacy-window.js";
|
|
23
24
|
export * from "./vault-path.js";
|
|
24
25
|
export * from "./vault-publish.js";
|
|
26
|
+
export * from "./vault-insert.js";
|
|
25
27
|
export * from "./vault-frontmatter.js";
|
|
26
28
|
export * from "./vault-wikilink.js";
|
|
27
29
|
export * from "./vault-region.js";
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import test from "node:test";
|
|
3
|
+
|
|
4
|
+
import { ACTIVITY_ANALYSIS_STATUSES, buildActivityHealth } from "./privacy-status.js";
|
|
5
|
+
|
|
6
|
+
const base = {
|
|
7
|
+
enabled: true,
|
|
8
|
+
retentionDays: 30,
|
|
9
|
+
sourceRevision: "rev-42",
|
|
10
|
+
lastAnalysisStatus: "ok",
|
|
11
|
+
observationCount: 7,
|
|
12
|
+
cardCount: 3,
|
|
13
|
+
} as const;
|
|
14
|
+
|
|
15
|
+
test("enabled true returns full snapshot with trimmed revision", () => {
|
|
16
|
+
const snapshot = buildActivityHealth({ ...base, sourceRevision: " rev-42 " });
|
|
17
|
+
assert.deepEqual(snapshot, {
|
|
18
|
+
enabled: true,
|
|
19
|
+
retentionDays: 30,
|
|
20
|
+
sourceRevision: "rev-42",
|
|
21
|
+
lastAnalysisStatus: "ok",
|
|
22
|
+
observationCount: 7,
|
|
23
|
+
cardCount: 3,
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
test("snapshot keys equal the documented set", () => {
|
|
28
|
+
const snapshot = buildActivityHealth({ ...base });
|
|
29
|
+
assert.deepEqual(Object.keys(snapshot), [
|
|
30
|
+
"enabled",
|
|
31
|
+
"retentionDays",
|
|
32
|
+
"sourceRevision",
|
|
33
|
+
"lastAnalysisStatus",
|
|
34
|
+
"observationCount",
|
|
35
|
+
"cardCount",
|
|
36
|
+
]);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
test("enabled false still returns snapshot with counts as given", () => {
|
|
40
|
+
const snapshot = buildActivityHealth({
|
|
41
|
+
...base,
|
|
42
|
+
enabled: false,
|
|
43
|
+
observationCount: 9,
|
|
44
|
+
cardCount: 0,
|
|
45
|
+
});
|
|
46
|
+
assert.equal(snapshot.enabled, false);
|
|
47
|
+
assert.equal(snapshot.retentionDays, 30);
|
|
48
|
+
assert.equal(snapshot.observationCount, 9);
|
|
49
|
+
assert.equal(snapshot.cardCount, 0);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
test("retentionDays 0 (keep forever) is preserved", () => {
|
|
53
|
+
assert.equal(buildActivityHealth({ ...base, retentionDays: 0 }).retentionDays, 0);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
test("retentionDays must be a non-negative integer", () => {
|
|
57
|
+
assert.throws(
|
|
58
|
+
() => buildActivityHealth({ ...base, retentionDays: -1 }),
|
|
59
|
+
{ name: "RangeError", message: /retentionDays/ },
|
|
60
|
+
);
|
|
61
|
+
assert.throws(() => buildActivityHealth({ ...base, retentionDays: 1.5 }), /retentionDays/);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
test("null or missing sourceRevision maps to null", () => {
|
|
65
|
+
const nulled = buildActivityHealth({ ...base, sourceRevision: null });
|
|
66
|
+
const missing = buildActivityHealth({ ...base, sourceRevision: undefined });
|
|
67
|
+
assert.equal(nulled.sourceRevision, null);
|
|
68
|
+
assert.equal(missing.sourceRevision, null);
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
test("trimmed-blank sourceRevision maps to null", () => {
|
|
72
|
+
const blank = buildActivityHealth({ ...base, sourceRevision: " \t " });
|
|
73
|
+
const empty = buildActivityHealth({ ...base, sourceRevision: "" });
|
|
74
|
+
assert.equal(blank.sourceRevision, null);
|
|
75
|
+
assert.equal(empty.sourceRevision, null);
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
test("missing lastAnalysisStatus defaults to never", () => {
|
|
79
|
+
const missing = buildActivityHealth({ ...base, lastAnalysisStatus: undefined });
|
|
80
|
+
const nulled = buildActivityHealth({ ...base, lastAnalysisStatus: null });
|
|
81
|
+
assert.equal(missing.lastAnalysisStatus, "never");
|
|
82
|
+
assert.equal(nulled.lastAnalysisStatus, "never");
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
test("each allow-list status round-trips", () => {
|
|
86
|
+
for (const status of ACTIVITY_ANALYSIS_STATUSES) {
|
|
87
|
+
const snapshot = buildActivityHealth({ ...base, lastAnalysisStatus: status });
|
|
88
|
+
assert.equal(snapshot.lastAnalysisStatus, status);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
test("unknown analysis status throws listing the allow-list", () => {
|
|
93
|
+
assert.throws(
|
|
94
|
+
() => buildActivityHealth({ ...base, lastAnalysisStatus: "pending" }),
|
|
95
|
+
(err: unknown) => {
|
|
96
|
+
assert.ok(err instanceof TypeError);
|
|
97
|
+
assert.match(err.message, /analysis status/);
|
|
98
|
+
for (const status of ACTIVITY_ANALYSIS_STATUSES) {
|
|
99
|
+
assert.ok(err.message.includes(status), `message lists ${status}`);
|
|
100
|
+
}
|
|
101
|
+
return true;
|
|
102
|
+
},
|
|
103
|
+
);
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
test("negative or non-integer counts throw", () => {
|
|
107
|
+
assert.throws(
|
|
108
|
+
() => buildActivityHealth({ ...base, observationCount: -1 }),
|
|
109
|
+
{ name: "RangeError", message: /count/ },
|
|
110
|
+
);
|
|
111
|
+
assert.throws(
|
|
112
|
+
() => buildActivityHealth({ ...base, cardCount: -2 }),
|
|
113
|
+
{ name: "RangeError", message: /count/ },
|
|
114
|
+
);
|
|
115
|
+
assert.throws(() => buildActivityHealth({ ...base, observationCount: 1.5 }), /count/);
|
|
116
|
+
assert.throws(() => buildActivityHealth({ ...base, cardCount: Number.NaN }), /count/);
|
|
117
|
+
});
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content-free activity health snapshot (issue #2053 slice).
|
|
3
|
+
*
|
|
4
|
+
* Pure status builder. Surfaces report gate state, retention policy, source
|
|
5
|
+
* revision, last analysis outcome, and counts only — never observation or
|
|
6
|
+
* card content, prompts, or media.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export const ACTIVITY_ANALYSIS_STATUSES = ["ok", "failed", "skipped", "never"] as const;
|
|
10
|
+
export type ActivityAnalysisStatus = (typeof ACTIVITY_ANALYSIS_STATUSES)[number];
|
|
11
|
+
|
|
12
|
+
export interface ActivityHealthSnapshot {
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
retentionDays: number;
|
|
15
|
+
sourceRevision: string | null;
|
|
16
|
+
lastAnalysisStatus: ActivityAnalysisStatus;
|
|
17
|
+
observationCount: number;
|
|
18
|
+
cardCount: number;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const STATUS_ALLOW_LIST = ACTIVITY_ANALYSIS_STATUSES.join(", ");
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Build the health snapshot. Master `enabled: false` still returns a snapshot
|
|
25
|
+
* (surfaces must report the gate); counts stay as given and are never redacted.
|
|
26
|
+
*/
|
|
27
|
+
export function buildActivityHealth(input: {
|
|
28
|
+
enabled: boolean;
|
|
29
|
+
retentionDays: number;
|
|
30
|
+
sourceRevision?: string | null;
|
|
31
|
+
lastAnalysisStatus?: string | null;
|
|
32
|
+
observationCount: number;
|
|
33
|
+
cardCount: number;
|
|
34
|
+
}): ActivityHealthSnapshot {
|
|
35
|
+
const { enabled, retentionDays, observationCount, cardCount } = input;
|
|
36
|
+
if (!Number.isInteger(retentionDays) || retentionDays < 0) {
|
|
37
|
+
throw new RangeError("retentionDays must be a non-negative integer");
|
|
38
|
+
}
|
|
39
|
+
if (!Number.isInteger(observationCount) || observationCount < 0) {
|
|
40
|
+
throw new RangeError("invalid count: observationCount must be a non-negative integer");
|
|
41
|
+
}
|
|
42
|
+
if (!Number.isInteger(cardCount) || cardCount < 0) {
|
|
43
|
+
throw new RangeError("invalid count: cardCount must be a non-negative integer");
|
|
44
|
+
}
|
|
45
|
+
const rawRevision = input.sourceRevision;
|
|
46
|
+
const trimmedRevision = typeof rawRevision === "string" ? rawRevision.trim() : "";
|
|
47
|
+
const rawStatus = input.lastAnalysisStatus;
|
|
48
|
+
let lastAnalysisStatus: ActivityAnalysisStatus = "never";
|
|
49
|
+
if (rawStatus !== undefined && rawStatus !== null) {
|
|
50
|
+
if (!(ACTIVITY_ANALYSIS_STATUSES as readonly string[]).includes(rawStatus)) {
|
|
51
|
+
throw new TypeError(
|
|
52
|
+
`unknown analysis status ${JSON.stringify(rawStatus)}; expected one of: ${STATUS_ALLOW_LIST}`,
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
lastAnalysisStatus = rawStatus as ActivityAnalysisStatus;
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
enabled,
|
|
59
|
+
retentionDays,
|
|
60
|
+
sourceRevision: trimmedRevision === "" ? null : trimmedRevision,
|
|
61
|
+
lastAnalysisStatus,
|
|
62
|
+
observationCount,
|
|
63
|
+
cardCount,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
@@ -14,6 +14,7 @@ export * from "./recap-export.js";
|
|
|
14
14
|
export * from "./recap-markdown.js";
|
|
15
15
|
export * from "./week-export.js";
|
|
16
16
|
export * from "./week-snapshot.js";
|
|
17
|
+
export * from "./week-previous.js";
|
|
17
18
|
export * from "./analysis-batch.js";
|
|
18
19
|
export * from "./analysis-evidence.js";
|
|
19
20
|
export * from "./analysis-prompt.js";
|