aismemory 0.8.2 → 0.8.4

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 (198) hide show
  1. package/README.md +146 -3
  2. package/dist/__tests__/agent-key-mode.test.js +46 -5
  3. package/dist/__tests__/agent-key-mode.test.js.map +1 -1
  4. package/dist/__tests__/ais-http.test.js +49 -1
  5. package/dist/__tests__/ais-http.test.js.map +1 -1
  6. package/dist/__tests__/auto-enroll-key.test.js +20 -1
  7. package/dist/__tests__/auto-enroll-key.test.js.map +1 -1
  8. package/dist/__tests__/cli-info.test.d.ts +1 -0
  9. package/dist/__tests__/cli-info.test.js +117 -0
  10. package/dist/__tests__/cli-info.test.js.map +1 -0
  11. package/dist/__tests__/client-credential-expiry.test.d.ts +1 -0
  12. package/dist/__tests__/client-credential-expiry.test.js +319 -0
  13. package/dist/__tests__/client-credential-expiry.test.js.map +1 -0
  14. package/dist/__tests__/credential-resolution.test.js +10 -4
  15. package/dist/__tests__/credential-resolution.test.js.map +1 -1
  16. package/dist/__tests__/declared-agent.test.d.ts +1 -0
  17. package/dist/__tests__/declared-agent.test.js +60 -0
  18. package/dist/__tests__/declared-agent.test.js.map +1 -0
  19. package/dist/__tests__/doctor.test.js +21 -2
  20. package/dist/__tests__/doctor.test.js.map +1 -1
  21. package/dist/__tests__/dream-poll.test.d.ts +1 -0
  22. package/dist/__tests__/dream-poll.test.js +130 -0
  23. package/dist/__tests__/dream-poll.test.js.map +1 -0
  24. package/dist/__tests__/enable-key-auth.test.d.ts +1 -0
  25. package/dist/__tests__/enable-key-auth.test.js +180 -0
  26. package/dist/__tests__/enable-key-auth.test.js.map +1 -0
  27. package/dist/__tests__/existing-hashes.test.js +3 -6
  28. package/dist/__tests__/existing-hashes.test.js.map +1 -1
  29. package/dist/__tests__/full-context-view-forwarding.test.js +20 -1
  30. package/dist/__tests__/full-context-view-forwarding.test.js.map +1 -1
  31. package/dist/__tests__/hooks.test.d.ts +1 -0
  32. package/dist/__tests__/hooks.test.js +455 -0
  33. package/dist/__tests__/hooks.test.js.map +1 -0
  34. package/dist/__tests__/hydration.test.js +2 -0
  35. package/dist/__tests__/hydration.test.js.map +1 -1
  36. package/dist/__tests__/install.test.js +28 -1
  37. package/dist/__tests__/install.test.js.map +1 -1
  38. package/dist/__tests__/invite-accept.test.d.ts +1 -0
  39. package/dist/__tests__/invite-accept.test.js +282 -0
  40. package/dist/__tests__/invite-accept.test.js.map +1 -0
  41. package/dist/__tests__/list-all-agents.test.js +17 -15
  42. package/dist/__tests__/list-all-agents.test.js.map +1 -1
  43. package/dist/__tests__/mcp-instructions.test.d.ts +1 -0
  44. package/dist/__tests__/mcp-instructions.test.js +26 -0
  45. package/dist/__tests__/mcp-instructions.test.js.map +1 -0
  46. package/dist/__tests__/mcp-tools.test.js +136 -5
  47. package/dist/__tests__/mcp-tools.test.js.map +1 -1
  48. package/dist/__tests__/memory-export.test.d.ts +1 -0
  49. package/dist/__tests__/memory-export.test.js +78 -0
  50. package/dist/__tests__/memory-export.test.js.map +1 -0
  51. package/dist/__tests__/missing-credential-help.test.d.ts +1 -0
  52. package/dist/__tests__/missing-credential-help.test.js +14 -0
  53. package/dist/__tests__/missing-credential-help.test.js.map +1 -0
  54. package/dist/__tests__/owner-credentials.test.d.ts +1 -0
  55. package/dist/__tests__/owner-credentials.test.js +250 -0
  56. package/dist/__tests__/owner-credentials.test.js.map +1 -0
  57. package/dist/__tests__/owner-keychain-agent-load.test.d.ts +1 -0
  58. package/dist/__tests__/owner-keychain-agent-load.test.js +57 -0
  59. package/dist/__tests__/owner-keychain-agent-load.test.js.map +1 -0
  60. package/dist/__tests__/recall-order-by.test.d.ts +1 -0
  61. package/dist/__tests__/recall-order-by.test.js +115 -0
  62. package/dist/__tests__/recall-order-by.test.js.map +1 -0
  63. package/dist/__tests__/reconnect-survival-e2e.test.js +3 -2
  64. package/dist/__tests__/reconnect-survival-e2e.test.js.map +1 -1
  65. package/dist/__tests__/remember-duplicate-truth.test.js +11 -0
  66. package/dist/__tests__/remember-duplicate-truth.test.js.map +1 -1
  67. package/dist/__tests__/request-timeout.test.js +15 -0
  68. package/dist/__tests__/request-timeout.test.js.map +1 -1
  69. package/dist/__tests__/resolve-agent-preference.test.js +19 -8
  70. package/dist/__tests__/resolve-agent-preference.test.js.map +1 -1
  71. package/dist/__tests__/retry-after.test.js +53 -0
  72. package/dist/__tests__/retry-after.test.js.map +1 -1
  73. package/dist/__tests__/run-pass-mode.test.js +34 -1
  74. package/dist/__tests__/run-pass-mode.test.js.map +1 -1
  75. package/dist/__tests__/session-identity.test.js +63 -0
  76. package/dist/__tests__/session-identity.test.js.map +1 -1
  77. package/dist/__tests__/signin-keychain.test.d.ts +1 -0
  78. package/dist/__tests__/signin-keychain.test.js +79 -0
  79. package/dist/__tests__/signin-keychain.test.js.map +1 -0
  80. package/dist/__tests__/startup-identity.test.d.ts +1 -0
  81. package/dist/__tests__/startup-identity.test.js +213 -0
  82. package/dist/__tests__/startup-identity.test.js.map +1 -0
  83. package/dist/__tests__/sync-auth.test.d.ts +1 -0
  84. package/dist/__tests__/sync-auth.test.js +69 -0
  85. package/dist/__tests__/sync-auth.test.js.map +1 -0
  86. package/dist/__tests__/sync-doc.test.d.ts +1 -0
  87. package/dist/__tests__/sync-doc.test.js +13 -0
  88. package/dist/__tests__/sync-doc.test.js.map +1 -0
  89. package/dist/__tests__/sync-memory-cli.test.js +1 -1
  90. package/dist/__tests__/sync-memory-cli.test.js.map +1 -1
  91. package/dist/__tests__/tool-args.test.js +6 -0
  92. package/dist/__tests__/tool-args.test.js.map +1 -1
  93. package/dist/__tests__/version-check.test.js +16 -1
  94. package/dist/__tests__/version-check.test.js.map +1 -1
  95. package/dist/agent-key-mode.js +24 -24
  96. package/dist/agent-key-mode.js.map +1 -1
  97. package/dist/agent-preference.d.ts +4 -0
  98. package/dist/agent-preference.js +7 -1
  99. package/dist/agent-preference.js.map +1 -1
  100. package/dist/ais-http-error.d.ts +5 -0
  101. package/dist/ais-http-error.js +10 -0
  102. package/dist/ais-http-error.js.map +1 -1
  103. package/dist/ais-http.d.ts +2 -0
  104. package/dist/ais-http.js +41 -6
  105. package/dist/ais-http.js.map +1 -1
  106. package/dist/auto-handoff.js +2 -1
  107. package/dist/auto-handoff.js.map +1 -1
  108. package/dist/cli/doctor.d.ts +8 -0
  109. package/dist/cli/doctor.js +19 -0
  110. package/dist/cli/doctor.js.map +1 -1
  111. package/dist/cli/enable-key-auth.js +39 -18
  112. package/dist/cli/enable-key-auth.js.map +1 -1
  113. package/dist/cli/export-harness.d.ts +13 -0
  114. package/dist/cli/export-harness.js +110 -0
  115. package/dist/cli/export-harness.js.map +1 -0
  116. package/dist/cli/hooks.d.ts +62 -0
  117. package/dist/cli/hooks.js +634 -0
  118. package/dist/cli/hooks.js.map +1 -0
  119. package/dist/cli/install.d.ts +4 -0
  120. package/dist/cli/install.js +44 -5
  121. package/dist/cli/install.js.map +1 -1
  122. package/dist/cli/invite-accept.d.ts +67 -0
  123. package/dist/cli/invite-accept.js +295 -0
  124. package/dist/cli/invite-accept.js.map +1 -0
  125. package/dist/cli/owner-credentials.d.ts +52 -0
  126. package/dist/cli/owner-credentials.js +387 -0
  127. package/dist/cli/owner-credentials.js.map +1 -0
  128. package/dist/cli/sync-memory.js +7 -9
  129. package/dist/cli/sync-memory.js.map +1 -1
  130. package/dist/cli-info.d.ts +18 -0
  131. package/dist/cli-info.js +77 -0
  132. package/dist/cli-info.js.map +1 -0
  133. package/dist/credential-expiry.d.ts +10 -0
  134. package/dist/credential-expiry.js +41 -0
  135. package/dist/credential-expiry.js.map +1 -0
  136. package/dist/credential-whoami.js +1 -1
  137. package/dist/credential-whoami.js.map +1 -1
  138. package/dist/declared-agent.d.ts +20 -0
  139. package/dist/declared-agent.js +40 -0
  140. package/dist/declared-agent.js.map +1 -0
  141. package/dist/device-poll.d.ts +1 -0
  142. package/dist/device-poll.js.map +1 -1
  143. package/dist/dream-poll.d.ts +19 -0
  144. package/dist/dream-poll.js +93 -0
  145. package/dist/dream-poll.js.map +1 -0
  146. package/dist/env-agent.d.ts +6 -1
  147. package/dist/env-agent.js +18 -5
  148. package/dist/env-agent.js.map +1 -1
  149. package/dist/hydration.js +2 -1
  150. package/dist/hydration.js.map +1 -1
  151. package/dist/index.d.ts +1 -0
  152. package/dist/index.js +145 -18
  153. package/dist/index.js.map +1 -1
  154. package/dist/key-auth.d.ts +13 -3
  155. package/dist/key-auth.js +27 -5
  156. package/dist/key-auth.js.map +1 -1
  157. package/dist/mcp/tools.js +55 -25
  158. package/dist/mcp/tools.js.map +1 -1
  159. package/dist/mcp-instructions.d.ts +6 -0
  160. package/dist/mcp-instructions.js +7 -0
  161. package/dist/mcp-instructions.js.map +1 -0
  162. package/dist/memory-export.d.ts +30 -0
  163. package/dist/memory-export.js +116 -0
  164. package/dist/memory-export.js.map +1 -0
  165. package/dist/pipeline/bulk-store.d.ts +2 -5
  166. package/dist/pipeline/bulk-store.js +2 -4
  167. package/dist/pipeline/bulk-store.js.map +1 -1
  168. package/dist/pipeline/existing-hashes.d.ts +2 -5
  169. package/dist/pipeline/existing-hashes.js +1 -2
  170. package/dist/pipeline/existing-hashes.js.map +1 -1
  171. package/dist/pipeline/sync-auth.d.ts +12 -0
  172. package/dist/pipeline/sync-auth.js +64 -0
  173. package/dist/pipeline/sync-auth.js.map +1 -0
  174. package/dist/refresh.js +2 -1
  175. package/dist/refresh.js.map +1 -1
  176. package/dist/request-timeout.d.ts +4 -4
  177. package/dist/request-timeout.js +15 -6
  178. package/dist/request-timeout.js.map +1 -1
  179. package/dist/run-pass-mode.js +48 -15
  180. package/dist/run-pass-mode.js.map +1 -1
  181. package/dist/session-identity.js +14 -12
  182. package/dist/session-identity.js.map +1 -1
  183. package/dist/signin-keychain.d.ts +54 -0
  184. package/dist/signin-keychain.js +200 -0
  185. package/dist/signin-keychain.js.map +1 -0
  186. package/dist/startup-identity.d.ts +71 -0
  187. package/dist/startup-identity.js +213 -0
  188. package/dist/startup-identity.js.map +1 -0
  189. package/dist/tool-args.d.ts +10 -0
  190. package/dist/tool-args.js +39 -0
  191. package/dist/tool-args.js.map +1 -1
  192. package/dist/types.d.ts +8 -0
  193. package/dist/version-check.d.ts +8 -0
  194. package/dist/version-check.js +21 -1
  195. package/dist/version-check.js.map +1 -1
  196. package/dist/workspace-key-mode.js +54 -33
  197. package/dist/workspace-key-mode.js.map +1 -1
  198. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -11,23 +11,25 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
