@pairsystems/goodmem-mcp 0.1.6 → 0.1.8

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 (2) hide show
  1. package/dist/index.js +19 -19
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -21920,7 +21920,7 @@ function autoInferFromRegistry(registryType, args) {
21920
21920
  }
21921
21921
  var server = new McpServer({
21922
21922
  name: "goodmem",
21923
- version: "0.1.6"
21923
+ version: "0.1.8"
21924
21924
  });
21925
21925
  server.tool("goodmem_configure", "Configure GoodMem server connection. Call this before using other GoodMem tools if GOODMEM_BASE_URL and GOODMEM_API_KEY environment variables are not set. Session credentials override environment variables.", {
21926
21926
  base_url: external_exports.string().describe("GoodMem server URL (e.g., https://your-server.example.com)"),
@@ -21970,13 +21970,13 @@ ${allModels.join("\n")}` }] };
21970
21970
  });
21971
21971
  server.tool("goodmem_client_info", "Return the MCP client package version and the goodmem server commit it was built against. No server connection required.", {}, async () => {
21972
21972
  return { content: [{ type: "text", text: JSON.stringify({
21973
- mcpVersion: "0.1.6",
21973
+ mcpVersion: "0.1.8",
21974
21974
  basedOnGoodmemCommit: BASED_ON_GOODMEM_COMMIT
21975
21975
  }, null, 2) }] };
21976
21976
  });
21977
21977
  function registerTools() {
21978
21978
  server.tool("goodmem_admin_background_jobs_purge", "Purge completed background jobs", {
21979
- older_than: external_exports.string().describe("ISO-8601 timestamp cutoff; only terminal jobs older than this instant are eligible.").optional(),
21979
+ older_than: external_exports.string().describe("ISO-8601 timestamp cutoff; only terminal jobs older than this instant are eligible."),
21980
21980
  statuses: external_exports.array(external_exports.string()).describe("Optional terminal background job statuses to target for purging.").optional(),
21981
21981
  dry_run: external_exports.boolean().describe("If true, report purge counts without deleting any rows.").optional(),
21982
21982
  limit: external_exports.number().int().describe("Maximum number of jobs to purge in this request.").optional()
@@ -22070,7 +22070,7 @@ function registerTools() {
22070
22070
  inlineSecret: external_exports.string().describe("Secret stored directly in GoodMem (mutually exclusive with secretRef)").optional(),
22071
22071
  secretRef: external_exports.object({
22072
22072
  uri: external_exports.string().describe("URI identifying where the secret can be resolved (e.g., vault://, env://)"),
22073
- hints: external_exports.record(external_exports.string(), external_exports.unknown()).describe('Optional metadata to help resolvers decode the secret (e.g., {"encoding":"base64"})').optional()
22073
+ hints: external_exports.any().describe('Optional metadata to help resolvers decode the secret (e.g., {"encoding":"base64"})').optional()
22074
22074
  }).passthrough().describe("Reference to an external secret manager entry (mutually exclusive with inlineSecret)").optional(),
22075
22075
  headerName: external_exports.string().describe("Desired HTTP header to carry the credential (defaults to Authorization)").optional(),
22076
22076
  prefix: external_exports.string().describe('Optional prefix prepended to the secret (e.g., "Bearer ")').optional()
@@ -22079,7 +22079,7 @@ function registerTools() {
22079
22079
  scopes: external_exports.any().describe("Additional OAuth scopes. Empty list falls back to the default cloud-platform scope.").optional(),
22080
22080
  quotaProjectId: external_exports.string().describe("Optional quota project used for billing").optional()
22081
22081
  }).passthrough().describe("Configuration when kind is CREDENTIAL_KIND_GCP_ADC").optional(),
22082
- labels: external_exports.record(external_exports.string(), external_exports.string()).describe('Optional annotations to aid operators (e.g., "owner=vertex")').optional()
22082
+ labels: external_exports.any().describe('Optional annotations to aid operators (e.g., "owner=vertex")').optional()
22083
22083
  }).passthrough().describe("Structured credential payload describing how to authenticate with the provider. Required for SaaS providers such as COHERE, JINA, and VOYAGE; optional for local or proxy providers.").optional(),
22084
22084
  labels: external_exports.any().describe("User-defined labels for categorization").optional(),
22085
22085
  version: external_exports.string().describe("Version information").optional(),
@@ -22170,7 +22170,7 @@ function registerTools() {
22170
22170
  inlineSecret: external_exports.string().describe("Secret stored directly in GoodMem (mutually exclusive with secretRef)").optional(),
22171
22171
  secretRef: external_exports.object({
22172
22172
  uri: external_exports.string().describe("URI identifying where the secret can be resolved (e.g., vault://, env://)"),
22173
- hints: external_exports.record(external_exports.string(), external_exports.unknown()).describe('Optional metadata to help resolvers decode the secret (e.g., {"encoding":"base64"})').optional()
22173
+ hints: external_exports.any().describe('Optional metadata to help resolvers decode the secret (e.g., {"encoding":"base64"})').optional()
22174
22174
  }).passthrough().describe("Reference to an external secret manager entry (mutually exclusive with inlineSecret)").optional(),
22175
22175
  headerName: external_exports.string().describe("Desired HTTP header to carry the credential (defaults to Authorization)").optional(),
22176
22176
  prefix: external_exports.string().describe('Optional prefix prepended to the secret (e.g., "Bearer ")').optional()
@@ -22179,7 +22179,7 @@ function registerTools() {
22179
22179
  scopes: external_exports.any().describe("Additional OAuth scopes. Empty list falls back to the default cloud-platform scope.").optional(),
22180
22180
  quotaProjectId: external_exports.string().describe("Optional quota project used for billing").optional()
22181
22181
  }).passthrough().describe("Configuration when kind is CREDENTIAL_KIND_GCP_ADC").optional(),
22182
- labels: external_exports.record(external_exports.string(), external_exports.string()).describe('Optional annotations to aid operators (e.g., "owner=vertex")').optional()
22182
+ labels: external_exports.any().describe('Optional annotations to aid operators (e.g., "owner=vertex")').optional()
22183
22183
  }).passthrough().describe("Structured credential payload describing how to authenticate with the provider").optional(),
22184
22184
  replace_labels: external_exports.any().describe("Replace all existing labels with these (mutually exclusive with mergeLabels)").optional(),
22185
22185
  merge_labels: external_exports.any().describe("Merge these labels with existing ones (mutually exclusive with replaceLabels)").optional(),
@@ -22230,7 +22230,7 @@ function registerTools() {
22230
22230
  inlineSecret: external_exports.string().describe("Secret stored directly in GoodMem (mutually exclusive with secretRef)").optional(),
22231
22231
  secretRef: external_exports.object({
22232
22232
  uri: external_exports.string().describe("URI identifying where the secret can be resolved (e.g., vault://, env://)"),
22233
- hints: external_exports.record(external_exports.string(), external_exports.unknown()).describe('Optional metadata to help resolvers decode the secret (e.g., {"encoding":"base64"})').optional()
22233
+ hints: external_exports.any().describe('Optional metadata to help resolvers decode the secret (e.g., {"encoding":"base64"})').optional()
22234
22234
  }).passthrough().describe("Reference to an external secret manager entry (mutually exclusive with inlineSecret)").optional(),
22235
22235
  headerName: external_exports.string().describe("Desired HTTP header to carry the credential (defaults to Authorization)").optional(),
22236
22236
  prefix: external_exports.string().describe('Optional prefix prepended to the secret (e.g., "Bearer ")').optional()
@@ -22239,7 +22239,7 @@ function registerTools() {
22239
22239
  scopes: external_exports.any().describe("Additional OAuth scopes. Empty list falls back to the default cloud-platform scope.").optional(),
22240
22240
  quotaProjectId: external_exports.string().describe("Optional quota project used for billing").optional()
22241
22241
  }).passthrough().describe("Configuration when kind is CREDENTIAL_KIND_GCP_ADC").optional(),
22242
- labels: external_exports.record(external_exports.string(), external_exports.string()).describe('Optional annotations to aid operators (e.g., "owner=vertex")').optional()
22242
+ labels: external_exports.any().describe('Optional annotations to aid operators (e.g., "owner=vertex")').optional()
22243
22243
  }).passthrough().describe("Structured credential payload describing how to authenticate with the provider. Omit for deployments that do not require credentials.").optional(),
22244
22244
  labels: external_exports.any().describe("User-defined labels for categorization").optional(),
22245
22245
  version: external_exports.string().describe("Version information").optional(),
@@ -22349,7 +22349,7 @@ function registerTools() {
22349
22349
  inlineSecret: external_exports.string().describe("Secret stored directly in GoodMem (mutually exclusive with secretRef)").optional(),
22350
22350
  secretRef: external_exports.object({
22351
22351
  uri: external_exports.string().describe("URI identifying where the secret can be resolved (e.g., vault://, env://)"),
22352
- hints: external_exports.record(external_exports.string(), external_exports.unknown()).describe('Optional metadata to help resolvers decode the secret (e.g., {"encoding":"base64"})').optional()
22352
+ hints: external_exports.any().describe('Optional metadata to help resolvers decode the secret (e.g., {"encoding":"base64"})').optional()
22353
22353
  }).passthrough().describe("Reference to an external secret manager entry (mutually exclusive with inlineSecret)").optional(),
22354
22354
  headerName: external_exports.string().describe("Desired HTTP header to carry the credential (defaults to Authorization)").optional(),
22355
22355
  prefix: external_exports.string().describe('Optional prefix prepended to the secret (e.g., "Bearer ")').optional()
@@ -22358,7 +22358,7 @@ function registerTools() {
22358
22358
  scopes: external_exports.any().describe("Additional OAuth scopes. Empty list falls back to the default cloud-platform scope.").optional(),
22359
22359
  quotaProjectId: external_exports.string().describe("Optional quota project used for billing").optional()
22360
22360
  }).passthrough().describe("Configuration when kind is CREDENTIAL_KIND_GCP_ADC").optional(),
22361
- labels: external_exports.record(external_exports.string(), external_exports.string()).describe('Optional annotations to aid operators (e.g., "owner=vertex")').optional()
22361
+ labels: external_exports.any().describe('Optional annotations to aid operators (e.g., "owner=vertex")').optional()
22362
22362
  }).passthrough().describe("Update credentials").optional(),
22363
22363
  version: external_exports.string().describe("Update version information").optional(),
22364
22364
  monitoring_endpoint: external_exports.string().describe("Update monitoring endpoint URL").optional(),
@@ -22597,8 +22597,8 @@ function registerTools() {
22597
22597
  filter: external_exports.string().describe("Optional filter expression that must evaluate to true for memories in this space.").optional()
22598
22598
  }).passthrough()).describe("List of spaces to search with optional per-embedder weight overrides."),
22599
22599
  requested_size: external_exports.number().int().describe("Maximum number of memories to retrieve.").optional(),
22600
- fetch_memory: external_exports.boolean().describe("Whether to include full Memory objects in the response.").optional(),
22601
- fetch_memory_content: external_exports.boolean().describe("Whether to include memory content in the response. Requires fetchMemory=true.").optional(),
22600
+ fetch_memory: external_exports.boolean().describe("Whether to include streamed memory-definition records in the response. Defaults to true when omitted. These records include memory metadata and audit fields, but omit originalContent unless fetchMemoryContent is true.").optional(),
22601
+ fetch_memory_content: external_exports.boolean().describe("Whether streamed memory-definition records include originalContent bytes. Requires fetchMemory=true. Defaults to false when omitted.").optional(),
22602
22602
  hnsw: external_exports.object({
22603
22603
  efSearch: external_exports.number().int().describe("HNSW candidate list size (1..1000).").optional(),
22604
22604
  iterativeScan: external_exports.enum(["ITERATIVE_SCAN_UNSPECIFIED", "ITERATIVE_SCAN_OFF", "ITERATIVE_SCAN_RELAXED_ORDER", "ITERATIVE_SCAN_STRICT_ORDER"]).describe("HNSW iterative scan mode. Use POST retrieve for this advanced tuning control.").optional(),
@@ -22607,7 +22607,7 @@ function registerTools() {
22607
22607
  }).passthrough().describe("Optional request-level HNSW tuning overrides. Advanced usage; available on POST retrieve.").optional(),
22608
22608
  post_processor: external_exports.object({
22609
22609
  name: external_exports.string().describe("Fully qualified factory class name of the post-processor to apply."),
22610
- config: external_exports.record(external_exports.string(), external_exports.unknown()).describe("Configuration parameters for the post-processor. Fields depend on the selected processor; see the linked documentation for the built-in ChatPostProcessor schema.").optional()
22610
+ config: external_exports.any().describe("Configuration parameters for the post-processor. Fields depend on the selected processor; see the linked documentation for the built-in ChatPostProcessor schema.").optional()
22611
22611
  }).passthrough().describe("Optional post-processor configuration to transform retrieval results.").optional()
22612
22612
  }, async (args) => {
22613
22613
  const body = {};
@@ -22668,7 +22668,7 @@ function registerTools() {
22668
22668
  inlineSecret: external_exports.string().describe("Secret stored directly in GoodMem (mutually exclusive with secretRef)").optional(),
22669
22669
  secretRef: external_exports.object({
22670
22670
  uri: external_exports.string().describe("URI identifying where the secret can be resolved (e.g., vault://, env://)"),
22671
- hints: external_exports.record(external_exports.string(), external_exports.unknown()).describe('Optional metadata to help resolvers decode the secret (e.g., {"encoding":"base64"})').optional()
22671
+ hints: external_exports.any().describe('Optional metadata to help resolvers decode the secret (e.g., {"encoding":"base64"})').optional()
22672
22672
  }).passthrough().describe("Reference to an external secret manager entry (mutually exclusive with inlineSecret)").optional(),
22673
22673
  headerName: external_exports.string().describe("Desired HTTP header to carry the credential (defaults to Authorization)").optional(),
22674
22674
  prefix: external_exports.string().describe('Optional prefix prepended to the secret (e.g., "Bearer ")').optional()
@@ -22677,7 +22677,7 @@ function registerTools() {
22677
22677
  scopes: external_exports.any().describe("Additional OAuth scopes. Empty list falls back to the default cloud-platform scope.").optional(),
22678
22678
  quotaProjectId: external_exports.string().describe("Optional quota project used for billing").optional()
22679
22679
  }).passthrough().describe("Configuration when kind is CREDENTIAL_KIND_GCP_ADC").optional(),
22680
- labels: external_exports.record(external_exports.string(), external_exports.string()).describe('Optional annotations to aid operators (e.g., "owner=vertex")').optional()
22680
+ labels: external_exports.any().describe('Optional annotations to aid operators (e.g., "owner=vertex")').optional()
22681
22681
  }).passthrough().describe("Structured credential payload describing how to authenticate with the provider. Required for SaaS providers; optional for local deployments.").optional(),
22682
22682
  labels: external_exports.any().describe("User-defined labels for categorization").optional(),
22683
22683
  version: external_exports.string().describe("Version information").optional(),
@@ -22760,7 +22760,7 @@ function registerTools() {
22760
22760
  inlineSecret: external_exports.string().describe("Secret stored directly in GoodMem (mutually exclusive with secretRef)").optional(),
22761
22761
  secretRef: external_exports.object({
22762
22762
  uri: external_exports.string().describe("URI identifying where the secret can be resolved (e.g., vault://, env://)"),
22763
- hints: external_exports.record(external_exports.string(), external_exports.unknown()).describe('Optional metadata to help resolvers decode the secret (e.g., {"encoding":"base64"})').optional()
22763
+ hints: external_exports.any().describe('Optional metadata to help resolvers decode the secret (e.g., {"encoding":"base64"})').optional()
22764
22764
  }).passthrough().describe("Reference to an external secret manager entry (mutually exclusive with inlineSecret)").optional(),
22765
22765
  headerName: external_exports.string().describe("Desired HTTP header to carry the credential (defaults to Authorization)").optional(),
22766
22766
  prefix: external_exports.string().describe('Optional prefix prepended to the secret (e.g., "Bearer ")').optional()
@@ -22769,7 +22769,7 @@ function registerTools() {
22769
22769
  scopes: external_exports.any().describe("Additional OAuth scopes. Empty list falls back to the default cloud-platform scope.").optional(),
22770
22770
  quotaProjectId: external_exports.string().describe("Optional quota project used for billing").optional()
22771
22771
  }).passthrough().describe("Configuration when kind is CREDENTIAL_KIND_GCP_ADC").optional(),
22772
- labels: external_exports.record(external_exports.string(), external_exports.string()).describe('Optional annotations to aid operators (e.g., "owner=vertex")').optional()
22772
+ labels: external_exports.any().describe('Optional annotations to aid operators (e.g., "owner=vertex")').optional()
22773
22773
  }).passthrough().describe("Structured credential payload describing how to authenticate with the provider. Omit to keep existing credentials.").optional(),
22774
22774
  replace_labels: external_exports.any().describe("Replace all existing labels with these (mutually exclusive with mergeLabels)").optional(),
22775
22775
  merge_labels: external_exports.any().describe("Merge these labels with existing ones (mutually exclusive with replaceLabels)").optional(),
@@ -22808,7 +22808,7 @@ function registerTools() {
22808
22808
  space_embedders: external_exports.array(external_exports.object({
22809
22809
  embedderId: external_exports.string().describe("The UUID for the embedder to associate with the space."),
22810
22810
  defaultRetrievalWeight: external_exports.number().describe("Relative weight for this embedder used by default during retrieval. If omitted, defaults to 1.0; values need not sum to 1 and can be overridden per request.").optional()
22811
- }).passthrough()).describe("List of embedder configurations to associate with this space. Each specifies an embedder ID and a relative default retrieval weight used when no per-request overrides are provided."),
22811
+ }).passthrough()).describe("List of embedder configurations to associate with this space. At least one embedder configuration is required. Each specifies an embedder ID and a relative default retrieval weight used when no per-request overrides are provided."),
22812
22812
  public_read: external_exports.boolean().describe("Indicates if the space and its memories can be read by unauthenticated users or users other than the owner. Defaults to false.").optional(),
22813
22813
  owner_id: external_exports.string().describe("Optional owner ID. If not provided, derived from the authentication context. Requires CREATE_SPACE_ANY permission if specified.").optional(),
22814
22814
  default_chunking_config: external_exports.object({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pairsystems/goodmem-mcp",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "GoodMem MCP server \u2014 exposes GoodMem API as MCP tools",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",