@nguyenthdat/opencode-memory 0.2.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 (46) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +170 -0
  3. package/THIRD_PARTY_NOTICES.md +14 -0
  4. package/dist/contracts.d.ts +96 -0
  5. package/dist/contracts.d.ts.map +1 -0
  6. package/dist/contracts.js +46 -0
  7. package/dist/contracts.js.map +1 -0
  8. package/dist/generated/memory_pb.d.ts +227 -0
  9. package/dist/generated/memory_pb.d.ts.map +1 -0
  10. package/dist/generated/memory_pb.js +112 -0
  11. package/dist/generated/memory_pb.js.map +1 -0
  12. package/dist/index.d.ts +15 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +24 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/plugin.d.ts +7 -0
  17. package/dist/plugin.d.ts.map +1 -0
  18. package/dist/plugin.js +665 -0
  19. package/dist/plugin.js.map +1 -0
  20. package/dist/policy.d.ts +19 -0
  21. package/dist/policy.d.ts.map +1 -0
  22. package/dist/policy.js +125 -0
  23. package/dist/policy.js.map +1 -0
  24. package/dist/protocol.d.ts +31 -0
  25. package/dist/protocol.d.ts.map +1 -0
  26. package/dist/protocol.js +220 -0
  27. package/dist/protocol.js.map +1 -0
  28. package/dist/session-context.d.ts +40 -0
  29. package/dist/session-context.d.ts.map +1 -0
  30. package/dist/session-context.js +92 -0
  31. package/dist/session-context.js.map +1 -0
  32. package/dist/shared-markdown.d.ts +11 -0
  33. package/dist/shared-markdown.d.ts.map +1 -0
  34. package/dist/shared-markdown.js +178 -0
  35. package/dist/shared-markdown.js.map +1 -0
  36. package/dist/sidecar-client.d.ts +39 -0
  37. package/dist/sidecar-client.d.ts.map +1 -0
  38. package/dist/sidecar-client.js +397 -0
  39. package/dist/sidecar-client.js.map +1 -0
  40. package/dist/validation.d.ts +2 -0
  41. package/dist/validation.d.ts.map +1 -0
  42. package/dist/validation.js +29 -0
  43. package/dist/validation.js.map +1 -0
  44. package/notices/ZVEC_NOTICE +95 -0
  45. package/package.json +90 -0
  46. package/rules/flow.md +16 -0
