aitable-workflow-cli 0.1.15 → 0.1.16-beta.1786022310508

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 (263) hide show
  1. package/package.json +3 -3
  2. package/templates/support-qa/lib/__tests__/declarative-matcher.test.ts +240 -0
  3. package/templates/support-qa/lib/__tests__/dingtalk-group-membership.test.ts +127 -0
  4. package/templates/support-qa/lib/__tests__/memory-events.test.ts +90 -0
  5. package/templates/support-qa/lib/action-dispatch.ts +1 -1
  6. package/templates/support-qa/lib/declarative-matcher.ts +398 -0
  7. package/templates/support-qa/lib/dingtalk-group-membership.ts +151 -0
  8. package/templates/support-qa/lib/guards.ts +18 -0
  9. package/templates/support-qa/lib/memory-events.ts +60 -41
  10. package/templates/support-qa/lib/preflight.ts +294 -0
  11. package/templates/support-qa/package.json +2 -4
  12. package/templates/support-qa/profiles/aitable/profile/fastpath/known-answers.yml +1 -1
  13. package/templates/support-qa/profiles/aitable/profile/troubleshoot/classifiers.yml +1 -1
  14. package/templates/support-qa/workflows/config-sync/recipes/config_sync.recipe.ts +10 -8
  15. package/templates/support-qa/workflows/daily-review/recipes/daily_review.recipe.ts +1 -1
  16. package/templates/support-qa/workflows/group-qa/recipes/answer.recipe.ts +2 -7
  17. package/templates/support-qa/workflows/group-qa/recipes/conversation_handler.recipe.ts +3 -3
  18. package/templates/support-qa/workflows/group-qa/recipes/fastpath.recipe.ts +5 -11
  19. package/templates/support-qa/workflows/group-qa/recipes/on-action.recipe.ts +4 -2
  20. package/templates/support-qa/workflows/group-qa/recipes/reply-to-group.recipe.ts +13 -7
  21. package/templates/support-qa/workflows/group-qa/recipes/troubleshoot.recipe.ts +12 -18
  22. package/templates/support-qa/workspaces/support/AGENTS.md +1 -1
  23. package/templates/aitable-handoff/.env.example +0 -17
  24. package/templates/aitable-handoff/aitable-workflow.config.yml +0 -64
  25. package/templates/aitable-handoff/coding-agents.config.json +0 -17
  26. package/templates/aitable-handoff/npmrc +0 -1
  27. package/templates/aitable-handoff/package.json +0 -16
  28. package/templates/aitable-handoff/roles/config-syncer.role.yml +0 -4
  29. package/templates/aitable-handoff/roles/daily-review.role.yml +0 -4
  30. package/templates/aitable-handoff/roles/faq-support.role.yml +0 -9
  31. package/templates/aitable-handoff/roles/faq-troubleshooter.role.yml +0 -17
  32. package/templates/aitable-handoff/roles/kb-editor.role.yml +0 -19
  33. package/templates/aitable-handoff/wiki/faq-support/01-/345/277/253/351/200/237/345/205/245/351/227/250/6/350/212/202/350/257/276/345/270/246/344/275/240/345/277/253/351/200/237/344/270/212/346/211/213AI/350/241/250/346/240/274.md +0 -43
  34. package/templates/aitable-handoff/wiki/faq-support/01-/345/277/253/351/200/237/345/205/245/351/227/250/AI/350/241/250/346/240/274/350/241/214/346/225/260/350/257/264/346/230/216.md +0 -85
  35. package/templates/aitable-handoff/wiki/faq-support/01-/345/277/253/351/200/237/345/205/245/351/227/250//344/275/277/347/224/250/345/277/253/346/215/267/351/224/256.md +0 -34
  36. package/templates/aitable-handoff/wiki/faq-support/01-/345/277/253/351/200/237/345/205/245/351/227/250//345/260/206Excel/346/226/207/344/273/266/345/257/274/345/205/245AI/350/241/250/346/240/274.md +0 -48
  37. package/templates/aitable-handoff/wiki/faq-support/01-/345/277/253/351/200/237/345/205/245/351/227/250//345/270/270/350/247/201/351/227/256/351/242/230.md +0 -88
  38. package/templates/aitable-handoff/wiki/faq-support/01-/345/277/253/351/200/237/345/205/245/351/227/250//346/250/241/346/235/277/344/270/255/345/277/203.md +0 -59
  39. package/templates/aitable-handoff/wiki/faq-support/01-/345/277/253/351/200/237/345/205/245/351/227/250//351/222/211/351/222/211AI/350/241/250/346/240/274/345/270/270/350/247/201/344/270/212/351/231/220.md +0 -181
  40. package/templates/aitable-handoff/wiki/faq-support/01-/345/277/253/351/200/237/345/205/245/351/227/250//351/222/211/351/222/211AI/350/241/250/346/240/274/345/277/253/351/200/237/344/270/212/346/211/213.md +0 -177
  41. package/templates/aitable-handoff/wiki/faq-support/02-/345/237/272/347/241/200/346/223/215/344/275/234/AI/350/241/250/346/240/274/347/232/204/345/257/274/345/207/272.md +0 -27
  42. package/templates/aitable-handoff/wiki/faq-support/02-/345/237/272/347/241/200/346/223/215/344/275/234//344/275/277/347/224/250/345/210/206/347/273/204.md +0 -67
  43. package/templates/aitable-handoff/wiki/faq-support/02-/345/237/272/347/241/200/346/223/215/344/275/234//344/275/277/347/224/250/345/241/253/350/211/262.md +0 -99
  44. package/templates/aitable-handoff/wiki/faq-support/02-/345/237/272/347/241/200/346/223/215/344/275/234//344/275/277/347/224/250/346/216/222/345/272/217.md +0 -66
  45. package/templates/aitable-handoff/wiki/faq-support/02-/345/237/272/347/241/200/346/223/215/344/275/234//344/275/277/347/224/250/347/255/233/351/200/211/345/222/214/347/255/233/351/200/211/346/235/241/344/273/266/347/273/204.md +0 -104
  46. package/templates/aitable-handoff/wiki/faq-support/02-/345/237/272/347/241/200/346/223/215/344/275/234//346/237/245/347/234/213/345/216/206/345/217/262/350/256/260/345/275/225.md +0 -79
  47. package/templates/aitable-handoff/wiki/faq-support/02-/345/237/272/347/241/200/346/223/215/344/275/234//347/224/250AI/350/241/250/346/240/274/344/270/200/350/241/250/344/270/200/345/212/251/347/220/206/345/217/221/346/266/210/346/201/257.md +0 -94
  48. package/templates/aitable-handoff/wiki/faq-support/02-/345/237/272/347/241/200/346/223/215/344/275/234//350/207/252/345/256/232/344/271/211/350/256/260/345/275/225/345/220/215/347/247/260.md +0 -35
  49. package/templates/aitable-handoff/wiki/faq-support/02-/345/237/272/347/241/200/346/223/215/344/275/234//350/207/252/345/256/232/344/271/211/350/256/260/345/275/225/350/257/246/346/203/205/351/241/265/345/222/214/345/241/253/345/206/231/351/241/265.md +0 -141
  50. package/templates/aitable-handoff/wiki/faq-support/02-/345/237/272/347/241/200/346/223/215/344/275/234//350/260/203/346/225/264/345/210/227/345/256/275.md +0 -42
  51. package/templates/aitable-handoff/wiki/faq-support/02-/345/237/272/347/241/200/346/223/215/344/275/234//350/260/203/346/225/264/350/241/214/351/253/230.md +0 -40
  52. package/templates/aitable-handoff/wiki/faq-support/03-/344/275/277/347/224/250/345/255/227/346/256/265//344/270/272/350/241/250/346/240/274/346/267/273/345/212/240/345/255/227/346/256/265.md +0 -188
  53. package/templates/aitable-handoff/wiki/faq-support/03-/344/275/277/347/224/250/345/255/227/346/256/265//345/215/225/351/200/211/345/244/232/351/200/211/345/255/227/346/256/265/345/220/214/346/255/245/345/205/266/344/273/226/350/241/250/351/200/211/351/241/271.md +0 -142
  54. package/templates/aitable-handoff/wiki/faq-support/03-/344/275/277/347/224/250/345/255/227/346/256/265//345/255/227/346/256/265/347/256/241/347/220/206.md +0 -44
  55. package/templates/aitable-handoff/wiki/faq-support/03-/344/275/277/347/224/250/345/255/227/346/256/265//345/255/227/346/256/265/347/261/273/345/236/213/345/210/227/350/241/250.md +0 -95
  56. package/templates/aitable-handoff/wiki/faq-support/03-/344/275/277/347/224/250/345/255/227/346/256/265//345/255/227/346/256/265/347/274/226/347/273/204.md +0 -138
  57. package/templates/aitable-handoff/wiki/faq-support/04-/344/275/277/347/224/250/350/241/250/345/215/225//350/241/250/345/215/225/345/221/250/346/234/237/345/210/206/350/241/250.md +0 -42
  58. package/templates/aitable-handoff/wiki/faq-support/04-/344/275/277/347/224/250/350/241/250/345/215/225//350/241/250/345/215/225/345/237/272/347/241/200/346/223/215/344/275/234.md +0 -344
  59. package/templates/aitable-handoff/wiki/faq-support/04-/344/275/277/347/224/250/350/241/250/345/215/225//350/241/250/345/215/225/346/230/216/347/273/206/350/241/250-/344/270/200/346/254/241/345/241/253/345/206/231/345/244/232/346/235/241/346/217/220/344/272/244.md +0 -174
  60. package/templates/aitable-handoff/wiki/faq-support/04-/344/275/277/347/224/250/350/241/250/345/215/225//350/241/250/345/215/225/351/242/204/345/241/253/351/273/230/350/256/244/345/200/274.md +0 -97
  61. package/templates/aitable-handoff/wiki/faq-support/05-/345/205/254/345/274/217/345/207/275/346/225/260//344/275/277/347/224/250AI/347/224/237/346/210/220/345/205/254/345/274/217.md +0 -26
  62. package/templates/aitable-handoff/wiki/faq-support/05-/345/205/254/345/274/217/345/207/275/346/225/260//344/275/277/347/224/250/345/205/254/345/274/217/345/207/275/346/225/260/345/270/270/350/247/201/351/227/256/351/242/230.md +0 -179
  63. package/templates/aitable-handoff/wiki/faq-support/05-/345/205/254/345/274/217/345/207/275/346/225/260//344/275/277/347/224/250/345/205/254/345/274/217/345/255/227/346/256/265.md +0 -81
  64. package/templates/aitable-handoff/wiki/faq-support/05-/345/205/254/345/274/217/345/207/275/346/225/260//344/275/277/347/224/250/345/207/275/346/225/260.md +0 -21
  65. package/templates/aitable-handoff/wiki/faq-support/05-/345/205/254/345/274/217/345/207/275/346/225/260//345/205/254/345/274/217/345/207/275/346/225/260/345/244/247/345/205/250.md +0 -433
  66. package/templates/aitable-handoff/wiki/faq-support/05-/345/205/254/345/274/217/345/207/275/346/225/260//345/205/254/345/274/217/346/224/257/346/214/201/346/230/276/347/244/272/346/240/274/345/274/217.md +0 -126
  67. package/templates/aitable-handoff/wiki/faq-support/05-/345/205/254/345/274/217/345/207/275/346/225/260//345/205/254/345/274/217/351/224/231/350/257/257/344/273/243/347/240/201/345/210/227/350/241/250.md +0 -30
  68. package/templates/aitable-handoff/wiki/faq-support/05-/345/205/254/345/274/217/345/207/275/346/225/260//345/207/275/346/225/260/345/256/236/350/267/265.md +0 -13
  69. package/templates/aitable-handoff/wiki/faq-support/06-/346/225/260/346/215/256/350/277/236/346/216/245/344/270/255/345/277/203//346/225/260/346/215/256/350/277/236/346/216/245/344/270/255/345/277/203.md +0 -169
  70. package/templates/aitable-handoff/wiki/faq-support/06-/346/225/260/346/215/256/350/277/236/346/216/245/344/270/255/345/277/203//347/273/204/347/273/207/345/206/205/345/205/261/344/272/253/346/225/260/346/215/256/346/272/220.md +0 -106
  71. package/templates/aitable-handoff/wiki/faq-support/06-/346/225/260/346/215/256/350/277/236/346/216/245/344/270/255/345/277/203//350/267/250AI/350/241/250/346/240/274/346/225/260/346/215/256/345/220/214/346/255/245.md +0 -176
  72. package/templates/aitable-handoff/wiki/faq-support/06-/346/225/260/346/215/256/350/277/236/346/216/245/344/270/255/345/277/203//351/222/211/351/222/211AI/345/220/254/350/256/260/346/225/260/346/215/256/345/220/214/346/255/245.md +0 -100
  73. package/templates/aitable-handoff/wiki/faq-support/06-/346/225/260/346/215/256/350/277/236/346/216/245/344/270/255/345/277/203//351/222/211/351/222/211OA/345/256/241/346/211/271/346/225/260/346/215/256/345/220/214/346/255/245.md +0 -194
  74. package/templates/aitable-handoff/wiki/faq-support/06-/346/225/260/346/215/256/350/277/236/346/216/245/344/270/255/345/277/203//351/222/211/351/222/211/345/276/205/345/212/236/346/225/260/346/215/256/345/220/214/346/255/245.md +0 -87
  75. package/templates/aitable-handoff/wiki/faq-support/06-/346/225/260/346/215/256/350/277/236/346/216/245/344/270/255/345/277/203//351/222/211/351/222/211/346/227/245/347/250/213/346/225/260/346/215/256/345/220/214/346/255/245.md +0 -92
  76. package/templates/aitable-handoff/wiki/faq-support/06-/346/225/260/346/215/256/350/277/236/346/216/245/344/270/255/345/277/203//351/222/211/351/222/211/350/200/203/345/213/244/346/211/223/345/215/241/346/225/260/346/215/256/345/220/214/346/255/245.md +0 -129
  77. package/templates/aitable-handoff/wiki/faq-support/06-/346/225/260/346/215/256/350/277/236/346/216/245/344/270/255/345/277/203//351/222/211/351/222/211/350/241/250/346/240/274/346/225/260/346/215/256/345/220/214/346/255/245.md +0 -229
  78. package/templates/aitable-handoff/wiki/faq-support/06-/346/225/260/346/215/256/350/277/236/346/216/245/344/270/255/345/277/203//351/222/211/351/222/211/351/200/232/350/256/257/345/275/225/346/225/260/346/215/256/345/220/214/346/255/245.md +0 -120
  79. package/templates/aitable-handoff/wiki/faq-support/07-/344/275/277/347/224/250/350/247/206/345/233/276//344/275/277/347/224/250AI/350/241/250/346/240/274/350/247/206/345/233/276.md +0 -219
  80. package/templates/aitable-handoff/wiki/faq-support/07-/344/275/277/347/224/250/350/247/206/345/233/276//345/210/206/344/272/253/350/247/206/345/233/276.md +0 -71
  81. package/templates/aitable-handoff/wiki/faq-support/07-/344/275/277/347/224/250/350/247/206/345/233/276//346/225/260/346/215/256/350/241/250/345/222/214/350/247/206/345/233/276/347/232/204/345/205/263/347/263/273.md +0 -48
  82. package/templates/aitable-handoff/wiki/faq-support/07-/344/275/277/347/224/250/350/247/206/345/233/276//346/227/245/345/216/206/350/247/206/345/233/276.md +0 -89
  83. package/templates/aitable-handoff/wiki/faq-support/07-/344/275/277/347/224/250/350/247/206/345/233/276//346/237/245/350/257/242/351/241/265/351/235/242.md +0 -116
  84. package/templates/aitable-handoff/wiki/faq-support/07-/344/275/277/347/224/250/350/247/206/345/233/276//347/224/230/347/211/271/345/233/276.md +0 -135
  85. package/templates/aitable-handoff/wiki/faq-support/07-/344/275/277/347/224/250/350/247/206/345/233/276//347/224/273/345/206/214/350/247/206/345/233/276.md +0 -28
  86. package/templates/aitable-handoff/wiki/faq-support/07-/344/275/277/347/224/250/350/247/206/345/233/276//347/234/213/346/235/277/350/247/206/345/233/276.md +0 -35
  87. package/templates/aitable-handoff/wiki/faq-support/07-/344/275/277/347/224/250/350/247/206/345/233/276//350/241/250/346/240/274/350/247/206/345/233/276.md +0 -116
  88. package/templates/aitable-handoff/wiki/faq-support/07-/344/275/277/347/224/250/350/247/206/345/233/276//351/200/217/350/247/206/350/241/250/350/247/206/345/233/276.md +0 -123
  89. package/templates/aitable-handoff/wiki/faq-support/08-/344/275/277/347/224/250/344/273/252/350/241/250/347/233/230/TOP_N/345/210/206/346/236/220.md +0 -78
  90. package/templates/aitable-handoff/wiki/faq-support/08-/344/275/277/347/224/250/344/273/252/350/241/250/347/233/230//344/273/252/350/241/250/347/233/230/344/270/255/346/267/273/345/212/240/345/244/232/344/270/252/346/225/260/346/215/256/346/272/220.md +0 -129
  91. package/templates/aitable-handoff/wiki/faq-support/08-/344/275/277/347/224/250/344/273/252/350/241/250/347/233/230//344/273/252/350/241/250/347/233/230/345/215/225/345/233/276/350/241/250/345/222/214AI/350/247/243/350/257/273/345/206/205/345/256/271/345/210/206/344/272/253.md +0 -104
  92. package/templates/aitable-handoff/wiki/faq-support/08-/344/275/277/347/224/250/344/273/252/350/241/250/347/233/230//344/273/252/350/241/250/347/233/230/345/270/270/350/247/201/351/227/256/351/242/230.md +0 -31
  93. package/templates/aitable-handoff/wiki/faq-support/08-/344/275/277/347/224/250/344/273/252/350/241/250/347/233/230//344/273/252/350/241/250/347/233/230/346/231/272/350/203/275/346/200/273/347/273/223/345/210/206/346/236/220.md +0 -57
  94. package/templates/aitable-handoff/wiki/faq-support/08-/344/275/277/347/224/250/344/273/252/350/241/250/347/233/230//344/273/252/350/241/250/347/233/230/347/273/204/344/273/266.md +0 -47
  95. package/templates/aitable-handoff/wiki/faq-support/08-/344/275/277/347/224/250/344/273/252/350/241/250/347/233/230//344/275/277/347/224/250AI/350/241/250/346/240/274/344/273/252/350/241/250/347/233/230.md +0 -226
  96. package/templates/aitable-handoff/wiki/faq-support/08-/344/275/277/347/224/250/344/273/252/350/241/250/347/233/230//344/275/277/347/224/250/350/207/252/345/212/250/345/214/226/346/265/201/347/250/213/345/217/221/351/200/201/344/273/252/350/241/250/347/233/230.md +0 -49
  97. package/templates/aitable-handoff/wiki/faq-support/08-/344/275/277/347/224/250/344/273/252/350/241/250/347/233/230//345/210/206/344/272/253/344/273/252/350/241/250/347/233/230.md +0 -74
  98. package/templates/aitable-handoff/wiki/faq-support/08-/344/275/277/347/224/250/344/273/252/350/241/250/347/233/230//345/234/250/344/273/252/350/241/250/347/233/230/344/270/255/347/255/233/351/200/211/346/225/260/346/215/256.md +0 -65
  99. package/templates/aitable-handoff/wiki/faq-support/08-/344/275/277/347/224/250/344/273/252/350/241/250/347/233/230//350/207/252/345/256/232/344/271/211/344/273/252/350/241/250/347/233/230/344/270/255/345/277/203.md +0 -93
  100. package/templates/aitable-handoff/wiki/faq-support/08-/344/275/277/347/224/250/344/273/252/350/241/250/347/233/230//350/267/237/351/232/217/350/256/277/351/227/256/350/200/205/346/235/203/351/231/220/347/273/237/350/256/241.md +0 -48
  101. package/templates/aitable-handoff/wiki/faq-support/09-/345/272/224/347/224/250/346/250/241/345/274/217//345/205/250/346/226/260/345/272/224/347/224/250/346/250/241/345/274/217.md +0 -155
  102. package/templates/aitable-handoff/wiki/faq-support/09-/345/272/224/347/224/250/346/250/241/345/274/217//345/210/227/350/241/250/347/273/204/344/273/266.md +0 -228
  103. package/templates/aitable-handoff/wiki/faq-support/09-/345/272/224/347/224/250/346/250/241/345/274/217//345/233/276/347/211/207.md +0 -93
  104. package/templates/aitable-handoff/wiki/faq-support/09-/345/272/224/347/224/250/346/250/241/345/274/217//346/214/211/351/222/256.md +0 -86
  105. package/templates/aitable-handoff/wiki/faq-support/09-/345/272/224/347/224/250/346/250/241/345/274/217//346/240/207/347/255/276/351/241/265.md +0 -97
  106. package/templates/aitable-handoff/wiki/faq-support/09-/345/272/224/347/224/250/346/250/241/345/274/217//350/247/206/345/233/276/347/273/204/344/273/266.md +0 -125
  107. package/templates/aitable-handoff/wiki/faq-support/09-/345/272/224/347/224/250/346/250/241/345/274/217//350/277/207/346/273/244/345/231/250.md +0 -110
  108. package/templates/aitable-handoff/wiki/faq-support/09-/345/272/224/347/224/250/346/250/241/345/274/217//351/200/217/350/247/206/350/241/250/347/273/204/344/273/266.md +0 -142
  109. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201/Webhook/345/217/202/346/225/260/347/232/204/350/257/246/347/273/206/350/257/264/346/230/216.md +0 -76
  110. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//344/270/200/350/241/250/344/270/200/345/217/267Agent/346/224/257/346/214/201/347/276/244/346/224/266/351/233/206.md +0 -150
  111. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//344/275/277/347/224/250webhook/350/247/246/345/217/221/350/207/252/345/212/250/345/214/226.md +0 -163
  112. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//344/275/277/347/224/250/344/270/215/345/220/214/350/272/253/344/273/275/345/217/221/351/200/201/351/222/211/351/222/211/346/266/210/346/201/257.md +0 -60
  113. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//344/275/277/347/224/250/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201.md +0 -219
  114. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//344/275/277/347/224/250/350/207/252/345/212/250/345/214/226/345/276/252/347/216/257/350/212/202/347/202/271.md +0 -63
  115. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//345/234/250/346/265/201/347/250/213/344/270/255/344/275/277/347/224/250AI/351/227/256/347/255/224.md +0 -69
  116. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//345/234/250/346/266/210/346/201/257/345/215/241/347/211/207/344/270/212/346/267/273/345/212/240/346/214/211/351/222/256.md +0 -93
  117. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//346/265/201/347/250/213/345/217/230/351/207/217/350/247/243/351/207/212/344/270/216/345/270/270/350/247/201/346/212/245/351/224/231.md +0 -158
  118. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//346/265/201/347/250/213/350/247/246/345/217/221/346/235/241/344/273/266/344/270/216/346/211/247/350/241/214/345/212/250/344/275/234/344/270/200/350/247/210.md +0 -310
  119. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//347/224/250AI/350/241/250/346/240/274/344/270/200/350/241/250/344/270/200/345/212/251/347/220/206/345/217/221/346/266/210/346/201/257-/350/207/252/345/212/250/345/214/226.md +0 -129
  120. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//347/224/250/346/237/245/346/211/276/350/256/260/345/275/225/345/217/221/351/200/201/347/273/204/345/220/210/345/255/227/346/256/265/351/200/232/347/237/245.md +0 -66
  121. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//350/207/252/345/212/250/345/214/226/345/210/233/345/273/272/351/222/211/351/222/211/345/276/205/345/212/236/346/210/226/346/227/245/347/250/213.md +0 -84
  122. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//350/207/252/345/212/250/345/214/226/345/217/221/350/265/267AI/347/224/265/350/257/235/345/244/226/345/221/274.md +0 -322
  123. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//350/207/252/345/212/250/345/214/226/345/217/221/350/265/267OA/345/256/241/346/211/271.md +0 -93
  124. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//350/207/252/345/212/250/345/214/226/345/217/221/351/200/201HTTP/350/257/267/346/261/202.md +0 -168
  125. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//350/207/252/345/212/250/345/214/226/345/270/270/350/247/201/351/227/256/351/242/230.md +0 -83
  126. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//350/207/252/345/212/250/345/214/226/346/211/271/351/207/217/345/217/221/351/202/256/344/273/266.md +0 -79
  127. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//350/207/252/345/212/250/345/214/226/346/224/257/346/214/201/346/217/222/345/205/245/345/223/252/344/272/233/345/217/230/351/207/217/345/206/205/345/256/271.md +0 -80
  128. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//350/207/252/345/212/250/345/214/226/346/233/264/345/244/232/346/211/247/350/241/214/345/212/250/344/275/234/344/275/277/347/224/250/346/214/207/345/215/227.md +0 -21
  129. package/templates/aitable-handoff/wiki/faq-support/10-/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201//350/260/203/347/224/250/344/270/211/346/226/271/345/267/245/344/275/234/346/265/201/345/272/224/347/224/250.md +0 -161
  130. package/templates/aitable-handoff/wiki/faq-support/11-AI/350/241/250/346/240/274/345/212/251/347/220/206/AI/350/241/250/346/240/274/344/270/207/350/203/275/350/264/264/344/274/230/345/205/210/344/275/277/347/224/250/347/224/263/350/257/267.md +0 -67
  131. package/templates/aitable-handoff/wiki/faq-support/11-AI/350/241/250/346/240/274/345/212/251/347/220/206/AI/350/241/250/346/240/274/344/270/207/350/203/275/350/264/264/344/275/277/347/224/250/350/257/264/346/230/216.md +0 -63
  132. package/templates/aitable-handoff/wiki/faq-support/11-AI/350/241/250/346/240/274/345/212/251/347/220/206/AI/350/241/250/346/240/274/345/212/251/347/220/206.md +0 -107
  133. package/templates/aitable-handoff/wiki/faq-support/12-/351/253/230/347/272/247/346/235/203/351/231/220//344/275/277/347/224/250AI/350/241/250/346/240/274/351/253/230/347/272/247/346/235/203/351/231/220.md +0 -194
  134. package/templates/aitable-handoff/wiki/faq-support/12-/351/253/230/347/272/247/346/235/203/351/231/220//350/241/214/345/210/227/346/235/203/351/231/220/350/256/276/347/275/256/345/217/212/351/253/230/347/272/247/346/235/203/351/231/220/345/257/271/350/241/250/345/215/225/345/205/254/345/274/217/347/232/204/345/275/261/345/223/215.md +0 -32
  135. package/templates/aitable-handoff/wiki/faq-support/12-/351/253/230/347/272/247/346/235/203/351/231/220//351/242/204/350/247/210/351/253/230/347/272/247/346/235/203/351/231/220/347/273/223/346/236/234.md +0 -43
  136. package/templates/aitable-handoff/wiki/faq-support/12-/351/253/230/347/272/247/346/235/203/351/231/220//351/253/230/347/272/247/346/235/203/351/231/220/345/270/270/350/247/201/351/227/256/351/242/230.md +0 -47
  137. package/templates/aitable-handoff/wiki/faq-support/12-/351/253/230/347/272/247/346/235/203/351/231/220//351/253/230/347/272/247/346/235/203/351/231/220/347/232/204/351/273/230/350/256/244/350/247/222/350/211/262.md +0 -36
  138. package/templates/aitable-handoff/wiki/faq-support/13-/346/217/222/344/273/266/344/270/255/345/277/203/AI/350/241/250/346/240/274/344/270/211/346/226/271/346/217/222/344/273/266/344/275/277/347/224/250/346/216/210/346/235/203.md +0 -19
  139. package/templates/aitable-handoff/wiki/faq-support/13-/346/217/222/344/273/266/344/270/255/345/277/203/AI/350/241/250/346/240/274/346/217/222/344/273/266-/350/204/232/346/234/254/346/217/222/344/273/266.md +0 -42
  140. package/templates/aitable-handoff/wiki/faq-support/13-/346/217/222/344/273/266/344/270/255/345/277/203/AI/350/241/250/346/240/274/346/217/222/344/273/266-/350/207/252/345/256/232/344/271/211/346/217/222/344/273/266.md +0 -51
  141. package/templates/aitable-handoff/wiki/faq-support/13-/346/217/222/344/273/266/344/270/255/345/277/203/AI/350/241/250/346/240/274/346/217/222/344/273/266/344/270/255/345/277/203-/344/275/277/347/224/250/346/214/207/345/215/227.md +0 -97
  142. package/templates/aitable-handoff/wiki/faq-support/14-/347/256/241/347/220/206/345/220/216/345/217/260//344/275/277/347/224/250/346/225/260/346/215/256/350/257/264/346/230/216.md +0 -82
  143. package/templates/aitable-handoff/wiki/faq-support/14-/347/256/241/347/220/206/345/220/216/345/217/260//346/235/203/347/233/212/346/225/260/346/215/256/350/257/264/346/230/216.md +0 -111
  144. package/templates/aitable-handoff/wiki/faq-support/15-/345/234/272/346/231/257/345/256/236/350/267/265/AI/350/241/250/346/240/274/350/257/257/345/210/240/346/201/242/345/244/215/346/214/207/345/215/227.md +0 -37
  145. package/templates/aitable-handoff/wiki/faq-support/15-/345/234/272/346/231/257/345/256/236/350/267/265//345/234/250/350/241/250/346/240/274/344/270/255/346/240/207/350/256/260/351/207/215/345/244/215/345/206/205/345/256/271.md +0 -43
  146. package/templates/aitable-handoff/wiki/faq-support/15-/345/234/272/346/231/257/345/256/236/350/267/265//347/233/264/346/222/255/345/205/254/345/274/200/347/263/273/345/210/227/350/257/276.md +0 -21
  147. package/templates/aitable-handoff/wiki/faq-support/16-/344/273/230/350/264/271/346/235/203/347/233/212//351/222/211/351/222/211AI/350/241/250/346/240/274/344/273/230/350/264/271/346/235/203/347/233/212.md +0 -144
  148. package/templates/aitable-handoff/wiki/faq-support/16-/344/273/230/350/264/271/346/235/203/347/233/212//351/222/211/351/222/211AI/350/241/250/346/240/274/346/220/255/345/273/272/346/234/215/345/212/241.md +0 -95
  149. package/templates/aitable-handoff/wiki/faq-support/17-/345/205/254/345/221/212/AI/350/241/250/346/240/274-/346/216/222/347/211/210/346/211/223/345/215/260/345/215/207/347/272/247/350/257/264/346/230/216.md +0 -40
  150. package/templates/aitable-handoff/wiki/faq-support/17-/345/205/254/345/221/212/AI/350/241/250/346/240/274-/347/211/210/346/234/254/345/215/207/347/272/247/351/200/232/347/237/245.md +0 -21
  151. package/templates/aitable-handoff/wiki/faq-support/17-/345/205/254/345/221/212//350/267/250AI/350/241/250/346/240/274/346/225/260/346/215/256/345/220/214/346/255/245/350/260/203/346/225/264/350/257/264/346/230/216.md +0 -55
  152. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI /350/241/250/346/240/274/346/217/222/344/273/266 - /344/274/201/344/270/232/345/206/205/346/217/222/344/273/266/345/217/221/345/270/203/346/214/207/345/215/227.md" +0 -159
  153. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274 AI /345/255/227/346/256/265 /345/274/200/345/217/221/346/214/207/345/215/227/AI/350/241/250/346/240/274 AI /345/255/227/346/256/265/345/274/200/345/217/221/346/214/207/345/215/227/357/274/210FaaS/347/211/210/357/274/211.md" +0 -1362
  154. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274 AI /345/255/227/346/256/265 /345/274/200/345/217/221/346/214/207/345/215/227/AI/350/241/250/346/240/274 AI /345/255/227/346/256/265/345/274/200/345/217/221/346/214/207/345/215/227/357/274/210/345/205/254/345/274/217/347/211/210/357/274/211.md" +0 -556
  155. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274 AI /345/255/227/346/256/265 /345/274/200/345/217/221/346/214/207/345/215/227.md" +0 -15
  156. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/255/227/346/256/265/346/250/241/347/211/210 /344/275/277/347/224/250/346/214/207/345/215/227/AI /350/241/250/346/240/274 AI /345/255/227/346/256/265/345/270/270/350/247/201/346/212/245/351/224/231/350/257/264/346/230/216.md" +0 -649
  157. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/255/227/346/256/265/346/250/241/347/211/210 /344/275/277/347/224/250/346/214/207/345/215/227/Dify/346/231/272/350/203/275/344/275/223.md" +0 -55
  158. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/255/227/346/256/265/346/250/241/347/211/210 /344/275/277/347/224/250/346/214/207/345/215/227/GPTPro /345/255/227/346/256/265/346/215/267/345/276/204 /345/257/206/351/222/245/350/216/267/345/217/226/346/214/207/345/215/227.md" +0 -23
  159. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/255/227/346/256/265/346/250/241/347/211/210 /344/275/277/347/224/250/346/214/207/345/215/227/OpenClaw /345/260/217/351/276/231/350/231/276/345/212/251/346/211/213/351/205/215/347/275/256/346/225/231/347/250/213.md" +0 -27
  160. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/255/227/346/256/265/346/250/241/347/211/210 /344/275/277/347/224/250/346/214/207/345/215/227//345/233/275/345/206/205/345/244/226/345/277/253/351/200/222/347/211/251/346/265/201/344/277/241/346/201/257/346/237/245/350/257/242/344/275/277/347/224/250/346/214/207/345/215/227.md" +0 -907
  161. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/255/227/346/256/265/346/250/241/347/211/210 /344/275/277/347/224/250/346/214/207/345/215/227//345/277/253/351/200/222/347/211/251/346/265/201/346/237/245/350/257/242/345/212/251/346/211/213/344/275/277/347/224/250/346/214/207/345/215/227.md" +0 -1
  162. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/AI/350/241/250/346/240/274JSAPI /347/261/273/345/236/213/346/217/217/350/277/260.xlsx +0 -0
  163. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Base /346/250/241/345/235/227.md" +0 -391
  164. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/AttachmentField /351/231/204/344/273/266/345/255/227/346/256/265.md" +0 -200
  165. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/AutoNumberField /350/207/252/345/212/250/347/274/226/345/217/267/345/255/227/346/256/265.md" +0 -75
  166. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/BarcodeField /346/235/241/347/240/201/345/255/227/346/256/265.md" +0 -95
  167. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/BidirectionalLinkField /345/217/214/345/220/221/345/205/263/350/201/224/345/255/227/346/256/265.md" +0 -294
  168. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/CheckboxField /345/244/215/351/200/211/346/241/206/345/255/227/346/256/265.md" +0 -95
  169. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/CreatedTimeField /345/210/233/345/273/272/346/227/266/351/227/264/345/255/227/346/256/265.md" +0 -134
  170. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/CurrencyField /350/264/247/345/270/201/345/255/227/346/256/265.md" +0 -260
  171. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/DateField /346/227/245/346/234/237/345/255/227/346/256/265.md" +0 -183
  172. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/DepartmentField /351/203/250/351/227/250/345/255/227/346/256/265.md" +0 -111
  173. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/EmailField /351/202/256/347/256/261/345/255/227/346/256/265.md" +0 -99
  174. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/FilterUpField /346/237/245/346/211/276/345/274/225/347/224/250/345/255/227/346/256/265.md" +0 -73
  175. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/FormulaField /345/205/254/345/274/217/345/255/227/346/256/265.md" +0 -109
  176. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/GeoLocationField /345/234/260/347/220/206/344/275/215/347/275/256/345/255/227/346/256/265.md" +0 -33
  177. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/GroupField /347/276/244/347/273/204/345/255/227/346/256/265.md" +0 -111
  178. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/LastModifiedTimeField /346/234/200/345/220/216/346/233/264/346/226/260/346/227/266/351/227/264/345/255/227/346/256/265.md" +0 -134
  179. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/LookupField /345/205/263/350/201/224/345/274/225/347/224/250/345/255/227/346/256/265.md" +0 -71
  180. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/MultiSelectField /345/244/232/351/200/211/345/255/227/346/256/265.md" +0 -349
  181. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/NumberField /346/225/260/345/255/227/345/255/227/346/256/265.md" +0 -175
  182. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/PrimaryField /344/270/273/351/224/256/346/226/207/346/241/243/345/255/227/346/256/265.md" +0 -91
  183. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/ProgressField /350/277/233/345/272/246/345/255/227/346/256/265.md" +0 -324
  184. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/RatingField /350/257/204/345/210/206/345/255/227/346/256/265.md" +0 -320
  185. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/RichTextField /345/257/214/346/226/207/346/234/254/345/255/227/346/256/265.md" +0 -45
  186. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/SingleSelectField /345/215/225/351/200/211/345/255/227/346/256/265.md" +0 -336
  187. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/TelephoneField /347/224/265/350/257/235/345/255/227/346/256/265.md" +0 -99
  188. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/TextField /346/226/207/346/234/254/345/255/227/346/256/265.md" +0 -93
  189. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/UnidirectionalLinkFields /345/215/225/345/220/221/345/205/263/350/201/224/345/255/227/346/256/265.md" +0 -295
  190. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/UrlField /351/223/276/346/216/245/345/255/227/346/256/265.md" +0 -163
  191. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227/UserField /344/272/272/345/221/230/345/255/227/346/256/265.md" +0 -266
  192. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Field /346/250/241/345/235/227.md" +0 -379
  193. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Record /346/250/241/345/235/227.md" +0 -277
  194. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/Sheet /346/250/241/345/235/227.md" +0 -1013
  195. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/UI /346/250/241/345/235/227.md" +0 -472
  196. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/View /346/250/241/345/235/227/GridView /350/241/250/346/240/274/350/247/206/345/233/276.md" +0 -835
  197. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243/View /346/250/241/345/235/227.md" +0 -203
  198. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243//345/255/227/346/256/265/346/225/260/346/215/256/347/273/223/346/236/204.md +0 -65
  199. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/345/257/271/350/261/241/346/250/241/345/236/213API/345/217/202/350/200/203/346/226/207/346/241/243//350/257/273/345/206/231AI /350/241/250/346/240/274/346/250/241/345/236/213.md" +0 -29
  200. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/346/225/260/346/215/256/346/272/220 /345/274/200/345/217/221/346/214/207/345/215/227.md" +0 -607
  201. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/204/232/346/234/254/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227/Base /346/250/241/345/235/227.md" +0 -391
  202. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/204/232/346/234/254/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227/Field /346/250/241/345/235/227.md" +0 -379
  203. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/204/232/346/234/254/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227/Input/346/250/241/345/235/227.md" +0 -331
  204. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/204/232/346/234/254/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227/Output/346/250/241/345/235/227.md" +0 -197
  205. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/204/232/346/234/254/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227/Record /346/250/241/345/235/227.md" +0 -277
  206. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/204/232/346/234/254/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227/Sheet /346/250/241/345/235/227.md" +0 -1013
  207. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/204/232/346/234/254/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227/UI /346/250/241/345/235/227.md" +0 -472
  208. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/204/232/346/234/254/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227/View /346/250/241/345/235/227.md" +0 -203
  209. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/204/232/346/234/254/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227//345/255/227/346/256/265/346/225/260/346/215/256/347/273/223/346/236/204.md" +0 -65
  210. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/204/232/346/234/254/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227.md" +0 -142
  211. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/276/271/346/240/217/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227/Base /346/250/241/345/235/227.md" +0 -391
  212. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/276/271/346/240/217/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227/Event/344/272/213/344/273/266/346/250/241/345/235/227.md" +0 -182
  213. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/276/271/346/240/217/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227/Field /346/250/241/345/235/227.md" +0 -379
  214. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/276/271/346/240/217/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227/Record /346/250/241/345/235/227.md" +0 -277
  215. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/276/271/346/240/217/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227/Sheet /346/250/241/345/235/227.md" +0 -1013
  216. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/276/271/346/240/217/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227/UI /346/250/241/345/235/227.md" +0 -472
  217. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/276/271/346/240/217/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227/View /346/250/241/345/235/227.md" +0 -203
  218. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/276/271/346/240/217/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227//345/205/266/344/273/226/346/216/245/345/217/243.md" +0 -146
  219. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/276/271/346/240/217/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227//345/255/227/346/256/265/346/225/260/346/215/256/347/273/223/346/236/204.md" +0 -65
  220. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/276/271/346/240/217/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227//346/240/270/345/277/203/347/237/245/350/257/206.md" +0 -54
  221. package/templates/aitable-handoff/wiki/faq-support/18-/345/274/200/345/217/221/350/200/205/346/214/207/345/215/227/AI/350/241/250/346/240/274/350/276/271/346/240/217/346/217/222/344/273/266 /345/274/200/345/217/221/346/214/207/345/215/227.md" +0 -192
  222. package/templates/aitable-handoff/wiki/faq-support//351/222/211/351/222/211AI/350/241/250/346/240/274FAQ.md +0 -611
  223. package/templates/aitable-handoff/workflows/admin-kb-update/recipes/kb-refine.recipe.ts +0 -131
  224. package/templates/aitable-handoff/workflows/admin-kb-update/recipes/kb_sync_handler.recipe.ts +0 -130
  225. package/templates/aitable-handoff/workflows/admin-kb-update/workflow.yml +0 -125
  226. package/templates/aitable-handoff/workflows/config-sync/recipes/config_sync.recipe.ts +0 -448
  227. package/templates/aitable-handoff/workflows/config-sync/recipes/config_sync_handler.recipe.ts +0 -16
  228. package/templates/aitable-handoff/workflows/config-sync/workflow.yml +0 -73
  229. package/templates/aitable-handoff/workflows/daily-review/recipes/daily_review.recipe.ts +0 -529
  230. package/templates/aitable-handoff/workflows/daily-review/recipes/daily_review_handler.recipe.ts +0 -26
  231. package/templates/aitable-handoff/workflows/daily-review/recipes/memory-events.ts +0 -56
  232. package/templates/aitable-handoff/workflows/daily-review/workflow.yml +0 -92
  233. package/templates/aitable-handoff/workflows/group-qa/error-replies.json +0 -53
  234. package/templates/aitable-handoff/workflows/group-qa/recipes/answer.recipe.ts +0 -197
  235. package/templates/aitable-handoff/workflows/group-qa/recipes/conversation_handler.recipe.ts +0 -294
  236. package/templates/aitable-handoff/workflows/group-qa/recipes/issue-classifier.ts +0 -120
  237. package/templates/aitable-handoff/workflows/group-qa/recipes/known-error-match.recipe.ts +0 -75
  238. package/templates/aitable-handoff/workflows/group-qa/recipes/memory-events.ts +0 -55
  239. package/templates/aitable-handoff/workflows/group-qa/recipes/reply-to-group.recipe.ts +0 -132
  240. package/templates/aitable-handoff/workflows/group-qa/recipes/troubleshoot-issue.recipe.ts +0 -195
  241. package/templates/aitable-handoff/workflows/group-qa/workflow.yml +0 -210
  242. package/templates/aitable-handoff/workspaces/daily-review/AGENTS.md +0 -189
  243. package/templates/aitable-handoff/workspaces/faq-support/AGENTS.md +0 -448
  244. package/templates/aitable-handoff/workspaces/faq-support/contacts.json +0 -14
  245. package/templates/aitable-handoff/workspaces/faq-support/owner-map.json +0 -18
  246. package/templates/aitable-handoff/workspaces/faq-support/skills/bug-triage/SKILL.md +0 -130
  247. package/templates/aitable-handoff/workspaces/faq-troubleshooter/AGENTS.md +0 -53
  248. package/templates/aitable-handoff/workspaces/faq-troubleshooter/skills/troubleshooting/SKILL.md +0 -58
  249. package/templates/aitable-handoff/workspaces/faq-troubleshooter/skills/troubleshooting/aitable-import-troubleshooter/SKILL.md +0 -485
  250. package/templates/aitable-handoff/workspaces/faq-troubleshooter/skills/troubleshooting/aitable-openapi-troubleshooter/SKILL.md +0 -183
  251. package/templates/aitable-handoff/workspaces/faq-troubleshooter/skills/troubleshooting/import-openapi-e2e-troubleshooter/SKILL.md +0 -459
  252. package/templates/aitable-handoff/workspaces/faq-troubleshooter/skills/troubleshooting/notable-datasource-troubleshooter/SKILL.md +0 -1286
  253. package/templates/aitable-handoff/workspaces/faq-troubleshooter/skills/troubleshooting/notable-field-troubleshooter/SKILL.md +0 -673
  254. package/templates/aitable-handoff/workspaces/faq-troubleshooter/skills/troubleshooting/spreadsheet-datasync-troubleshooter/SKILL.md +0 -322
  255. package/templates/aitable-handoff/workspaces/kb-editor/AGENTS.md +0 -32
  256. package/templates/support-qa/lib/assemble-cli.ts +0 -30
  257. package/templates/support-qa/lib/assemble.ts +0 -279
  258. package/templates/support-qa/lib/echo-guard.ts +0 -50
  259. package/templates/support-qa/lib/fastpath.ts +0 -227
  260. package/templates/support-qa/lib/owner-mention.ts +0 -140
  261. package/templates/support-qa/lib/profile-guard.ts +0 -55
  262. package/templates/support-qa/lib/send-failure-guard.ts +0 -59
  263. package/templates/support-qa/lib/troubleshoot.ts +0 -236
