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
@@ -1,9 +1,6 @@
1
1
  import type { LocalMirror } from '../local-mirror.js';
2
- export interface AisCredentials {
3
- apiBase: string;
4
- apiKey: string;
5
- tenantId: string;
6
- }
2
+ import type { AisCreds } from './sync-auth.js';
3
+ export type AisCredentials = AisCreds;
7
4
  /**
8
5
  * Fetch provenance.sourceHash values already stored in AIS.
9
6
  *
@@ -27,8 +27,7 @@ async function fetchJson(url, init) {
27
27
  function aisHeaders(creds) {
28
28
  return {
29
29
  'Content-Type': 'application/json',
30
- 'x-api-key': creds.apiKey,
31
- 'x-tenant-id': creds.tenantId,
30
+ ...creds.headers,
32
31
  };
33
32
  }
34
33
  async function listMemoriesByType(agentId, creds, type) {
@@ -1 +1 @@
1
- {"version":3,"file":"existing-hashes.js","sourceRoot":"","sources":["../../src/pipeline/existing-hashes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"existing-hashes.js","sourceRoot":"","sources":["../../src/pipeline/existing-hashes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface AisCreds {
2
+ apiBase: string;
3
+ /** Auth headers only; callers add Content-Type. */
4
+ headers: Record<string, string>;
5
+ }
6
+ export declare class SyncAuthError extends Error {
7
+ constructor(message: string);
8
+ }
9
+ type Env = Record<string, string | undefined>;
10
+ /** Null when no credential is configured (a dry run needs none). */
11
+ export declare function resolveSyncCreds(env?: Env): Promise<AisCreds | null>;
12
+ export {};
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Credential for `aismemory sync` (CORBOT-A4AE4F1D): the same workspace key,
3
+ * agent API key or run pass the MCP server takes, in the same order and with
4
+ * the same refusals, so one credential configures both. A service key with
5
+ * AIS_TENANT_ID (the original sync setup) still works when none is set.
6
+ */
7
+ import { DEFAULT_AIS_URL } from '../ais-http.js';
8
+ import { loadAgentApiKeyConfig } from '../agent-key-mode.js';
9
+ import { loadRunPassConfig, readRunPassFile } from '../run-pass-mode.js';
10
+ import { loadWorkspaceKeyConfig } from '../workspace-key-mode.js';
11
+ export class SyncAuthError extends Error {
12
+ constructor(message) {
13
+ super(message);
14
+ this.name = 'SyncAuthError';
15
+ }
16
+ }
17
+ const LOOPBACK_HOSTS = new Set(['localhost', '127.0.0.1', '[::1]']);
18
+ /**
19
+ * Sync can carry the tenant-wide service key, so AIS_URL must be https
20
+ * (plain http only to loopback), as AIS_DOMAIN always was.
21
+ */
22
+ function syncApiBase(env) {
23
+ const raw = env['AIS_URL']?.trim();
24
+ if (!raw)
25
+ return env['AIS_DOMAIN'] ? `https://${env['AIS_DOMAIN']}` : DEFAULT_AIS_URL;
26
+ let url;
27
+ try {
28
+ url = new URL(raw);
29
+ }
30
+ catch {
31
+ throw new SyncAuthError('AIS_URL is not a valid URL');
32
+ }
33
+ if (url.protocol !== 'https:' && !(url.protocol === 'http:' && LOOPBACK_HOSTS.has(url.hostname))) {
34
+ throw new SyncAuthError('AIS_URL must use https (plain http is allowed only for localhost)');
35
+ }
36
+ return raw.replace(/\/+$/, '');
37
+ }
38
+ /** Null when no credential is configured (a dry run needs none). */
39
+ export async function resolveSyncCreds(env = process.env) {
40
+ const apiBase = syncApiBase(env);
41
+ // AIS_API_KEY is an ais_wk_/ais_ak_ key for the MCP loaders, or a legacy
42
+ // service key for sync; only the prefixed forms reach the loaders.
43
+ const legacyServiceKey = env['AIS_API_KEY'] !== undefined && !env['AIS_API_KEY'].trim().startsWith('ais_');
44
+ const keyEnv = legacyServiceKey ? { ...env, AIS_API_KEY: undefined } : env;
45
+ if (env['AIS_RUN_PASS_FILE'] !== undefined &&
46
+ ['AIS_WORKSPACE_KEY', 'AIS_API_KEY', 'AIS_AGENT_API_KEY', 'AIS_SERVICE_KEY'].some((k) => env[k] !== undefined)) {
47
+ throw new SyncAuthError('AIS_RUN_PASS_FILE and a key variable are both set; unset one');
48
+ }
49
+ const workspace = loadWorkspaceKeyConfig(keyEnv);
50
+ if (workspace)
51
+ return { apiBase, headers: { 'x-workspace-key': workspace.workspaceKey } };
52
+ const agentKey = loadAgentApiKeyConfig(keyEnv);
53
+ if (agentKey)
54
+ return { apiBase, headers: { 'x-agent-api-key': agentKey.apiKey } };
55
+ const runPass = loadRunPassConfig(keyEnv);
56
+ if (runPass)
57
+ return { apiBase, headers: { 'x-run-pass': await readRunPassFile(runPass.runPassFile) } };
58
+ const serviceKey = env['AIS_SERVICE_KEY'] ?? (legacyServiceKey ? env['AIS_API_KEY'] : undefined);
59
+ const tenantId = env['AIS_TENANT_ID'];
60
+ if (serviceKey && tenantId)
61
+ return { apiBase, headers: { 'x-api-key': serviceKey, 'x-tenant-id': tenantId } };
62
+ return null;
63
+ }
64
+ //# sourceMappingURL=sync-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-auth.js","sourceRoot":"","sources":["../../src/pipeline/sync-auth.ts"],"names":[],"mappings":"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"}
package/dist/refresh.js CHANGED
@@ -1,11 +1,12 @@
1
1
  import { getAisRequestTimeoutMs } from './request-timeout.js';
