index.mjs 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. // Copyright (c) 未来飞马
  2. //
  3. // MIT License — Copyright (c) 2026 Fmode (未来飞马)
  4. //
  5. // Trademark Notice:
  6. // The MIT license grants copyright permissions for source code only.
  7. // It does NOT grant any rights to use trademarks including "未来飞马",
  8. // "Harness Loop", "RSI", and associated slogan "让AI进化提前发生,让AI落地快人一步".
  9. // Any use of these trademarks requires separate written permission.
  10. /**
  11. * skill-agent-log-s3 公共 SDK 入口
  12. *
  13. * 数字生命自报运行日志到个人 S3 空间,走云函数免密钥通道。
  14. *
  15. * @example Node.js
  16. * import { resolveIdentity, uploadJson, ENDPOINTS } from 'skill-agent-log-s3';
  17. * const id = resolveIdentity();
  18. * const { publicUrl } = await uploadJson({ sessionToken: id.sessionToken, key: 'log/20260923/1400.json', content: metrics });
  19. *
  20. * @example Browser (不支持指标采集,仅支持上传)
  21. * import { uploadJson } from 'skill-agent-log-s3/browser';
  22. */
  23. export { resolveIdentity, identitySummary } from './identity.mjs';
  24. export { getUploadUrl, uploadJson, listOldLogs, ENDPOINTS } from './upload.mjs';
  25. /** 生成当前时刻的日志路径 log/<YYYYMMDD>/<HHMM>.json */
  26. export function makeLogKey(now = new Date()) {
  27. const pad = n => String(n).padStart(2, '0');
  28. const d = `${now.getFullYear()}${pad(now.getMonth() + 1)}${pad(now.getDate())}`;
  29. const t = `${pad(now.getHours())}${pad(now.getMinutes())}`;
  30. return `log/${d}/${t}.json`;
  31. }