@@ -1,1013 +0,0 @@
1
- # Sheet 模块
2
-
3
- `Sheet`即数据表,它负责维护数据与数据之间的联系,接口提供了操作数据表的方法,包括基本信息管理、字段管理、视图管理以及记录操作等功能
4
-
5
- 通过 `Base` 获取到 `Sheet` 之后,就可以调用 `Sheet` 中的 API,可以通过 `base.getActiveSheet` 方法来获取当前选中的数据表实例:
6
-
7
- ```typescript
8
- const sheet = DingdocsScript.base.getActiveSheet();
9
- const sheet = DingdocsScript.base.getSheet('数据表1');
10
- ```
11
- ```typescript
12
- const sheet = Base.getActiveSheet();
13
- const sheet = Base.getSheet('数据表1');
14
- ```
15
- > 文中未声明的类型定义,请至[请至钉钉文档查看附件《AI表格JSAPI 类型描述》。](https://alidocs.dingtalk.com/i/nodes/pYLaezmVNGmDXOMxumrpZllKJrMqPxX6?iframeQuery=anchorId%3DX02mk15wsqsz7clll7zlo)中进行查询
16
-
17
- ## 基本信息方法
18
-
19
- ### getId
20
-
21
- 获取当前数据表ID。
22
-
23
- ```typescript
24
- getId(): string
25
- ```
26
-
27
- **返回值**
28
-
29
- * `string` - 数据表ID
30
-
31
-
32
- **示例**
33
-
34
- ```typescript
35
- const sheetId = sheet.getId();
36
- console.log(`当前数据表ID: ${sheetId}`);
37
-
38
- ```
39
- ```typescript
40
- const sheetId = sheet.getId();
41
- Output.log(`当前数据表ID: ${sheetId}`);
42
-
43
- ```
44
-
45
- ### getName
46
-
47
- 获取当前数据表名称。
48
-
49
- ```typescript
50
- getName(): string
51
-
52
- ```
53
-
54
- **返回值**
55
-
56
- * `string` - 数据表名称
57
-
58
-
59
- **示例**
60
-
61
- ```typescript
62
- const sheetName = sheet.getName();
63
- console.log(`当前数据表名称: ${sheetName}`);
64
-
65
- ```
66
- ```typescript
67
- const sheetName = sheet.getName();
68
- console.log(`当前数据表名称: ${sheetName}`);
69
-
70
- ```
71
-
72
- ### setName
73
-
74
- 设置当前数据表名称。
75
-
76
- ```typescript
77
- setName(name: string): Sheet
78
-
79
- ```
80
-
81
- **参数**
82
-
83
- * `name`: `string` - 数据表名称
84
-
85
-
86
- **返回值**
87
-
88
- * `Sheet` - Sheet对象本身,支持链式调用
89
-
90
-
91
- **示例**
92
-
93
- ```typescript
94
- sheet.setName('销售记录');
95
- // 链式调用
96
- sheet.setName('客户信息').getFields();
97
-
98
- ```
99
-
100
- **注意事项**
101
-
102
- * 数据表名称长度不能超过100个字符
103
-
104
- * 不能包含以下特殊字符: `/\?*[ ]:`
105
-
106
- * 不能与已有数据表同名
107
-
108
-
109
- ### getDesc
110
-
111
- 获取数据表描述。
112
-
113
- ```typescript
114
- getDesc(): string | undefined
115
-
116
- ```
117
-
118
- **返回值**
119
-
120
- * `string | undefined` - 数据表描述文案,没有描述时默认返回undefined
121
-
122
-
123
- **示例**
124
-
125
- ```typescript
126
- const description = sheet.getDesc();
127
- if (description) {
128
- console.log(`数据表描述: ${description}`);
129
- } else {
130
- console.log('该数据表暂无描述');
131
- }
132
-
133
- ```
134
- ```typescript
135
- const description = sheet.getDesc();
136
- if (description) {
137
- Output.log(`数据表描述: ${description}`);
138
- } else {
139
- Output.log('该数据表暂无描述');
140
- }
141
-
142
- ```
143
-
144
- ### setDesc
145
-
146
- 设置当前数据表描述。
147
-
148
- ```typescript
149
- setDesc(desc: string): Sheet
150
-
151
- ```
152
-
153
- **参数**
154
-
155
- * `desc`: `string` - 数据表描述文案
156
-
157
-
158
- **返回值**
159
-
160
- * `Sheet` - Sheet对象本身,支持链式调用
161
-
162
-
163
- **示例**
164
-
165
- ```typescript
166
- sheet.setDesc('本表用于记录公司客户的基本信息和联系方式');
167
-
168
- ```
169
-
170
- ## 字段管理方法
171
-
172
- 参考[《字段数据结构》](https://alidocs.dingtalk.com/i/nodes/nYMoO1rWxmP7olkyF0kGwelwV47Z3je9?utm_scene=person_space&iframeQuery=anchorId%3Duu_mk4xf3z7pfeezmqbo5e)了解如何读写字段配置。
173
-
174
- ### isFieldExist
175
-
176
- 判断当前数据表中指定ID的字段是否存在。
177
-
178
- ```typescript
179
- isFieldExist(fieldId: string): boolean
180
-
181
- ```
182
-
183
- **参数**
184
-
185
- * `fieldId`: `string` - 字段ID
186
-
187
-
188
- **返回值**
189
-
190
- * `boolean` - 是否存在
191
-
192
-
193
- **示例**
194
-
195
- ```typescript
196
- if (sheet.isFieldExist('fld123456')) {
197
- console.log('字段存在,可以进行操作');
198
- } else {
199
- console.log('字段不存在,请检查字段ID');
200
- }
201
-
202
- ```
203
- ```typescript
204
- if (sheet.isFieldExist('fld123456')) {
205
- Output.log('字段存在,可以进行操作');
206
- } else {
207
- Output.log('字段不存在,请检查字段ID');
208
- }
209
-
210
- ```
211
-
212
- ### getFields
213
-
214
- 获取当前数据表中所有字段列表。
215
-
216
- ```typescript
217
- getFields(): Field[]
218
-
219
- ```
220
-
221
- **返回值**
222
-
223
- * [`Field[]`](https://alidocs.dingtalk.com/i/nodes/np9zOoBVBy2AdzEju0z93rx2W1DK0g6l?utm_scene=person_space) - 字段列表
224
-
225
-
226
- **示例**
227
-
228
- ```typescript
229
- const fields = sheet.getFields();
230
- console.log(`数据表共有 ${fields.length} 个字段`);
231
- fields.forEach(field => {
232
- console.log(`- ${field.getName()}: ${field.getType()}`);
233
- });
234
-
235
- ```
236
- ```typescript
237
- const fields = sheet.getFields();
238
- Output.log(`数据表共有 ${fields.length} 个字段`);
239
- fields.forEach(field => {
240
- Output.log(`- ${field.getName()}: ${field.getType()}`);
241
- });
242
-
243
- ```
244
-
245
- ### getField
246
-
247
- 根据字段ID或字段名称获取指定字段。
248
-
249
- ```typescript
250
- getField<T extends Field = Field>(idOrName: string): T | null
251
- ```
252
-
253
- **参数**
254
-
255
- * `idOrName`: `string` - 字段ID或字段名称
256
-
257
-
258
- **返回值**
259
-
260
- * [`Field | null`](https://alidocs.dingtalk.com/i/nodes/np9zOoBVBy2AdzEju0z93rx2W1DK0g6l?utm_scene=person_space) - 字段对象,若当前未找到符合条件的字段,则返回null
261
-
262
-
263
- **示例**
264
-
265
- * 边栏插件
266
-
267
-
268
- ```typescript
269
- // 通过字段ID获取字段
270
- const fieldById = sheet.getField('fld123456');
271
-
272
- // 通过字段名称获取字段
273
- const fieldByName = sheet.getField('客户姓名');
274
- if (fieldByName) {
275
- console.log(`字段类型: ${fieldByName.getType()}`);
276
- } else {
277
- console.log('未找到指定字段');
278
- }
279
-
280
- ```
281
-
282
- 建议传入 `Field` 类型(例如示例中的 `<AttachmentField>`),来获得更好的语法提示
283
-
284
- ```typescript
285
- // getAttachmentUrls是附件字段独有的方法
286
- const field = sheet.getField<AttachmentField>(idOrName);
287
- const urls = field.getAttachmentUrls('recordId');
288
- ```
289
-
290
- * 脚本插件
291
-
292
-
293
- ```typescript
294
- // 通过字段ID获取字段
295
- const fieldById = sheet.getField('fld123456');
296
-
297
- // 通过字段名称获取字段
298
- const fieldByName = sheet.getField('客户姓名');
299
- if (fieldByName) {
300
- Output.log(`字段类型: ${fieldByName.getType()}`);
301
- } else {
302
- Output.log('未找到指定字段');
303
- }
304
-
305
- ```
306
-
307
- 建议使用`isFieldOfType` API判断字段类型,以获得更好的语法提示
308
-
309
- ```typescript
310
- // addOption是单选/多选字段独有的方法
311
- if (Base.isFieldOfType(field, 'singleSelect')) {
312
- field.addOption('新选项')
313
- }
314
- ```
315
-
316
- ### getFieldsByType
317
-
318
- 获取当前数据表中所有指定类型的字段列表。
319
-
320
- ```typescript
321
- getFieldsByType: <T extends FieldType>(type: T) => Array<Field<T>>
322
-
323
- ```
324
-
325
- **参数**
326
-
327
- * `type`: [`FieldType`](https://alidocs.dingtalk.com/notable/record?dentryUuid=GZLxjv9VGGDA9Ro2u05KgqMnV6EDybno&rowId=7Gtfo83ZWU&sheetId=hERWDMS&viewId=qvGDAH2) - 指定字段类型
328
-
329
-
330
- **返回值**
331
-
332
- * [`Field<T>[]`](https://alidocs.dingtalk.com/i/nodes/np9zOoBVBy2AdzEju0z93rx2W1DK0g6l?utm_scene=person_space) - 指定类型的字段列表
333
-
334
-
335
- **示例**
336
-
337
- ```typescript
338
- const fields = sheet.getFieldsByType('number');
339
- console.log(`数据表共有 ${fields.length} 个数字字段`);
340
-
341
- ```
342
- ```typescript
343
- const fields = sheet.getFieldsByType('number');
344
- Output.log(`数据表共有 ${fields.length} 个数字字段`);
345
-
346
- ```
347
-
348
- ### insertField
349
-
350
- 插入字段。
351
-
352
- ```typescript
353
- insertField: (name: string, type: FieldType, property?: FieldProperty) => Field
354
-
355
- ```
356
-
357
- **参数**
358
-
359
- * `name`: `string` - 字段名称
360
-
361
- * `type`: [`FieldType`](https://alidocs.dingtalk.com/notable/record?dentryUuid=GZLxjv9VGGDA9Ro2u05KgqMnV6EDybno&rowId=7Gtfo83ZWU&sheetId=hERWDMS&viewId=qvGDAH2) - 字段类型
362
-
363
- * `property`: [`FieldProperty`](https://alidocs.dingtalk.com/notable/record?dentryUuid=GZLxjv9VGGDA9Ro2u05KgqMnV6EDybno&rowId=tguz2mP8WZ&sheetId=hERWDMS&viewId=qvGDAH2) - 字段属性
364
-
365
-
366
- 根据字段类型不同,支持传入的字段属性结构也不同,具体可以参考[《字段数据结构》](https://alidocs.dingtalk.com/i/nodes/nYMoO1rWxmP7olkyF0kGwelwV47Z3je9?utm_scene=team_space&iframeQuery=anchorId%3Duu_mk4xf3z7pfeezmqbo5e)
367
-
368
- **返回值**
369
-
370
- * [`Field`](https://alidocs.dingtalk.com/i/nodes/np9zOoBVBy2AdzEju0z93rx2W1DK0g6l?utm_scene=person_space) - 插入的字段对象
371
-
372
-
373
- **示例**
374
-
375
- ```typescript
376
- // 插入文本字段
377
- const textField = sheet.insertField('备注', 'text');
378
- ```
379
-
380
- ### updateField
381
-
382
- 更新指定字段配置。
383
-
384
- 如果要修改字段类型,请调用【updateFieldAsync】
385
-
386
- ```typescript
387
- updateField: (field: FieldToUpdateWithoutType) => Field
388
-
389
- ```
390
-
391
- **参数**
392
-
393
- * `field`: [`FieldToUpdateWithoutType`](https://alidocs.dingtalk.com/notable/record?dentryUuid=GZLxjv9VGGDA9Ro2u05KgqMnV6EDybno&rowId=qlfW6QvxZc&sheetId=hERWDMS&viewId=qvGDAH2) - 字段配置
394
-
395
-
396
- 根据字段类型不同,支持传入的字段属性结构也不同,具体可以参考[《字段数据结构》](https://alidocs.dingtalk.com/i/nodes/nYMoO1rWxmP7olkyF0kGwelwV47Z3je9?utm_scene=team_space&iframeQuery=anchorId%3Duu_mk4xf3z7pfeezmqbo5e)
397
-
398
- **返回值**
399
-
400
- * [`Field`](https://alidocs.dingtalk.com/i/nodes/np9zOoBVBy2AdzEju0z93rx2W1DK0g6l?utm_scene=person_space) - 更新后的字段对象
401
-
402
-
403
- ### updateFieldAsync
404
-
405
- 更新指定字段配置,包括【字段类型】
406
-
407
- ```typescript
408
- updateFieldAsync: (id: string, field: FieldToUpdate) => Promise<Field>
409
-
410
- ```
411
-
412
- **参数**
413
-
414
- * `id`: `string` - 字段ID
415
-
416
- * `field`: [`FieldToUpdate`](https://alidocs.dingtalk.com/notable/record?dentryUuid=GZLxjv9VGGDA9Ro2u05KgqMnV6EDybno&rowId=iAdi4eyklu&sheetId=hERWDMS&viewId=qvGDAH2) - 字段配置
417
-
418
-
419
- 根据字段类型不同,支持传入的字段属性结构也不同,具体可以参考[《字段数据结构》](https://alidocs.dingtalk.com/i/nodes/nYMoO1rWxmP7olkyF0kGwelwV47Z3je9?utm_scene=team_space&iframeQuery=anchorId%3Duu_mk4xf3z7pfeezmqbo5e)
420
-
421
- **返回值**
422
-
423
- * [`Promise<Field>`](https://alidocs.dingtalk.com/i/nodes/np9zOoBVBy2AdzEju0z93rx2W1DK0g6l?utm_scene=person_space) - 更新后的字段对象
424
-
425
-
426
- ### deleteField
427
-
428
- 根据字段ID或字段名称删除指定字段。
429
-
430
- ```typescript
431
- deleteField: (idOrName: string) => Sheet
432
- ```
433
-
434
- **参数**
435
-
436
- * `idOrName`: `string` - 字段ID或字段名称
437
-
438
-
439
- **返回值**
440
-
441
- * `Sheet` - Sheet对象本身,支持链式调用
442
-
443
-
444
- **示例**
445
-
446
- ```typescript
447
- // 通过字段ID删除字段
448
- sheet.deleteField('fld123456');
449
-
450
- // 通过字段名称删除字段
451
- sheet.deleteField('临时备注');
452
-
453
- // 链式调用
454
- sheet.deleteField('不需要的字段').setName('更新后的表名');
455
-
456
- ```
457
-
458
- **注意事项**
459
-
460
- * 不能删除主键字段
461
-
462
- * 不能删除表中的最后一个字段
463
-
464
-
465
- ## 视图管理方法
466
-
467
- ### getViews
468
-
469
- 获取当前数据表的所有视图列表。
470
-
471
- ```typescript
472
- getViews(): View[]
473
- ```
474
-
475
- **返回值**
476
-
477
- * [`View[]`](https://alidocs.dingtalk.com/i/nodes/1R7q3QmWeljPoM5BSzo3RnAY8xkXOEP2?utm_scene=person_space) - 视图列表
478
-
479
-
480
- **示例**
481
-
482
- ```typescript
483
- const views = sheet.getViews();
484
- console.log(`数据表共有 ${views.length} 个视图`);
485
-
486
- ```
487
- ```typescript
488
- const views = sheet.getViews();
489
- console.log(`数据表共有 ${views.length} 个视图`);
490
-
491
- ```
492
-
493
- ### getView
494
-
495
- 根据视图ID或视图名称获取指定视图。
496
-
497
- ```typescript
498
- getView(idOrName: string): View | null
499
-
500
- ```
501
-
502
- **参数**
503
-
504
- * `id`: `string` - 指定视图的ID或视图名
505
-
506
-
507
- **返回值**
508
-
509
- * [`View | null`](https://alidocs.dingtalk.com/i/nodes/1R7q3QmWeljPoM5BSzo3RnAY8xkXOEP2?utm_scene=person_space) - 指定的视图对象,未找到视图时返回null
510
-
511
-
512
- ```typescript
513
- const view = sheet.getView('表格视图');
514
- ```
515
-
516
- ### getActiveView
517
-
518
- 获取指定数据表中激活的视图。
519
-
520
- ```typescript
521
- getActiveView(): View | null
522
-
523
- ```
524
-
525
- **返回值**
526
-
527
- * [`View | null`](https://alidocs.dingtalk.com/i/nodes/1R7q3QmWeljPoM5BSzo3RnAY8xkXOEP2?utm_scene=person_space) - 当前激活的视图对象,未激活对应数据表视图时返回null
528
-
529
-
530
- ```typescript
531
- const view = sheet.getActiveView('表格视图');
532
- ```
533
-
534
- ### insertView
535
-
536
- 插入视图。
537
-
538
- ```typescript
539
- insertView: (view: ViewToInsert) => View;
540
-
541
- ```
542
-
543
- **参数**
544
-
545
- * `view`: [`ViewToInsert`](https://alidocs.dingtalk.com/notable/record?dentryUuid=GZLxjv9VGGDA9Ro2u05KgqMnV6EDybno&rowId=gIm21wm6WR&sheetId=hERWDMS&viewId=qvGDAH2) - 视图配置
546
-
547
-
548
- **返回值**
549
-
550
- * [`View`](https://alidocs.dingtalk.com/i/nodes/1R7q3QmWeljPoM5BSzo3RnAY8xkXOEP2?utm_scene=person_space) - 插入的视图对象
551
-
552
-
553
- ```typescript
554
- const view = sheet.insertView({
555
- name: '新建的表格视图',
556
- type: 'Grid',
557
- desc: '由插件创建的表格视图',
558
- });
559
- ```
560
-
561
- ### updateView
562
-
563
- 根据视图ID更新指定视图。
564
-
565
- ```typescript
566
- updateView: (id: string, view: ViewToUpdate) => View;
567
-
568
- ```
569
-
570
- **参数**
571
-
572
- * `view`: [`ViewToUpdate`](https://alidocs.dingtalk.com/notable/record?dentryUuid=GZLxjv9VGGDA9Ro2u05KgqMnV6EDybno&rowId=FtB9cuzSQO&sheetId=hERWDMS&viewId=qvGDAH2) - 视图配置
573
-
574
-
575
- **返回值**
576
-
577
- * [`View`](https://alidocs.dingtalk.com/i/nodes/1R7q3QmWeljPoM5BSzo3RnAY8xkXOEP2?utm_scene=person_space) - 插入的视图对象
578
-
579
-
580
- ```typescript
581
- const view = sheet.updateView('viewIdxx1', {
582
- name: '新视图名称',
583
- desc: '新的视图描述',
584
- });
585
- ```
586
-
587
- ### deleteView
588
-
589
- 根据视图ID更新指定视图。
590
-
591
- ```typescript
592
- deleteView: (idOrName: string) => Sheet;
593
-
594
- ```
595
-
596
- **参数**
597
-
598
- * `idOrName`: `string` - 视图ID或视图名称
599
-
600
-
601
- **返回值**
602
-
603
- * `Sheet` - Sheet对象本身
604
-
605
-
606
- ```typescript
607
- const view = sheet.deleteView('视图名称');
608
- ```
609
-
610
- ## 记录操作方法
611
-
612
- 参考 [《字段数据结构》](https://alidocs.dingtalk.com/i/nodes/nYMoO1rWxmP7olkyF0kGwelwV47Z3je9?utm_scene=person_space&iframeQuery=anchorId%3Duu_mk4xfm5hmti7h6un16) 了解如何读写记录单元格值。
613
-
614
- ### getRecordAsync
615
-
616
- 获取指定ID的单条记录。
617
-
618
- ```typescript
619
- getRecordAsync: (recordId: string) => Promise<Record | null>
620
- ```
621
-
622
- **参数**
623
-
624
- * `recordId`: `string` - 记录ID
625
-
626
-
627
- **返回值**
628
-
629
- * [`Promise<Record | null>`](https://alidocs.dingtalk.com/i/nodes/GZLxjv9VGGDA9Ro2uxONwRBoV6EDybno?utm_scene=person_space) - 记录对象,如果记录不存在则返回null
630
-
631
-
632
- 根据字段类型不同,收到的字段值结构也不同,具体可以参考[《字段数据结构》](https://alidocs.dingtalk.com/i/nodes/nYMoO1rWxmP7olkyF0kGwelwV47Z3je9?utm_scene=team_space&iframeQuery=anchorId%3Duu_mk4xfm5hmti7h6un16)
633
-
634
- **示例**
635
-
636
- ```typescript
637
- // 获取指定ID的记录
638
- const record = await sheet.getRecordAsync('rec123456');
639
- if (record) {
640
- console.log(`记录标题: ${record.getCellValue('标题')}`);
641
- console.log(`记录创建时间: ${record.getCellValue('创建时间')}`);
642
- } else {
643
- console.log('未找到指定记录');
644
- }
645
-
646
- ```
647
- ```typescript
648
- // 获取指定ID的记录
649
- const record = await sheet.getRecordAsync('rec123456');
650
- if (record) {
651
- Output.log(`记录标题: ${record.getCellValue('标题')}`);
652
- Output.log(`记录创建时间: ${record.getCellValue('创建时间')}`);
653
- } else {
654
- Output.log('未找到指定记录');
655
- }
656
-
657
- ```
658
-
659
- ### getRecordsAsync
660
-
661
- 分页加载数据表中的记录。
662
-
663
- ```typescript
664
- getRecordsAsync: (options?: GetRecordsOptions) => Promise<GetRecordsResult>
665
-
666
- ```
667
-
668
- **参数**
669
-
670
- * `options`: [`GetRecordsOptions`](https://alidocs.dingtalk.com/notable/record?dentryUuid=GZLxjv9VGGDA9Ro2u05KgqMnV6EDybno&rowId=4ImTlg9Zr5&sheetId=hERWDMS&viewId=qvGDAH2) 分页加载记录配置
671
-
672
-
673
- **返回值**
674
-
675
- * [`Promise<GetRecordsResult>`](https://alidocs.dingtalk.com/i/nodes/GZLxjv9VGGDA9Ro2u05KgqMnV6EDybno?iframeQuery=record%3DhERWDMS_qvGDAH2_3WRNBvWDxl) - 返回结果
676
-
677
-
678
- 根据字段类型不同,收到的字段值结构也不同,具体可以参考[《字段数据结构》](https://alidocs.dingtalk.com/i/nodes/nYMoO1rWxmP7olkyF0kGwelwV47Z3je9?utm_scene=team_space&iframeQuery=anchorId%3Duu_mk4xfm5hmti7h6un16)
679
-
680
- **示例**
681
-
682
- ```typescript
683
- // 基本使用 - 使用选项对象
684
- const result = await sheet.getRecordsAsync({
685
- pageSize: 50
686
- });
687
- console.log(`获取了 ${result.records.length} 条记录`);
688
- result.records.forEach(record => {
689
- console.log(`- ${record.getCellValue('标题')}`);
690
- });
691
-
692
-
693
- // 分页加载所有记录
694
- async function loadAllRecords(sheet) {
695
- const allRecords = [];
696
-
697
- let hasMore = true;
698
- let cursor = '';
699
-
700
- while (hasMore) {
701
- const result = await sheet.getRecordsAsync({
702
- pageSize: 100,
703
- cursor: cursor
704
- });
705
-
706
- allRecords.push(...result.records);
707
- hasMore = result.hasMore;
708
- cursor = result.cursor;
709
-
710
- console.log(`已加载 ${allRecords.length} 条记录...`);
711
- }
712
-
713
- return allRecords;
714
- }
715
-
716
- ```
717
- ```typescript
718
- // 基本使用
719
- const result = await sheet.getRecordsAsync({
720
- pageSize: 50,
721
- });
722
- Output.log(`获取了 ${result.records.length} 条记录`);
723
- result.records.forEach(record => {
724
- console.log(`- ${record.getCellValue('标题')}`);
725
- });
726
-
727
-
728
- // 分页加载所有记录
729
- async function loadAllRecords(sheet) {
730
- const allRecords = [];
731
-
732
- let hasMore = true;
733
- let cursor = '';
734
-
735
- while (hasMore) {
736
- const result = await sheet.getRecordsAsync({
737
- pageSize: 100,
738
- cursor: cursor
739
- });
740
-
741
- allRecords.push(...result.records);
742
- hasMore = result.hasMore;
743
- cursor = result.cursor;
744
-
745
- Output.log(`已加载 ${allRecords.length} 条记录...`);
746
- }
747
-
748
- return allRecords;
749
- }
750
-
751
- ```
752
-
753
- **注意事项**
754
-
755
- * 每页最多加载100条记录
756
-
757
- * 通过多次调用并使用游标可以加载所有符合条件的记录
758
-
759
- * 对于性能考虑,建议适当设置页面大小,避免一次加载过多数据
760
-
761
- * 返回的记录已经过权限过滤,只包含当前用户有权限查看的记录
762
-
763
-
764
- ### insertRecordsAsync
765
-
766
- 批量插入行记录。
767
-
768
- ```typescript
769
- insertRecordsAsync: (records: RecordToInsert[]) => Promise<Record[]>
770
-
771
- ```
772
-
773
- **参数**
774
-
775
- * `records`:  [`RecordToInsert[]`](https://alidocs.dingtalk.com/notable/record?dentryUuid=GZLxjv9VGGDA9Ro2u05KgqMnV6EDybno&rowId=dXATR3VPyU&sheetId=hERWDMS&viewId=qvGDAH2) - 要插入的记录列表,每个记录包含fields属性(字段值映射)
776
-
777
-
778
- 根据字段类型不同,写入的字段值结构也不同,具体可以参考[《字段数据结构》](https://alidocs.dingtalk.com/i/nodes/nYMoO1rWxmP7olkyF0kGwelwV47Z3je9?utm_scene=team_space&iframeQuery=anchorId%3Duu_mk4xfm5hmti7h6un16)
779
-
780
- **返回值**
781
-
782
- * [`Promise<Record[]>`](https://alidocs.dingtalk.com/i/nodes/GZLxjv9VGGDA9Ro2uxONwRBoV6EDybno?utm_scene=person_space) - 插入的记录对象列表
783
-
784
-
785
- **示例**
786
-
787
- ```typescript
788
- // 插入单条记录
789
- const newRecords = await sheet.insertRecordsAsync([
790
- {
791
- fields: {
792
- '标题': '新客户开发计划',
793
- '负责人': '张三',
794
- '优先级': '高',
795
- '截止日期': '2025-12-31'
796
- }
797
- }
798
- ]);
799
- console.log(`成功创建记录,ID: ${newRecords[0].getId()}`);
800
-
801
- // 批量插入多条记录
802
- const batchRecords = await sheet.insertRecordsAsync([
803
- {
804
- fields: { '客户名称': '阿里巴巴', '联系人': '马云', '状态': '已签约' }
805
- },
806
- {
807
- fields: { '客户名称': '腾讯', '联系人': '马化腾', '状态': '洽谈中' }
808
- },
809
- {
810
- fields: { '客户名称': '百度', '联系人': '李彦宏', '状态': '已联系' }
811
- }
812
- ]);
813
- console.log(`成功批量创建 ${batchRecords.length} 条记录`);
814
-
815
- ```
816
- ```typescript
817
- // 插入单条记录
818
- const newRecords = await sheet.insertRecordsAsync([
819
- {
820
- fields: {
821
- '标题': '新客户开发计划',
822
- '负责人': '张三',
823
- '优先级': '高',
824
- '截止日期': '2025-12-31'
825
- }
826
- }
827
- ]);
828
- Output.log(`成功创建记录,ID: ${newRecords[0].getId()}`);
829
-
830
- // 批量插入多条记录
831
- const batchRecords = await sheet.insertRecordsAsync([
832
- {
833
- fields: { '客户名称': '阿里巴巴', '联系人': '马云', '状态': '已签约' }
834
- },
835
- {
836
- fields: { '客户名称': '腾讯', '联系人': '马化腾', '状态': '洽谈中' }
837
- },
838
- {
839
- fields: { '客户名称': '百度', '联系人': '李彦宏', '状态': '已联系' }
840
- }
841
- ]);
842
- Output.log(`成功批量创建 ${batchRecords.length} 条记录`);
843
-
844
- ```
845
-
846
- **注意事项**
847
-
848
- * 一次最多可以插入500条记录
849
-
850
- * 需要有记录创建权限
851
-
852
- * 字段标识符可以是字段ID或字段名称
853
-
854
- * 如果记录总数超过表格限制会失败
855
-
856
-
857
- ### updateRecordsAsync
858
-
859
- 批量更新行记录。
860
-
861
- ```typescript
862
- updateRecordsAsync: (records: RecordToUpdate[]) => Promise<Record[]>
863
-
864
- ```
865
-
866
- **参数**
867
-
868
- * `records`: [`RecordToUpdate[]`](https://alidocs.dingtalk.com/notable/record?dentryUuid=GZLxjv9VGGDA9Ro2u05KgqMnV6EDybno&rowId=djyIRPNJOm&sheetId=hERWDMS&viewId=qvGDAH2) - 要更新的行记录列表,每个记录包含fields属性(字段值映射)
869
-
870
-
871
- **返回值**
872
-
873
- * [`Promise<Record[]>`](https://alidocs.dingtalk.com/i/nodes/GZLxjv9VGGDA9Ro2uxONwRBoV6EDybno?utm_scene=person_space) - 更新后的记录对象数组
874
-
875
-
876
- **示例**
877
-
878
- ```typescript
879
- // 更新单条记录
880
- const updatedRecords = await sheet.updateRecordsAsync([
881
- {
882
- id: 'rec123456',
883
- fields: {
884
- '状态': '已完成',
885
- '完成时间': new Date(),
886
- '备注': '按时完成所有任务'
887
- }
888
- }
889
- ]);
890
-
891
- // 批量更新多条记录状态
892
- await sheet.updateRecordsAsync([
893
- {
894
- id: 'rec123456',
895
- fields: { '状态': '已完成' }
896
- },
897
- {
898
- id: 'rec234567',
899
- fields: { '状态': '处理中', '优先级': '高' }
900
- },
901
- {
902
- id: 'rec345678',
903
- fields: { '状态': '已取消', '备注': '客户需求变更' }
904
- }
905
- ]);
906
-
907
- ```
908
-
909
- **注意事项**
910
-
911
- * 一次最多可以更新100条记录
912
-
913
- * 需要有记录更新权限
914
-
915
- * 只会更新指定的字段,未指定的字段保持不变
916
-
917
- * 字段标识符可以是字段ID或字段名称
918
-
919
-
920
- ### deleteRecordsAsync
921
-
922
- 删除一条或多条记录。
923
-
924
- ```typescript
925
- deleteRecordsAsync: (ids: string | string[]) => Promise<void>
926
- ```
927
-
928
- **参数**
929
-
930
- * `ids`: `string | string[]` - 要删除的记录ID或ID数组
931
-
932
-
933
- **返回值**
934
-
935
- * `Promise<void>` - 返回Promise,操作完成时解析
936
-
937
-
938
- **示例**
939
-
940
- ```typescript
941
- // 删除单条记录
942
- await sheet.deleteRecordsAsync('rec123456');
943
- console.log('记录已删除');
944
-
945
- // 删除多条记录
946
- await sheet.deleteRecordsAsync([
947
- 'rec123456',
948
- 'rec234567',
949
- 'rec345678'
950
- ]);
951
- console.log('多条记录已删除');
952
-
953
- // 条件删除记录示例
954
- const recordsToDelete = await sheet.getRecordsAsync({
955
- filter: {
956
- conjunction: 'and',
957
- conditions: [
958
- {
959
- fieldName: '状态',
960
- operator: 'is',
961
- value: '已取消'
962
- }
963
- ]
964
- }
965
- });
966
-
967
- if (recordsToDelete.records.length > 0) {
968
- const recordIds = recordsToDelete.records.map(record => record.getId());
969
- await sheet.deleteRecordsAsync(recordIds);
970
- console.log(`已删除 ${recordIds.length} 条已取消的记录`);
971
- }
972
-
973
- ```
974
- ```typescript
975
- // 删除单条记录
976
- await sheet.deleteRecordsAsync('rec123456');
977
- Output.log('记录已删除');
978
-
979
- // 删除多条记录
980
- await sheet.deleteRecordsAsync([
981
- 'rec123456',
982
- 'rec234567',
983
- 'rec345678'
984
- ]);
985
- Output.log('多条记录已删除');
986
-
987
- // 条件删除记录示例
988
- const recordsToDelete = await sheet.getRecordsAsync({
989
- filter: {
990
- conjunction: 'and',
991
- conditions: [
992
- {
993
- fieldName: '状态',
994
- operator: 'is',
995
- value: '已取消'
996
- }
997
- ]
998
- }
999
- });
1000
-
1001
- if (recordsToDelete.records.length > 0) {
1002
- const recordIds = recordsToDelete.records.map(record => record.getId());
1003
- await sheet.deleteRecordsAsync(recordIds);
1004
- Output.log(`已删除 ${recordIds.length} 条已取消的记录`);
1005
- }
1006
-
1007
- ```
1008
-
1009
- **注意事项**
1010
-
1011
- * 一次最多可以删除100条记录
1012
-
1013
- * 需要有记录删除权限