11
11
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
12
12
  import { mkdirSync, writeFileSync } from 'node:fs';
13
13
  import { join } from 'node:path';
14
- import { tryKeyAuth, enrollKeyIfNeeded, hasEnrolledKey } from './key-auth.js';
14
+ import { tryKeyAuth, enrollKeyIfNeeded, formatAutoEnrollFailureStderr, hasEnrolledKey } from './key-auth.js';
15
15
  import { isCredsStale, isNoRegisteredKeysAuthError } from './auth-staleness.js';
16
16
  import { AisHttpError } from './ais-http-error.js';
17
17
  import { aisGet, aisPost, DEFAULT_AIS_URL } from './ais-http.js';
18
18
  import { CallToolRequestSchema, GetPromptRequestSchema, ListPromptsRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
19
19
  import { homedir } from 'node:os';
20
- import { loadOAuthCredentials, loadNonStaleDiskBearer, saveOAuthCredentials, } from './oauth-credentials.js';
20
+ import { credentialsFilePath, loadOAuthCredentials, loadNonStaleDiskBearer, saveOAuthCredentials, } from './oauth-credentials.js';
21
21
  import { clearPendingDeviceFlow, isResumableDeviceFlow, loadPendingDeviceFlow, savePendingDeviceFlow, } from './pending-device-flow.js';
22
22
  import { saveAgentPreference, loadAgentPreference, migrateCredentialsFileIfNeeded } from './agent-preference.js';
23
+ import { credentialsFromOwnerKeychain, isSigninKeychainAvailable, ownerUserIdFromAccessToken, requireOwnerKeychainCredentials, saveOwnerSignInToKeychain, } from './signin-keychain.js';
23
24
  import { createTokenManager, isNoRegisteredKeyFailure } from './token-manager.js';
24
25
  import { hydrateIdentity } from './hydration.js';
25
26
  import { assemblePrompt } from './prompt-resource.js';
26
27
  import { startRefreshTimer, stopRefreshTimer } from './refresh.js';
27
28
  import { ActivityTracker, setupAutoHandoff } from './auto-handoff.js';
28
- import { assertEnvAgentInTenant, selectAgentForSession } from './env-agent.js';
29
+ import { assertEnvAgentInTenant, EnvAgentNameError, selectAgentForSession } from './env-agent.js';
29
30
  import { emitTelemetry, hashAgentId } from './telemetry.js';
30
31
  import { INBOX_MAX_BODY_CHARS, INBOX_MAX_TASK_ID_CHARS, INBOX_MIN_TTL_SECONDS, INBOX_MAX_TTL_SECONDS, INBOX_DEFAULT_TTL_SECONDS, INBOX_MAX_PAGE_SIZE, INBOX_DEFAULT_PAGE_SIZE, INBOX_MAX_ACK_IDS, GOAL_MAX_TITLE_CHARS, GOAL_MAX_DESCRIPTION_CHARS, GOAL_MAX_CRITERIA_ITEMS, GOAL_DEFAULT_PAGE_SIZE, GOAL_MAX_PAGE_SIZE, } from './tool-args.js';
32
+ import { setDeclaredAgentSource } from './declared-agent.js';
31
33
  import { identityCredentialFingerprint, loadSessionIdentity, verifyPinnedIdentity } from './session-identity.js';
32
34
  import { runPollLoop, DeviceFlowRestartedError } from './device-poll.js';
33
35
  import { loadAgentApiKeyConfig, AgentApiKeyConfigError, } from './agent-key-mode.js';
@@ -35,6 +37,9 @@ import { loadWorkspaceKeyConfig, WorkspaceKeyConfigError, } from './workspace-ke
35
37
  import { loadRunPassConfig, RunPassConfigError, } from './run-pass-mode.js';
36
38
  import { createAgentKeyCallToolHandler, createOAuthCallToolHandler, createRunPassCallToolHandler, createWorkspaceKeyCallToolHandler, } from './mcp/tools.js';
37
39
  import { readPackageVersion, startVersionCheck } from './version-check.js';
40
+ import { AIS_MCP_INSTRUCTIONS } from './mcp-instructions.js';
41
+ import { HUMAN_HOWTO_TEXT, resolveInfoRequest } from './cli-info.js';
42
+ import { describeStartupIdentity, findDuplicateServerNames, formatDuplicateServerWarning, formatStartupIdentityLine, setServerNameConflicts, setStartupIdentity, } from './startup-identity.js';
38
43
  import { AGENT_ARCHIVE_DESCRIPTION, AGENT_ARCHIVE_INPUT_SCHEMA, AGENT_DELETE_ALIAS_DESCRIPTION } from './agent-archive.js';
39
44
  // ── Config ──────────────────────────────────────────────
40
45
  const AIS_URL = process.env['AIS_URL']?.trim() || DEFAULT_AIS_URL;
@@ -51,8 +56,12 @@ function loadCredentials() {
51
56
  // owns the live session and this v1 disk bearer must never be treated
52
57
  // as it (F4) — see the hasEnrolledKey() guard at the bottom of main().
53
58
  migrateCredentialsFileIfNeeded();
59
+ const pref = loadAgentPreference();
60
+ const fromKeychain = pref ? credentialsFromOwnerKeychain(AIS_URL, pref) : null;
61
+ if (fromKeychain)
62
+ return fromKeychain;
54
63
  const data = loadOAuthCredentials();
55
- if (!data)
64
+ if (!data?.token)
56
65
  return null;
57
66
  if (isCredsStale(data.expiresAt, Date.now())) {
58
67
  stderr('Saved credentials expired or expiring soon. Re-authenticating...');
@@ -64,6 +73,23 @@ function loadCredentials() {
64
73
  function stderr(msg) {
65
74
  process.stderr.write(`[aismemory] ${msg}\n`);
66
75
  }
76
+ /**
77
+ * CORBOT-5D16CF2A: one stderr line naming the client version, the agent and
78
+ * where its credential comes from, so version drift and a shadowed config
79
+ * entry are visible at startup. Also kept for whoami. Never prints a value.
80
+ */
81
+ function reportStartupIdentity(input) {
82
+ const identity = describeStartupIdentity(PACKAGE_VERSION, input);
83
+ setStartupIdentity(identity);
84
+ stderr(formatStartupIdentityLine(identity));
85
+ }
86
+ /** CORBOT-5D16CF2A: warn when the launching config defines this server name in several scopes. */
87
+ function reportDuplicateServerNames() {
88
+ const conflicts = findDuplicateServerNames({ home: homedir(), cwd: process.cwd() });
89
+ setServerNameConflicts(conflicts);
90
+ for (const conflict of conflicts)
91
+ stderr(`Warning: ${formatDuplicateServerWarning(conflict)}`);
92
+ }
67
93
  function rejectRunPassWithKeyEnv(env) {
68
94
  if (env['AIS_RUN_PASS_FILE'] === undefined)
69
95
  return;
@@ -194,16 +220,20 @@ async function resolveAgent(token, fallbackAgentId, fallbackTenantId, preferredA
194
220
  }
195
221
  return { agentId: selection.agentId, tenantId: fallbackTenantId };
196
222
  }
197
- catch {
223
+ catch (error) {
224
+ if (error instanceof EnvAgentNameError) {
225
+ stderr(error.message);
226
+ throw error;
227
+ }
198
228
  stderr(`Could not list agents. Using new agent: ${fallbackAgentId}`);
199
229
  return { agentId: fallbackAgentId, tenantId: fallbackTenantId };
200
230
  }
201
231
  }
202
- const MISSING_CREDENTIAL_HELP = 'Missing AIS credential: no authenticated aismemory MCP session, AIS_WORKSPACE_KEY / AIS_API_KEY, or usable local OAuth cache. ' +
232
+ export const MISSING_CREDENTIAL_HELP = 'Missing AIS credential: no authenticated aismemory MCP session, AIS_WORKSPACE_KEY / AIS_API_KEY, or usable local OAuth cache. ' +
203
233
  'Connect aismemory and complete AIS sign-in, or ask your workspace owner for a scoped ais_wk_ key ' +
204
234
  '(ais_ak_ for a single agent) and configure AIS_WORKSPACE_KEY / AIS_API_KEY with AIS_AGENT_ID. ' +
205
235
  'Local sign-in can use ~/.aismemory/credentials.json. ' +
206
- 'Railway is an operator-only last resort for locating an existing scoped key; client surfaces never fetch AIS_SERVICE_KEY or DATABASE_URL.';
236
+ 'Several agents? Mint one workspace key at https://agentsandswarms.ai/settings, set AIS_WORKSPACE_KEY and AIS_AGENT_ID, then switch with agent_load.';
207
237
  /**
208
238
  * Bond URL surfaced when a tool is called before the user has approved the
209
239
  * device flow. Caller catches this and returns the text to the MCP client
@@ -453,7 +483,35 @@ flowRef) {
453
483
  // a regression versus 0.6.2, which always persisted the token and
454
484
  // reconnected silently. migrateCredentialsFileIfNeeded() (agent-preference.ts)
455
485
  // is what later removes this token from disk, once a key gets enrolled.
456
- if (hasEnrolledKey()) {
486
+ const refreshToken = pollResp.refresh_token;
487
+ const ownerUserId = ownerUserIdFromAccessToken(creds.token);
488
+ const keychainPersisted = !sessionIdentity &&
489
+ typeof refreshToken === 'string' &&
490
+ refreshToken.length > 0 &&
491
+ ownerUserId !== null &&
492
+ isSigninKeychainAvailable();
493
+ if (keychainPersisted) {
494
+ try {
495
+ saveOwnerSignInToKeychain({
496
+ aisUrl: AIS_URL,
497
+ accessToken: creds.token,
498
+ refreshToken,
499
+ expiresAt: creds.expiresAt,
500
+ });
501
+ saveAgentPreference({ agentId: creds.agentId, tenantId: creds.tenantId, ownerUserId });
502
+ }
503
+ catch (err) {
504
+ const message = err instanceof Error ? err.message : String(err);
505
+ stderr(`Could not store owner sign-in in the OS keychain (${message}); saving to disk instead.`);
506
+ if (hasEnrolledKey()) {
507
+ saveAgentPreference({ agentId: creds.agentId, tenantId: creds.tenantId, ownerUserId });
508
+ }
509
+ else {
510
+ saveOAuthCredentials(creds);
511
+ }
512
+ }
513
+ }
514
+ else if (hasEnrolledKey()) {
457
515
  if (!sessionIdentity)
458
516
  saveAgentPreference({ agentId: creds.agentId, tenantId: creds.tenantId });
459
517
  }
@@ -485,6 +543,7 @@ const tools = [
485
543
  type: { type: 'string', enum: ['fact', 'event', 'lesson', 'context', 'goal', 'task'], description: 'Memory type' },
486
544
  importance: { type: 'number', minimum: 0, maximum: 1, description: 'Importance (0-1, default 0.5)' },
487
545
  tags: { type: 'array', items: { type: 'string' }, description: 'Optional tags to filter on later, e.g. ["work", "acme"]. At most 20; each 1-64 characters of a-z 0-9 . _ : - (stored lower-case). Tags are a filter, not a permission — use separate agents to wall off e.g. work from personal.' },
546
+ supersedes: { type: 'string', description: 'Optional: the id of an older memory of yours that this one replaces (e.g. a lesson that turned out wrong). The old memory is kept but no longer returned by recall. Refused if that id is not one of your memories or is already superseded.' },
488
547
  },
489
548
  required: ['content'],
490
549
  },
@@ -494,6 +553,7 @@ const tools = [
494
553
  description: "Search memories by natural language query. Set principalAgentId to search a DIFFERENT " +
495
554
  "agent's memories under a 'memory:read' grant from that agent's owner. " +
496
555
  "Each memory carries createdAt, updatedAt (its last edit), and tags. " +
556
+ "Pass orderBy='newest' with type or tags to get the newest matching memories first. " +
497
557
  "Memories superseded by a newer one are left out; to list or page through every memory, " +
498
558
  "use the REST list route described in the aismemory README (cursor paging, sortBy=updatedAt, includeSuperseded=true)." + BOND_LINK_NOTE,
499
559
  inputSchema: {
@@ -503,6 +563,7 @@ const tools = [
503
563
  limit: { type: 'number', description: 'Max results (default 10)' },
504
564
  type: { type: 'string', enum: ['fact', 'event', 'lesson', 'context', 'goal', 'task'], description: 'Filter by type' },
505
565
  tags: { type: 'array', items: { type: 'string' }, description: 'Only memories carrying ALL of these tags. A hard filter: results are never widened past it.' },
566
+ orderBy: { type: 'string', enum: ['newest'], description: "Set 'newest' to list matching memories newest-first (createdAt descending) instead of ranking by meaning. Use it when you store near-duplicate memories, such as repeated task memories that differ by a counter, and need the latest one first. The query text is not used for ranking, and 'newest' needs type or tags. Default (omitted): ranked search, unchanged." },
506
567
  principalAgentId: { type: 'string', description: "Optional: search ANOTHER agent's memories instead of your own (its agent UUID). Requires that agent's owner to have granted you the 'memory:read' scope and that you share a tenant; otherwise the call is refused with 403. Read-only — your own identity and write access are unchanged." },
507
568
  },
508
569
  required: ['query'],
@@ -553,12 +614,13 @@ const tools = [
553
614
  memoriesLimit: { type: 'number', description: 'Number of memories to load (1-50, default 5). Lower values reduce context size. Governs recent memories only — on the full view that is a small share of the payload, so prefer view to bound the whole response.' },
554
615
  view: { type: 'string', enum: ['full', 'lean', 'bootstrap'], description: "Which projection to load. 'full' (default) is everything the stores hold, bounded to 6000 tokens. 'lean' is continuity only — last handoff first, then recent memories. 'bootstrap' is lean plus goals and inbox, for starting a session in another harness. All three honour maxTokens." },
555
616
  maxTokens: { type: 'number', description: 'Token ceiling (500-20000; default 6000 for full, 2000 for lean, 3000 for bootstrap). Content is evicted from the tail until the payload fits — assembled context sections, then facts, then goals, then recent memories on the full view — and each eviction is named in receipt.omitted. Identity, the operating layer and the last handoff are never dropped.' },
617
+ contextWindowSize: { type: 'number', description: "Your model's context window in tokens (1000-10000000). The skills budget scales with it; omit for the server default." },
556
618
  },
557
619
  },
558
620
  },
559
621
  {
560
622
  name: 'dream',
561
- description: 'Trigger a memory consolidation dream cycle — promotes important memories and archives old ones. Promotion only scans the session tier; active-tier memories move via context-clear or handoff, not dream.',
623
+ description: 'Trigger a memory consolidation dream cycle — promotes important memories and archives old ones. Promotion only scans the session tier; active-tier memories move via context-clear or handoff, not dream. A long cycle runs server-side; the call waits up to AIS_DREAM_POLL_MS (default 120 s) and, if still running, returns status "running" with the runId — the run keeps going on the server; calling dream again while it is active returns the same runId.',
562
624
  inputSchema: { type: 'object', properties: {} },
563
625
  },
564
626
  {
@@ -806,7 +868,7 @@ async function runWorkspaceKeyModeServer(config) {
806
868
  // Mutable copy so agent_load can switch the active agent.
807
869
  let activeConfig = { ...config };
808
870
  stderr(`Workspace key auth mode — agent starts at ${activeConfig.agentId} (agent_load can switch).`);
809
- const server = new Server({ name: 'aismemory', version: PACKAGE_VERSION }, { capabilities: { tools: {}, prompts: {} } });
871
+ const server = new Server({ name: 'aismemory', version: PACKAGE_VERSION }, { capabilities: { tools: {}, prompts: {} }, instructions: AIS_MCP_INSTRUCTIONS });
810
872
  server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools }));
811
873
  server.setRequestHandler(ListPromptsRequestSchema, async () => ({ prompts: [] }));
812
874
  server.setRequestHandler(GetPromptRequestSchema, async (request) => {
@@ -833,7 +895,7 @@ async function runWorkspaceKeyModeServer(config) {
833
895
  */
834
896
  async function runPassModeServer(config) {
835
897
  stderr(`Run-pass auth mode — agent fixed to ${config.agentId}; pass file ${config.runPassFile}`);
836
- const server = new Server({ name: 'aismemory', version: PACKAGE_VERSION }, { capabilities: { tools: {}, prompts: {} } });
898
+ const server = new Server({ name: 'aismemory', version: PACKAGE_VERSION }, { capabilities: { tools: {}, prompts: {} }, instructions: AIS_MCP_INSTRUCTIONS });
837
899
  server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools }));
838
900
  server.setRequestHandler(ListPromptsRequestSchema, async () => ({ prompts: [] }));
839
901
  server.setRequestHandler(GetPromptRequestSchema, async (request) => {
@@ -862,7 +924,7 @@ async function runPassModeServer(config) {
862
924
  */
863
925
  async function runAgentKeyModeServer(config) {
864
926
  stderr(`Agent API key auth mode — agent fixed to ${config.agentId} (no device flow, no DID key-auth).`);
865
- const server = new Server({ name: 'aismemory', version: PACKAGE_VERSION }, { capabilities: { tools: {}, prompts: {} } });
927
+ const server = new Server({ name: 'aismemory', version: PACKAGE_VERSION }, { capabilities: { tools: {}, prompts: {} }, instructions: AIS_MCP_INSTRUCTIONS });
866
928
  server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools }));
867
929
  server.setRequestHandler(ListPromptsRequestSchema, async () => ({ prompts: [] }));
868
930
  server.setRequestHandler(GetPromptRequestSchema, async (request) => {
@@ -879,11 +941,21 @@ async function runAgentKeyModeServer(config) {
879
941
  stderr(`MCP server running (agent API key mode). Tools: ${tools.map((t) => t.name).join(', ')}`);
880
942
  }
881
943
  async function main() {
944
+ // CORBOT-AF282BD7: --help / --version print and exit before any credential or server code.
945
+ const infoText = resolveInfoRequest(process.argv.slice(2), PACKAGE_VERSION);
946
+ if (infoText !== null) {
947
+ process.stdout.write(infoText);
948
+ return;
949
+ }
882
950
  // Subcommand dispatch — CLI entrypoints exit before MCP server startup.
883
951
  if (process.argv[2] === 'install') {
884
952
  (await import('./cli/install.js')).main(process.argv.slice(3));
885
953
  return;
886
954
  }
955
+ if (process.argv[2] === 'hooks') {
956
+ await (await import('./cli/hooks.js')).main(process.argv.slice(3));
957
+ return; // hook commands fail open and set process.exitCode themselves
958
+ }
887
959
  if (process.argv[2] === 'enable-key-auth') {
888
960
  await import('./cli/enable-key-auth.js');
889
961
  return; // CLI calls process.exit() itself
@@ -900,12 +972,32 @@ async function main() {
900
972
  await (await import('./cli/pull-memory.js')).main(process.argv.slice(3));
901
973
  return;
902
974
  }
975
+ if (process.argv[2] === 'export-harness') {
976
+ await (await import('./cli/export-harness.js')).main(process.argv.slice(3));
977
+ return;
978
+ }
979
+ if (process.argv[2] === 'invite') {
980
+ await (await import('./cli/invite-accept.js')).runFromCli(process.argv.slice(3));
981
+ return;
982
+ }
983
+ const ownerCommand = process.argv[2];
984
+ if (ownerCommand === 'rotate-token' || ownerCommand === 'api-keys' || ownerCommand === 'agents') {
985
+ await (await import('./cli/owner-credentials.js')).runFromCli(ownerCommand, process.argv.slice(3));
986
+ return;
987
+ }
988
+ // CORBOT-73753A98: a person at a terminal gets a how-to; MCP clients pipe stdin and see nothing new.
989
+ const humanAtTerminal = process.stdin.isTTY === true;
990
+ if (humanAtTerminal) {
991
+ process.stderr.write(HUMAN_HOWTO_TEXT);
992
+ }
903
993
  // CORBOT-7B8A1D16: ask the npm registry, at most about once a day, whether a
904
994
  // newer aismemory has been published. Deliberately not awaited — startup must
905
995
  // not wait on a third-party registry, and the answer is only needed later,
906
996
  // when whoami or full_context is called. Resolves to a skip when offline.
907
997
  void startVersionCheck({ currentVersion: PACKAGE_VERSION, onUpdateAvailable: stderr });
998
+ reportDuplicateServerNames();
908
999
  sessionIdentity = loadSessionIdentity();
1000
+ setDeclaredAgentSource(() => sessionIdentity?.agentId);
909
1001
  const adapterEnv = { ...process.env, AIS_AGENT_ID: sessionIdentity?.agentId };
910
1002
  rejectRunPassWithKeyEnv(adapterEnv);
911
1003
  // Explicit key auth modes keep their existing order when AIS_RUN_PASS_FILE is
@@ -923,6 +1015,7 @@ async function main() {
923
1015
  throw err;
924
1016
  }
925
1017
  if (workspaceKeyConfig) {
1018
+ reportStartupIdentity({ kind: 'workspace-key', env: adapterEnv, agentId: workspaceKeyConfig.agentId });
926
1019
  await runWorkspaceKeyModeServer(workspaceKeyConfig);
927
1020
  return;
928
1021
  }
@@ -942,6 +1035,7 @@ async function main() {
942
1035
  throw err;
943
1036
  }
944
1037
  if (agentKeyConfig) {
1038
+ reportStartupIdentity({ kind: 'agent-api-key', env: adapterEnv, agentId: agentKeyConfig.agentId });
945
1039
  await runAgentKeyModeServer(agentKeyConfig);
946
1040
  return;
947
1041
  }
@@ -959,6 +1053,7 @@ async function main() {
959
1053
  throw err;
960
1054
  }
961
1055
  if (runPassConfig) {
1056
+ reportStartupIdentity({ kind: 'run-pass', runPassFile: runPassConfig.runPassFile, agentId: runPassConfig.agentId });
962
1057
  await runPassModeServer(runPassConfig);
963
1058
  return;
964
1059
  }
@@ -971,6 +1066,17 @@ async function main() {
971
1066
  // 401s NO_REGISTERED_KEYS but this bearer still works for REST memory.
972
1067
  const diskBearerFallback = loadNonStaleDiskBearer();
973
1068
  let creds = loadCredentials();
1069
+ const keyEnrolledAtStartup = hasEnrolledKey();
1070
+ const startupPreference = loadAgentPreference();
1071
+ reportStartupIdentity({
1072
+ kind: 'oauth',
1073
+ ...(sessionIdentity ? { sessionAgentId: sessionIdentity.agentId } : {}),
1074
+ enrolledKeyDir: keyEnrolledAtStartup ? join(homedir(), '.aismemory', 'keys') : null,
1075
+ diskAgentId: creds?.agentId ?? null,
1076
+ credentialsFile: credentialsFilePath(),
1077
+ ...(keyEnrolledAtStartup ? { preferredAgentId: startupPreference?.agentId } : {}),
1078
+ ...(startupPreference?.ownerUserId ? { keychainOwnerSession: true } : {}),
1079
+ });
974
1080
  let activeFlow = null;
975
1081
  let postAuthDone = false;
976
1082
  // Fires the auth.key.success telemetry event + the one-line stderr
@@ -1016,9 +1122,15 @@ async function main() {
1016
1122
  resolveIdentity: async (token) => {
1017
1123
  const claims = decodeJwtClaims(token);
1018
1124
  const tenantId = claims.tenantId ?? '';
1019
- const resolved = await resolveAgent(token, '', tenantId, loadAgentPreference()?.agentId);
1020
- if (!sessionIdentity)
1021
- saveAgentPreference({ agentId: resolved.agentId, tenantId: resolved.tenantId || tenantId });
1125
+ const pref = loadAgentPreference();
1126
+ const resolved = await resolveAgent(token, '', tenantId, pref?.agentId);
1127
+ if (!sessionIdentity) {
1128
+ saveAgentPreference({
1129
+ agentId: resolved.agentId,
1130
+ tenantId: resolved.tenantId || tenantId,
1131
+ ...(pref?.ownerUserId ? { ownerUserId: pref.ownerUserId } : {}),
1132
+ });
1133
+ }
1022
1134
  return { agentId: resolved.agentId, tenantId: resolved.tenantId || tenantId };
1023
1135
  },
1024
1136
  onEvent: (event, detail) => {
@@ -1030,7 +1142,7 @@ async function main() {
1030
1142
  },
1031
1143
  });
1032
1144
  // Created here so `agent_load` and post-auth setup can reference it via closure.
1033
- const server = new Server({ name: 'aismemory', version: PACKAGE_VERSION }, { capabilities: { tools: {}, prompts: {} } });
1145
+ const server = new Server({ name: 'aismemory', version: PACKAGE_VERSION }, { capabilities: { tools: {}, prompts: {} }, instructions: AIS_MCP_INSTRUCTIONS });
1034
1146
  /**
1035
1147
  * Wait briefly for the in-flight device-flow poll to complete. If the user
1036
1148
  * has already approved, this returns the fresh credentials. If not, throws
@@ -1042,6 +1154,18 @@ async function main() {
1042
1154
  * the next tool call without having to restart the MCP process.
1043
1155
  */
1044
1156
  async function ensureCredentials(softTimeoutMs = 7000) {
1157
+ // CORBOT-EBCB2D2B: owner terminal sign-in uses the workspace credential
1158
+ // in the OS keychain (not the DID key or a stale disk bearer) so
1159
+ // agent_load can resolve agents by name via GET /v1/resolve.
1160
+ const ownerPref = loadAgentPreference();
1161
+ if (ownerPref?.ownerUserId) {
1162
+ creds = requireOwnerKeychainCredentials(AIS_URL, ownerPref, sessionAgentOverride?.agentId);
1163
+ if (!postAuthDone) {
1164
+ postAuthDone = true;
1165
+ void runPostAuth(creds);
1166
+ }
1167
+ return creds;
1168
+ }
1045
1169
  // ── Key-enrolled path: all auth flows through the TokenManager ────────
1046
1170
  // The manager owns authenticate + background renewal + backoff; on a
1047
1171
  // sustained AIS outage it rejects with AisUnreachableError, which we let
@@ -1152,8 +1276,8 @@ async function main() {
1152
1276
  stderr('DID key enrolled — future sessions re-authenticate silently (no re-bond)');
1153
1277
  emitTelemetry({ event: 'auth.key.autoenroll', agentIdHash: hashAgentId(c.agentId), status: 'ok' });
1154
1278
  }
1155
- else if (enroll.reason.startsWith('register-failed')) {
1156
- stderr(`DID key auto-enroll failed (will retry next session): ${enroll.reason}`);
1279
+ else if (enroll.reason.startsWith('register-failed') || enroll.reason.startsWith('register-refused')) {
1280
+ stderr(formatAutoEnrollFailureStderr(enroll.reason));
1157
1281
  emitTelemetry({ event: 'auth.key.autoenroll', agentIdHash: hashAgentId(c.agentId), status: 'error', error: enroll.reason });
1158
1282
  }
1159
1283
  try {
@@ -1237,6 +1361,9 @@ async function main() {
1237
1361
  else if (hasEnrolledKey()) {
1238
1362
  stderr('Using enrolled device key; session starts on first tool call.');
1239
1363
  }
1364
+ else if (humanAtTerminal) {
1365
+ stderr('No sign-in yet. Your agent will show a bond link on first use.');
1366
+ }
1240
1367
  else {
1241
1368
  stderr(`${MISSING_CREDENTIAL_HELP} Bond URL will be surfaced on first tool call.`);
1242
1369
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -67,6 +67,14 @@ export interface EnrollKeyOutcome {
67
67
  enrolled: boolean;
68
68
  reason: string;
69
69
  }
70
+ export declare function isPermanentEnrollRefusal(reason: string): boolean;
71
+ /** Agent-visible stderr for post-auth auto-enroll outcomes (MCP diagnostics). */
72
+ export declare function formatAutoEnrollFailureStderr(reason: string): string;
73
+ /** Decode enrollment claims from a JWT without verifying the signature. */
74
+ export declare function decodeEnrollmentClaims(token: string): {
75
+ userId?: string;
76
+ type?: string;
77
+ } | undefined;
70
78
  /**
71
79
  * Enroll a DID key for silent re-auth, automatically, right after a bond.
72
80
  *
@@ -78,9 +86,11 @@ export interface EnrollKeyOutcome {
78
86
  * Never throws. Skips when any key file already exists (a second file would
79
87
  * break single-key discovery in tryKeyAuth) or when the token carries no
80
88
  * user identity (agent-only tokens cannot register user keys). If server
81
- * registration fails, the freshly written key file is removed so the next
82
- * session retries enrollment instead of key-auth failing forever against a
83
- * public key the server never saw.
89
+ * registration fails, the freshly written key file is removed so a later
90
+ * session can retry enrollment for transient errors instead of key-auth
91
+ * failing forever against a public key the server never saw. Policy refusals
92
+ * (interactive-owner required) are classified separately — retrying with the
93
+ * same credential class cannot succeed.
84
94
  */
85
95
  export declare function enrollKeyIfNeeded(opts: EnrollKeyOpts): Promise<EnrollKeyOutcome>;
86
96
  export interface TryKeyAuthOpts {