2
+ import { withDeclaredAgent } from './declared-agent.js';
2
3
  let refreshInterval = null;
3
4
  export function startRefreshTimer(aisUrl, agentId, token, onUpdate, intervalMs = 5 * 60 * 1000) {
4
5
  stopRefreshTimer();
5
6
  refreshInterval = setInterval(async () => {
6
7
  try {
7
8
  const res = await fetch(`${aisUrl}/v1/agents/${agentId}/memory?limit=20&minImportance=0.5`, {
8
- headers: { Authorization: `Bearer ${token}` },
9
+ headers: withDeclaredAgent({ Authorization: `Bearer ${token}` }),
9
10
  signal: AbortSignal.timeout(getAisRequestTimeoutMs()),
10
11
  });
11
12
  if (!res.ok)
@@ -1 +1 @@
1
- {"version":3,"file":"refresh.js","sourceRoot":"","sources":["../src/refresh.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,IAAI,eAAe,GAA0C,IAAI,CAAC;AAElE,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,OAAe,EACf,KAAa,EACb,QAA2C,EAC3C,aAAqB,CAAC,GAAG,EAAE,GAAG,IAAI;IAElC,gBAAgB,EAAE,CAAC;IACnB,eAAe,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,GAAG,MAAM,cAAc,OAAO,oCAAoC,EAClE;gBACE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;gBAC7C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;aACtD,CACF,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO;YACpB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;QACpD,CAAC;IACH,CAAC,EAAE,UAAU,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,IAAI,eAAe,EAAE,CAAC;QACpB,aAAa,CAAC,eAAe,CAAC,CAAC;QAC/B,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"refresh.js","sourceRoot":"","sources":["../src/refresh.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,IAAI,eAAe,GAA0C,IAAI,CAAC;AAElE,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,OAAe,EACf,KAAa,EACb,QAA2C,EAC3C,aAAqB,CAAC,GAAG,EAAE,GAAG,IAAI;IAElC,gBAAgB,EAAE,CAAC;IACnB,eAAe,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,GAAG,MAAM,cAAc,OAAO,oCAAoC,EAClE;gBACE,OAAO,EAAE,iBAAiB,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC;gBAChE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;aACtD,CACF,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO;YACpB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;QACpD,CAAC;IACH,CAAC,EAAE,UAAU,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,IAAI,eAAe,EAAE,CAAC;QACpB,aAAa,CAAC,eAAe,CAAC,CAAC;QAC/B,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC;AACH,CAAC"}
@@ -15,12 +15,12 @@ export declare function getAisRequestTimeoutMs(env?: Record<string, string | und
15
15
  /** True when `err` is the abort produced by an `AbortSignal.timeout()` firing. */
16
16
  export declare function isAisRequestTimeout(err: unknown): boolean;
17
17
  export declare class AisRequestTimeoutError extends Error {
18
- constructor(path: string, timeoutMs: number);
18
+ constructor(path: string, timeoutMs: number, note?: string);
19
19
  }
20
20
  /**
21
21
  * Replace a raw timeout abort with a clear, path- and duration-specific
22
22
  * error so it surfaces as an actionable MCP tool error (`isError`) instead of
23
- * an opaque "operation was aborted" message. Every other error passes through
24
- * unchanged.
23
+ * an opaque "operation was aborted" message. A non-GET `method` adds the
24
+ * may-have-landed note. Every other error passes through unchanged.
25
25
  */
26
- export declare function toAisRequestError(err: unknown, path: string, timeoutMs: number): unknown;
26
+ export declare function toAisRequestError(err: unknown, path: string, timeoutMs: number, method?: string): unknown;
@@ -29,20 +29,29 @@ export function isAisRequestTimeout(err) {
29
29
  return err instanceof DOMException && err.name === 'TimeoutError';
30
30
  }
31
31
  export class AisRequestTimeoutError extends Error {
32
- constructor(path, timeoutMs) {
33
- super(`AIS request to ${path} timed out after ${timeoutMs}ms`);
32
+ constructor(path, timeoutMs, note = '') {
33
+ super(`AIS request to ${path} timed out after ${timeoutMs}ms${note}`);
34
34
  this.name = 'AisRequestTimeoutError';
35
35
  }
36
36
  }
37
+ /**
38
+ * Appended to a timed-out write (CORBOT-14EDC987). The client abort does not
39
+ * cancel the server, so a timed-out write has often already been stored, and
40
+ * a blind retry used to create duplicates. remember is deduplicated on
41
+ * content server-side and inbox_send on messageId, so those retries are safe.
42
+ */
43
+ const WRITE_TIMEOUT_NOTE = ' — the write may have landed on the server anyway. Retrying remember with identical content, ' +
44
+ 'or inbox_send with the same messageId, is idempotent; check before retrying any other write.';
37
45
  /**
38
46
  * Replace a raw timeout abort with a clear, path- and duration-specific
39
47
  * error so it surfaces as an actionable MCP tool error (`isError`) instead of
40
- * an opaque "operation was aborted" message. Every other error passes through
41
- * unchanged.
48
+ * an opaque "operation was aborted" message. A non-GET `method` adds the
49
+ * may-have-landed note. Every other error passes through unchanged.
42
50
  */
43
- export function toAisRequestError(err, path, timeoutMs) {
51
+ export function toAisRequestError(err, path, timeoutMs, method = 'GET') {
44
52
  if (isAisRequestTimeout(err)) {
45
- return new AisRequestTimeoutError(path, timeoutMs);
53
+ const note = method === 'GET' ? '' : WRITE_TIMEOUT_NOTE;
54
+ return new AisRequestTimeoutError(path, timeoutMs, note);
46
55
  }
47
56
  return err;
48
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"request-timeout.js","sourceRoot":"","sources":["../src/request-timeout.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC;AAErD,MAAM,OAAO,GAAG,4BAA4B,CAAC;AAE7C;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAA0C,OAAO,CAAC,GAAG;IAErD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;IACjC,IAAI,CAAC,GAAG;QAAE,OAAO,8BAA8B,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,eAAe,OAAO,KAAK,GAAG,8CAA8C;YAC1E,qBAAqB,8BAA8B,OAAO,CAC7D,CAAC;QACF,OAAO,8BAA8B,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,OAAO,GAAG,YAAY,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC;AACpE,CAAC;AAED,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,IAAY,EAAE,SAAiB;QACzC,KAAK,CAAC,kBAAkB,IAAI,oBAAoB,SAAS,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY,EAAE,IAAY,EAAE,SAAiB;IAC7E,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"request-timeout.js","sourceRoot":"","sources":["../src/request-timeout.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC;AAErD,MAAM,OAAO,GAAG,4BAA4B,CAAC;AAE7C;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAA0C,OAAO,CAAC,GAAG;IAErD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;IACjC,IAAI,CAAC,GAAG;QAAE,OAAO,8BAA8B,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,eAAe,OAAO,KAAK,GAAG,8CAA8C;YAC1E,qBAAqB,8BAA8B,OAAO,CAC7D,CAAC;QACF,OAAO,8BAA8B,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,OAAO,GAAG,YAAY,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC;AACpE,CAAC;AAED,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,IAAY,EAAE,SAAiB,EAAE,IAAI,GAAG,EAAE;QACpD,KAAK,CAAC,kBAAkB,IAAI,oBAAoB,SAAS,KAAK,IAAI,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,kBAAkB,GACtB,+FAA+F;IAC/F,8FAA8F,CAAC;AAEjG;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAY,EACZ,IAAY,EACZ,SAAiB,EACjB,MAAM,GAAG,KAAK;IAEd,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACxD,OAAO,IAAI,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -5,7 +5,8 @@
5
5
  * rotate that file while this process is running. Every request re-reads the
6
6
  * file and sends exactly one credential header: x-run-pass.
7
7
  */
8
- import { readFile } from 'node:fs/promises';
8
+ import { constants } from 'node:fs';
9
+ import { lstat, open } from 'node:fs/promises';
9
10
  import { AisHttpError, duplicateMemoryResult } from './ais-http-error.js';
10
11
  import { getAisRequestTimeoutMs, toAisRequestError } from './request-timeout.js';
11
12
  import { emitTelemetry } from './telemetry.js';
@@ -14,7 +15,11 @@ import { readInboxAndMaybeAck } from './inbox-client.js';
14
15
  import { orient } from './cli/orientation.js';
15
16
  import { AGENT_ARCHIVE_KEY_MODE_DETAIL } from './agent-archive.js';
16
17
  import { fetchCredentialWhoami } from './credential-whoami.js';
17
- import { parseEmptyToolArgs, parseRecallArgs, parseFullContextArgs, parseRememberArgs, parseGoalCreateArgs, parseGoalListArgs, parseGoalUpdateProgressArgs, parseGoalCompleteArgs, parseInboxSendArgs, parseInboxReadArgs, parseInboxAckArgs, parseHandoffArgs, } from './tool-args.js';
18
+ import { parseEmptyToolArgs, parseRecallArgs, buildFullContextQuery, parseFullContextArgs, parseRememberArgs, parseGoalCreateArgs, parseGoalListArgs, parseGoalUpdateProgressArgs, parseGoalCompleteArgs, parseInboxSendArgs, parseInboxReadArgs, parseInboxAckArgs, parseHandoffArgs, } from './tool-args.js';
19
+ import { resolveDreamResponse } from './dream-poll.js';
20
+ const AGENT_ID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
21
+ /** A valid pass is 50 bytes; anything past this cap is refused unread. */
22
+ const MAX_RUN_PASS_FILE_BYTES = 256;
18
23
  const RUN_PASS_PATTERN = /^ais_rp_[A-Za-z0-9_-]{43}$/;
19
24
  export class RunPassConfigError extends Error {
20
25
  constructor(message) {
@@ -38,14 +43,48 @@ export function loadRunPassConfig(env = process.env) {
38
43
  throw new RunPassConfigError('AIS_RUN_PASS_FILE is set but AIS_AGENT_ID is missing. ' +
39
44
  'Run-pass mode needs the one agent this pass is scoped to.');
40
45
  }
46
+ if (!AGENT_ID_PATTERN.test(agentId)) {
47
+ throw new RunPassConfigError('AIS_AGENT_ID is not a UUID. Refusing to start run-pass mode.');
48
+ }
41
49
  return { runPassFile, agentId };
42
50
  }
51
+ function assertSafeRunPassFile(runPassFile, st) {
52
+ if (!st.isFile()) {
53
+ throw new RunPassConfigError(`Refusing AIS request: AIS_RUN_PASS_FILE at ${runPassFile} is not a regular file.`);
54
+ }
55
+ if (typeof process.getuid === 'function' && st.uid !== process.getuid()) {
56
+ throw new RunPassConfigError(`Refusing AIS request: AIS_RUN_PASS_FILE at ${runPassFile} is not owned by the current user.`);
57
+ }
58
+ if ((st.mode & 0o077) !== 0) {
59
+ throw new RunPassConfigError(`Refusing AIS request: AIS_RUN_PASS_FILE at ${runPassFile} is accessible to group or others (chmod 600).`);
60
+ }
61
+ }
62
+ async function readBoundedRunPassFile(runPassFile) {
63
+ // lstat first so a symlink, FIFO, or device is refused before it is opened.
64
+ assertSafeRunPassFile(runPassFile, await lstat(runPassFile));
65
+ // O_NOFOLLOW/O_NONBLOCK close the swap-after-lstat race; fstat re-checks the opened inode.
66
+ const handle = await open(runPassFile, constants.O_RDONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK);
67
+ try {
68
+ assertSafeRunPassFile(runPassFile, await handle.stat());
69
+ const buffer = Buffer.alloc(MAX_RUN_PASS_FILE_BYTES + 1);
70
+ const { bytesRead } = await handle.read(buffer, 0, buffer.length, 0);
71
+ if (bytesRead > MAX_RUN_PASS_FILE_BYTES) {
72
+ throw new RunPassConfigError(`Refusing AIS request: AIS_RUN_PASS_FILE at ${runPassFile} exceeds ${MAX_RUN_PASS_FILE_BYTES} bytes.`);
73
+ }
74
+ return buffer.toString('utf8', 0, bytesRead);
75
+ }
76
+ finally {
77
+ await handle.close();
78
+ }
79
+ }
43
80
  export async function readRunPassFile(runPassFile) {
44
81
  let raw;
45
82
  try {
46
- raw = await readFile(runPassFile, 'utf8');
83
+ raw = await readBoundedRunPassFile(runPassFile);
47
84
  }
48
85
  catch (error) {
86
+ if (error instanceof RunPassConfigError)
87
+ throw error;
49
88
  const reason = error instanceof Error ? error.message : 'unknown read error';
50
89
  throw new RunPassConfigError(`Refusing AIS request: cannot read AIS_RUN_PASS_FILE at ${runPassFile}: ${reason}`);
51
90
  }
@@ -147,6 +186,7 @@ export async function dispatchToolRunPassMode(aisUrl, config, name, rawArgs, fet
147
186
  type: args.type,
148
187
  importance: args.importance,
149
188
  ...(args.tags !== undefined && { tags: args.tags }),
189
+ ...(args.supersedes !== undefined && { supersedes: args.supersedes }),
150
190
  }, fetchImpl);
151
191
  }
152
192
  catch (err) {
@@ -166,27 +206,20 @@ export async function dispatchToolRunPassMode(aisUrl, config, name, rawArgs, fet
166
206
  params.set('types', args.type);
167
207
  if (args.tags !== undefined && args.tags.length > 0)
168
208
  params.set('tags', args.tags.join(','));
209
+ if (args.orderBy !== undefined)
210
+ params.set('orderBy', args.orderBy);
169
211
  if (args.principalAgentId !== undefined)
170
212
  params.set('principalAgentId', args.principalAgentId);
171
213
  return runPassGet(aisUrl, `/v1/agents/${agentId}/memory?${params}`, runPassFile, fetchImpl);
172
214
  }
173
215
  case 'full_context': {
174
216
  const fcArgs = parseFullContextArgs(rawArgs);
175
- const fcParams = new URLSearchParams();
176
- if (fcArgs.principalAgentId !== undefined)
177
- fcParams.set('principalAgentId', fcArgs.principalAgentId);
178
- if (fcArgs.memoriesLimit !== undefined)
179
- fcParams.set('memoriesLimit', String(fcArgs.memoriesLimit));
180
- if (fcArgs.view !== undefined)
181
- fcParams.set('view', fcArgs.view);
182
- if (fcArgs.maxTokens !== undefined)
183
- fcParams.set('maxTokens', String(fcArgs.maxTokens));
184
- const fcQs = fcParams.toString();
185
- return runPassGet(aisUrl, `/v1/agents/${agentId}/full-context${fcQs ? `?${fcQs}` : ''}`, runPassFile, fetchImpl);
217
+ const fcQs = buildFullContextQuery(fcArgs);
218
+ return runPassGet(aisUrl, `/v1/agents/${agentId}/full-context${fcQs}`, runPassFile, fetchImpl);
186
219
  }
187
220
  case 'dream':
188
221
  parseEmptyToolArgs(rawArgs);
189
- return runPassPost(aisUrl, `/v1/agents/${agentId}/dream`, runPassFile, {}, fetchImpl);
222
+ return resolveDreamResponse(await runPassPost(aisUrl, `/v1/agents/${agentId}/dream`, runPassFile, {}, fetchImpl), { getStatus: (runId) => runPassGet(aisUrl, `/v1/agents/${agentId}/dream/${runId}`, runPassFile, fetchImpl) });
190
223
  case 'whoami':
191
224
  parseEmptyToolArgs(rawArgs);
192
225
  return fetchCredentialWhoami(agentId, 'run-pass', () => runPassGet(aisUrl, `/v1/agents/${agentId}/whoami`, runPassFile, fetchImpl), () => runPassGet(aisUrl, `/v1/agents/${agentId}/memory?limit=1`, runPassFile, fetchImpl));
@@ -1 +1 @@
1
- {"version":3,"file":"run-pass-mode.js","sourceRoot":"","sources":["../src/run-pass-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-pass-mode.js","sourceRoot":"","sources":["../src/run-pass-mode.ts"],"names":[],"mappings":"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"}
@@ -51,24 +51,26 @@ function hasRecentConfirmation(agentId, credentialKey, nowMs) {
51
51
  const ageMs = nowMs - confirmation.confirmedAtMs;
52
52
  return ageMs >= 0 && ageMs < RECENT_IDENTITY_CONFIRMATION_TTL_MS;
53
53
  }
54
+ const NETWORK_ERROR_CODES = new Set([
55
+ 'ECONNRESET', 'ECONNREFUSED', 'ENOTFOUND', 'EAI_AGAIN', 'ETIMEDOUT', 'EPIPE',
56
+ 'UND_ERR_CONNECT_TIMEOUT', 'UND_ERR_HEADERS_TIMEOUT', 'UND_ERR_BODY_TIMEOUT',
57
+ 'UND_ERR_SOCKET', 'UND_ERR_CLOSED', 'UND_ERR_DESTROYED',
58
+ ]);
59
+ function hasNetworkErrorCode(error) {
60
+ if (!(error instanceof Error))
61
+ return false;
62
+ const code = error.code;
63
+ return typeof code === 'string' && NETWORK_ERROR_CODES.has(code);
64
+ }
54
65
  function isFetchNetworkError(error) {
55
66
  if (!(error instanceof TypeError))
56
67
  return false;
57
68
  const cause = error.cause;
58
- if (cause instanceof Error) {
59
- const code = cause.code;
60
- return typeof code === 'string' && (code.startsWith('UND_ERR_') ||
61
- ['ECONNRESET', 'ECONNREFUSED', 'ENOTFOUND', 'EAI_AGAIN', 'ETIMEDOUT', 'EPIPE'].includes(code));
62
- }
69
+ // AggregateError extends Error, so test it before the generic cause check.
63
70
  if (cause instanceof AggregateError) {
64
- return cause.errors.some((item) => {
65
- if (!(item instanceof Error))
66
- return false;
67
- const code = item.code;
68
- return typeof code === 'string' && ['ECONNRESET', 'ECONNREFUSED', 'ENOTFOUND', 'EAI_AGAIN', 'ETIMEDOUT', 'EPIPE'].includes(code);
69
- });
71
+ return hasNetworkErrorCode(cause) || cause.errors.some(hasNetworkErrorCode);
70
72
  }
71
- return false;
73
+ return hasNetworkErrorCode(cause);
72
74
  }
73
75
  function isWhoamiUnavailable(error) {
74
76
  if (error instanceof AisHttpError) {
@@ -1 +1 @@
1
- {"version":3,"file":"session-identity.js","sourceRoot":"","sources":["../src/session-identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-identity.js","sourceRoot":"","sources":["../src/session-identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import type { OAuthCredentials } from './oauth-credentials.js';
2
+ export declare const SIGNIN_RENEWAL_SERVICE = "ai.agentsandswarms.aismemory.signin";
3
+ export declare const SIGNIN_ACCESS_SERVICE = "ai.agentsandswarms.aismemory.access";
4
+ export interface SigninRenewalRecord {
5
+ refresh_token: string;
6
+ sid?: string;
7
+ client_id?: string;
8
+ }
9
+ export interface SigninAccessRecord {
10
+ access_token: string;
11
+ expires_at: string;
12
+ }
13
+ export interface SigninKeychainBackend {
14
+ isAvailable: () => boolean;
15
+ read: (service: string, account: string) => string | null;
16
+ write: (service: string, account: string, secret: string) => void;
17
+ }
18
+ /** Test hook — production uses the platform backend. */
19
+ export declare function setSigninKeychainBackendForTests(next: SigninKeychainBackend | null): void;
20
+ export declare function signinKeychainAccount(aisUrl: string, tenantId: string, userId: string): string;
21
+ export declare function isSigninKeychainAvailable(): boolean;
22
+ export declare function saveOwnerSignInToKeychain(input: {
23
+ aisUrl: string;
24
+ accessToken: string;
25
+ refreshToken: string;
26
+ expiresAt: string;
27
+ }): void;
28
+ export declare function loadOwnerSignInAccessForPreference(aisUrl: string, pref: {
29
+ tenantId: string;
30
+ agentId: string;
31
+ ownerUserId?: string;
32
+ }): SigninAccessRecord | null;
33
+ export declare function loadOwnerSignInRenewalForAccount(aisUrl: string, tenantId: string, userId: string): SigninRenewalRecord | null;
34
+ /** Decode owner user id from a bearer without verifying the signature (local cache only). */
35
+ export declare function ownerUserIdFromAccessToken(accessToken: string): string | null;
36
+ /** Shown when preference marks an owner keychain session but access is missing (CORBOT-EBCB2D2B). */
37
+ export declare const OWNER_KEYCHAIN_SIGNED_OUT = "Signed out on this device (no AIS access token in the OS keychain). Complete AIS sign-in again before calling agent_load or other AIS tools.";
38
+ export declare class OwnerKeychainSignedOutError extends Error {
39
+ constructor(message?: string);
40
+ }
41
+ /**
42
+ * Bearer + ids for an owner terminal sign-in stored in the OS keychain.
43
+ * Returns null when the session is signed out or the access token is stale.
44
+ */
45
+ export declare function credentialsFromOwnerKeychain(aisUrl: string, pref: {
46
+ tenantId: string;
47
+ agentId: string;
48
+ ownerUserId?: string;
49
+ }, activeAgentId?: string, nowMs?: number): OAuthCredentials | null;
50
+ export declare function requireOwnerKeychainCredentials(aisUrl: string, pref: {
51
+ tenantId: string;
52
+ agentId: string;
53
+ ownerUserId?: string;
54
+ }, activeAgentId?: string): OAuthCredentials;