@@ -0,0 +1,112 @@
1
+ // @generated by protoc-gen-es v2.13.0 with parameter "target=ts,import_extension=js"
2
+ // @generated from file memory.proto (package opencode.memory.v1, syntax proto3)
3
+ /* eslint-disable */
4
+ import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
5
+ /**
6
+ * Describes the file memory.proto.
7
+ */
8
+ export const file_memory = /*@__PURE__*/ fileDesc("CgxtZW1vcnkucHJvdG8SEm9wZW5jb2RlLm1lbW9yeS52MSI2CglWYWx1ZUxpc3QSKQoGdmFsdWVzGAEgAygLMhkub3BlbmNvZGUubWVtb3J5LnYxLlZhbHVlIpQBCgtWYWx1ZU9iamVjdBI7CgZmaWVsZHMYASADKAsyKy5vcGVuY29kZS5tZW1vcnkudjEuVmFsdWVPYmplY3QuRmllbGRzRW50cnkaSAoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEigKBXZhbHVlGAIgASgLMhkub3BlbmNvZGUubWVtb3J5LnYxLlZhbHVlOgI4ASKLAgoFVmFsdWUSFwoNYm9vbGVhbl92YWx1ZRgBIAEoCEgAEhYKDHNpZ25lZF92YWx1ZRgCIAEoEkgAEhgKDnVuc2lnbmVkX3ZhbHVlGAMgASgESAASFQoLZmxvYXRfdmFsdWUYBCABKAFIABIUCgp0ZXh0X3ZhbHVlGAUgASgJSAASMwoKbGlzdF92YWx1ZRgGIAEoCzIdLm9wZW5jb2RlLm1lbW9yeS52MS5WYWx1ZUxpc3RIABI3CgxvYmplY3RfdmFsdWUYByABKAsyHy5vcGVuY29kZS5tZW1vcnkudjEuVmFsdWVPYmplY3RIABIUCgpudWxsX3ZhbHVlGAggASgISABCBgoEa2luZCJsCgdSZXF1ZXN0EgoKAmlkGAEgASgEEioKBm1ldGhvZBgCIAEoDjIaLm9wZW5jb2RlLm1lbW9yeS52MS5NZXRob2QSKQoGcGFyYW1zGAMgASgLMhkub3BlbmNvZGUubWVtb3J5LnYxLlZhbHVlIlwKCFJlc3BvbnNlEgoKAmlkGAEgASgEEgoKAm9rGAIgASgIEikKBnJlc3VsdBgDIAEoCzIZLm9wZW5jb2RlLm1lbW9yeS52MS5WYWx1ZRINCgVlcnJvchgEIAEoCSrPAgoGTWV0aG9kEhYKEk1FVEhPRF9VTlNQRUNJRklFRBAAEhEKDU1FVEhPRF9TRUFSQ0gQARIQCgxNRVRIT0RfU1RPUkUQAhIOCgpNRVRIT0RfR0VUEAMSDwoLTUVUSE9EX0xJU1QQBBIRCg1NRVRIT0RfVVBEQVRFEAUSDgoKTUVUSE9EX1BJThAGEg8KC01FVEhPRF9MT0NLEAcSEQoNTUVUSE9EX0RFTEVURRAIEhEKDU1FVEhPRF9GT1JHRVQQCRIQCgxNRVRIT0RfUFVSR0UQChITCg9NRVRIT0RfRkVFREJBQ0sQCxIWChJNRVRIT0RfU1lOQ19TSEFSRUQQDBIRCg1NRVRIT0RfU1RBVFVTEA0SEwoPTUVUSE9EX09QVElNSVpFEA4SEQoNTUVUSE9EX0RPQ1RPUhAPEhMKD01FVEhPRF9TSFVURE9XThAQYgZwcm90bzM");
9
+ /**
10
+ * Describes the message opencode.memory.v1.ValueList.
11
+ * Use `create(ValueListSchema)` to create a new message.
12
+ */
13
+ export const ValueListSchema = /*@__PURE__*/ messageDesc(file_memory, 0);
14
+ /**
15
+ * Describes the message opencode.memory.v1.ValueObject.
16
+ * Use `create(ValueObjectSchema)` to create a new message.
17
+ */
18
+ export const ValueObjectSchema = /*@__PURE__*/ messageDesc(file_memory, 1);
19
+ /**
20
+ * Describes the message opencode.memory.v1.Value.
21
+ * Use `create(ValueSchema)` to create a new message.
22
+ */
23
+ export const ValueSchema = /*@__PURE__*/ messageDesc(file_memory, 2);
24
+ /**
25
+ * Describes the message opencode.memory.v1.Request.
26
+ * Use `create(RequestSchema)` to create a new message.
27
+ */
28
+ export const RequestSchema = /*@__PURE__*/ messageDesc(file_memory, 3);
29
+ /**
30
+ * Describes the message opencode.memory.v1.Response.
31
+ * Use `create(ResponseSchema)` to create a new message.
32
+ */
33
+ export const ResponseSchema = /*@__PURE__*/ messageDesc(file_memory, 4);
34
+ /**
35
+ * @generated from enum opencode.memory.v1.Method
36
+ */
37
+ export var Method;
38
+ (function (Method) {
39
+ /**
40
+ * @generated from enum value: METHOD_UNSPECIFIED = 0;
41
+ */
42
+ Method[Method["UNSPECIFIED"] = 0] = "UNSPECIFIED";
43
+ /**
44
+ * @generated from enum value: METHOD_SEARCH = 1;
45
+ */
46
+ Method[Method["SEARCH"] = 1] = "SEARCH";
47
+ /**
48
+ * @generated from enum value: METHOD_STORE = 2;
49
+ */
50
+ Method[Method["STORE"] = 2] = "STORE";
51
+ /**
52
+ * @generated from enum value: METHOD_GET = 3;
53
+ */
54
+ Method[Method["GET"] = 3] = "GET";
55
+ /**
56
+ * @generated from enum value: METHOD_LIST = 4;
57
+ */
58
+ Method[Method["LIST"] = 4] = "LIST";
59
+ /**
60
+ * @generated from enum value: METHOD_UPDATE = 5;
61
+ */
62
+ Method[Method["UPDATE"] = 5] = "UPDATE";
63
+ /**
64
+ * @generated from enum value: METHOD_PIN = 6;
65
+ */
66
+ Method[Method["PIN"] = 6] = "PIN";
67
+ /**
68
+ * @generated from enum value: METHOD_LOCK = 7;
69
+ */
70
+ Method[Method["LOCK"] = 7] = "LOCK";
71
+ /**
72
+ * @generated from enum value: METHOD_DELETE = 8;
73
+ */
74
+ Method[Method["DELETE"] = 8] = "DELETE";
75
+ /**
76
+ * @generated from enum value: METHOD_FORGET = 9;
77
+ */
78
+ Method[Method["FORGET"] = 9] = "FORGET";
79
+ /**
80
+ * @generated from enum value: METHOD_PURGE = 10;
81
+ */
82
+ Method[Method["PURGE"] = 10] = "PURGE";
83
+ /**
84
+ * @generated from enum value: METHOD_FEEDBACK = 11;
85
+ */
86
+ Method[Method["FEEDBACK"] = 11] = "FEEDBACK";
87
+ /**
88
+ * @generated from enum value: METHOD_SYNC_SHARED = 12;
89
+ */
90
+ Method[Method["SYNC_SHARED"] = 12] = "SYNC_SHARED";
91
+ /**
92
+ * @generated from enum value: METHOD_STATUS = 13;
93
+ */
94
+ Method[Method["STATUS"] = 13] = "STATUS";
95
+ /**
96
+ * @generated from enum value: METHOD_OPTIMIZE = 14;
97
+ */
98
+ Method[Method["OPTIMIZE"] = 14] = "OPTIMIZE";
99
+ /**
100
+ * @generated from enum value: METHOD_DOCTOR = 15;
101
+ */
102
+ Method[Method["DOCTOR"] = 15] = "DOCTOR";
103
+ /**
104
+ * @generated from enum value: METHOD_SHUTDOWN = 16;
105
+ */
106
+ Method[Method["SHUTDOWN"] = 16] = "SHUTDOWN";
107
+ })(Method || (Method = {}));
108
+ /**
109
+ * Describes the enum opencode.memory.v1.Method.
110
+ */
111
+ export const MethodSchema = /*@__PURE__*/ enumDesc(file_memory, 0);
112
+ //# sourceMappingURL=memory_pb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory_pb.js","sourceRoot":"","sources":["../../opencode-memory/src/generated/memory_pb.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,gFAAgF;AAChF,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG/E;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAY,aAAa,CAC/C,QAAQ,CAAC,y4CAAy4C,CAAC,CAAC;AAYt5C;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAA0B,aAAa,CACjE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAY9B;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA4B,aAAa,CACrE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AA4D9B;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAsB,aAAa,CACzD,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAsB9B;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAwB,aAAa,CAC7D,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AA2B9B;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAyB,aAAa,CAC/D,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAE9B;;GAEG;AACH,MAAM,CAAN,IAAY,MAqFX;AArFD,WAAY,MAAM;IAChB;;OAEG;IACH,iDAAe,CAAA;IAEf;;OAEG;IACH,uCAAU,CAAA;IAEV;;OAEG;IACH,qCAAS,CAAA;IAET;;OAEG;IACH,iCAAO,CAAA;IAEP;;OAEG;IACH,mCAAQ,CAAA;IAER;;OAEG;IACH,uCAAU,CAAA;IAEV;;OAEG;IACH,iCAAO,CAAA;IAEP;;OAEG;IACH,mCAAQ,CAAA;IAER;;OAEG;IACH,uCAAU,CAAA;IAEV;;OAEG;IACH,uCAAU,CAAA;IAEV;;OAEG;IACH,sCAAU,CAAA;IAEV;;OAEG;IACH,4CAAa,CAAA;IAEb;;OAEG;IACH,kDAAgB,CAAA;IAEhB;;OAEG;IACH,wCAAW,CAAA;IAEX;;OAEG;IACH,4CAAa,CAAA;IAEb;;OAEG;IACH,wCAAW,CAAA;IAEX;;OAEG;IACH,4CAAa,CAAA;AACf,CAAC,EArFW,MAAM,KAAN,MAAM,QAqFjB;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAoB,aAAa,CACxD,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ declare const _default: import("@opencode-ai/plugin").Plugin;
2
+ export default _default;
3
+ export { MEMORY_KINDS, MEMORY_SCOPES, MEMORY_TAXONOMIES, WRITABLE_MEMORY_SCOPES, FEEDBACK_EVENTS, LOCK_ACTIONS, LOCK_REASON_MAX, UNLOCK_FORBIDDEN_FIELDS, } from "./contracts.js";
4
+ export type { MemoryRecord, SearchResponse, ListResponse, PendingRecall, CuratedCandidate, SharedMemoryRecord, SharedSyncResponse, } from "./contracts.js";
5
+ export { NativeMemoryClient, resolveNativeMemoryBinary, REQUEST_TIMEOUT_MS, INITIALIZATION_TIMEOUT_MS, MAX_REQUEST_BYTES, MAX_RESPONSE_BYTES, } from "./sidecar-client.js";
6
+ export type { SpawnFn } from "./sidecar-client.js";
7
+ export { decodeResponse, DelimitedFrameDecoder, encodeRequest } from "./protocol.js";
8
+ export type { MemoryMethod } from "./protocol.js";
9
+ export { createMemoryPlugin } from "./plugin.js";
10
+ export type { MemoryPluginOptions } from "./plugin.js";
11
+ export { SessionContext } from "./session-context.js";
12
+ export { validateUpdateArgs } from "./validation.js";
13
+ export { formatRecalledMemories, parseCuratedCandidates, truncateText, contextBudgetChars, safeJson, MEMORY_POLICY_MARKER, MEMORY_POLICY, COMPACTION_CONTEXT, CANDIDATES_OPEN, CANDIDATES_CLOSE, } from "./policy.js";
14
+ export { loadSharedMemories, parseSharedMemory, writeSharedMemory, SHARED_MEMORY_RELATIVE_DIR, } from "./shared-markdown.js";
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../opencode-memory/src/index.ts"],"names":[],"mappings":";AAUA,wBAAyD;AAGzD,OAAO,EACL,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACrF,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,QAAQ,EACR,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,24 @@
1
+ import { fileURLToPath } from "node:url";
2
+ import { basename, dirname, resolve } from "node:path";
3
+ import { createMemoryPlugin } from "./plugin.js";
4
+ const moduleDirectory = dirname(fileURLToPath(import.meta.url));
5
+ const packageRoot = basename(moduleDirectory) === "dist"
6
+ ? resolve(moduleDirectory, "..")
7
+ : resolve(moduleDirectory, "../..");
8
+ export default createMemoryPlugin({ root: packageRoot });
9
+ // Contracts and constants
10
+ export { MEMORY_KINDS, MEMORY_SCOPES, MEMORY_TAXONOMIES, WRITABLE_MEMORY_SCOPES, FEEDBACK_EVENTS, LOCK_ACTIONS, LOCK_REASON_MAX, UNLOCK_FORBIDDEN_FIELDS, } from "./contracts.js";
11
+ // Sidecar client
12
+ export { NativeMemoryClient, resolveNativeMemoryBinary, REQUEST_TIMEOUT_MS, INITIALIZATION_TIMEOUT_MS, MAX_REQUEST_BYTES, MAX_RESPONSE_BYTES, } from "./sidecar-client.js";
13
+ export { decodeResponse, DelimitedFrameDecoder, encodeRequest } from "./protocol.js";
14
+ // Plugin factory
15
+ export { createMemoryPlugin } from "./plugin.js";
16
+ // Session context (testable abstraction)
17
+ export { SessionContext } from "./session-context.js";
18
+ // Lifecycle validation
19
+ export { validateUpdateArgs } from "./validation.js";
20
+ // Policy helpers
21
+ export { formatRecalledMemories, parseCuratedCandidates, truncateText, contextBudgetChars, safeJson, MEMORY_POLICY_MARKER, MEMORY_POLICY, COMPACTION_CONTEXT, CANDIDATES_OPEN, CANDIDATES_CLOSE, } from "./policy.js";
22
+ // Shared-markdown helpers
23
+ export { loadSharedMemories, parseSharedMemory, writeSharedMemory, SHARED_MEMORY_RELATIVE_DIR, } from "./shared-markdown.js";
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../opencode-memory/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAChE,MAAM,WAAW,GACf,QAAQ,CAAC,eAAe,CAAC,KAAK,MAAM;IAClC,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC;IAChC,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AAExC,eAAe,kBAAkB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;AAEzD,0BAA0B;AAC1B,OAAO,EACL,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAYxB,iBAAiB;AACjB,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGrF,iBAAiB;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,yCAAyC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,uBAAuB;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,iBAAiB;AACjB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,QAAQ,EACR,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,0BAA0B;AAC1B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Plugin } from "@opencode-ai/plugin";
2
+ export interface MemoryPluginOptions {
3
+ root: string;
4
+ warmup?: boolean;
5
+ }
6
+ export declare function createMemoryPlugin(options: MemoryPluginOptions): Plugin;
7
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../opencode-memory/src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,qBAAqB,CAAC;AAkC9D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CA4tBvE"}