+
    iv,                         ^ RI t ^ RIt^ RIt^ RIt^ RIHtHt ^ RIHt ^ RIt]! R4      t	]	R,          t
RtRt. ROtR t ! R	 R
4      tR tR tR t]R8X  d
   ]! 4        R# R# )    N)datetimetimezone)Pathz /Users/ahmad/.openclaw/workspacezclickup_credentials.mdzhttps://api.clickup.com/api/v2z	BigALC OSc                     \         P                  ! R R4      P                  4       p V '       d   V # \        P	                  RR7      p\
        P                  ! RV4      pV'       g   \        R4      hVP                  ^ 4      # )CLICKUP_API_TOKEN utf-8encodingz\bpk_[A-Za-z0-9_]+\bzClickUp token not found)	osgetenvstripCRED	read_textresearchRuntimeErrorgroup)envtxtms      scripts/clickup_restructure.py
load_tokenr      sb    
))'
,
2
2
4C


..'.
*C
		)3/A455771:    c                   f   a  ] tR t^"t o R tR tR tR tR tR t	R t
RR ltR	 tR
 tR tRtV tR# )CUc                    R VRR/V n         R# )AuthorizationzContent-Typezapplication/jsonNh)selftokens   &&r   __init__CU.__init__#   s    !5.:LMr   c           
     h   \          R VP                  R 4       2p\        P                  ! W3RV P                  R^-/VB pVP
                  R8  d2   \        V RV RVP
                   RVP                  R,           24      hVP                  P                  4       '       d   VP                  4       # / # )/headerstimeouti    -> z: :Ni  N)
BASElstriprequestsrequestr    status_coder   textr   json)r!   methodpathkwargsurlrs   &&&,  r   reqCU.req&   s    aC()*VO$&&O"OO==C&4&Q]]O2affTl^TUU66<<>>668O	r   c                F    V P                  R R4      P                  R. 4      # )GETteamteamsr7   get)r!   s   &r   r<   CU.teams/   s     xxv&**7B77r   c                N    V P                  R RV R24      P                  R. 4      # )r:   team//spacespacesr=   )r!   team_ids   &&r   rC   	CU.spaces2   s)    xxwiv67;;HbIIr   c                N    V P                  R RV R24      P                  R. 4      # )r:   space/z/folderfoldersr=   r!   space_ids   &&r   rH   
CU.folders5   s)    xxz9:>>y"MMr   c                N    V P                  R RV R24      P                  R. 4      # )r:   rG   /listlistsr=   rI   s   &&r   folderless_listsCU.folderless_lists8   s)    xxz78<<WbIIr   c                N    V P                  R RV R24      P                  R. 4      # )r:   zfolder/rM   rN   r=   )r!   	folder_ids   &&r   lists_in_folderCU.lists_in_folder;   s)    xx59:>>wKKr   c                   . p\        V4       Fm  pV P                  R RV R2R\        V4      P                  4       R\        V4      /R7      pVP	                  R. 4      pV'       g    V# VP                  V4       Ko  	  V# )r:   list//taskinclude_closedpage)paramstasks)ranger7   strlowerr>   extend)r!   list_idrX   	max_pagesall_tpdatar[   s   &&&&    r   
list_tasksCU.list_tasks>   s    y!A88EU7)5#9CSUXYgUhUnUnUprxz}~  {A  CB8  CDHHWb)E LL " r   c                    R VRRRRRRRRRRRR	/R
RR/RRR/RRR/RRR/RRR/RRR/RRR/RRR//	/pV P                  RRV R2VR7      # )namemultiple_assigneesTfeatures	due_datesenabled
start_dateremap_due_datesremap_closed_due_dateFtime_trackingtagstime_estimates
checklistscustom_fieldsremap_dependenciesdependency_warning
portfoliosPOSTrA   rB   r1   r7   )r!   rD   rh   payloads   &&& r   create_spaceCU.create_spaceH   s    D $i|TCTVZ\suz{)T!2D) 9d"3y$/)T!2$y$&7$y$&7y$/

 xx%y 7gxFFr   c                N    R VRRRRRRRRRR/pV P                  RR	V R
2VR7      # )rh   contentr   due_dateNpriorityassigneestatusrx   rG   rM   ry   rz   )r!   rJ   rh   r{   s   &&& r   create_listCU.create_listZ   sB    4B
D*dT^`dfnptuxx&
% 8wxGGr   c                2    V P                  R RV R2VR7      # )rx   rV   rW   ry   rz   )r!   r`   r{   s   &&&r   create_taskCU.create_task^   s     xx%y 6WxEEr   r   N)T2   )__name__
__module____qualname____firstlineno__r#   r7   r<   rC   rH   rO   rS   re   r|   r   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r   "   sJ     N8JNJLG$HF Fr   r   c                 ~    \         P                  ! R RT ;'       g    RP                  4       P                  4       4      # )z\s+r)   r   )r   subr   r^   )ss   &r   normalize_titler   b   s+    66&#R066899r   c                 \  aa V P                  R 4      ;'       g    RP                  4       oV P                  R4      ;'       g    / P                  R4      ;'       g    RP                  4       pV P                  R4      pV P                  R4      ;'       g    .  Uu. uF"  q3P                  R R4      P                  4       NK$  	  upoRS9   g   RS9   d   R# VR9   gA   \        ;QJ d    V3R lR 4       F  '       g   K   R	M	  R
M! V3R lR 4       4      '       d   R# \        ;QJ d    V3R lR 4       F  '       g   K   R	M	  R
M! V3R lR 4       4      '       d   R# VR9   d   R# V'       d    \        P                  ! \        V4      R,          \        P                  R7      p\        P                  ! \        P                  4      pVP                  4       VP                  4       8X  d   R# WE,
          P                  ^8:  d   R#  VR9   d   R# R# u upi   \         d     Li ; i)rh   r   r   r   rq   zmeeting prep:meetingMeetings & Follow-upsc              3   ,   <"   T F	  qS9   x  K  	  R # 5iN ).0xrq   s   & r   	<genexpr>"target_list_for.<locals>.<genexpr>n   s     9dMct)Mc   TFWaiting / Blockedc              3   ,   <"   T F	  qS9   x  K  	  R # 5ir   r   )r   r   rh   s   & r   r   r   p   s     
JI9Ir   Recurring OpsArchivei  )tzToday	This WeekPipeline)blockedwaitingzon hold)r   r   )	recurringweeklymonthlydaily)closeddonecomplete)zin progressdoingactive)r>   r^   anyr   fromtimestampintr   utcnowdatedays	Exception)taskr   duetdr   rh   rq   s   &     @@r   target_list_forr   f   s   HHV""))+Dxx!''R,,X6<<"CCEF
((:
C/3xx/?/E/E2/EG/EEE&""$/EGD$)t"3&22cc9dMc9dccc9dMc9d6d6d"
s
JI
Jsss
JI
JJJ//
	&&s3x}FA,,x||,Cvvx388:%~~"" # 33- H$  		s   (H4A=H 3H H+*H+c                     \        4       p \        V 4      p\        P                  ! 4       P	                  R 4      p\
        R,          V,          pVP                  RRR7       VP                  4       pV'       g   \        R4      hV^ ,          pVR,          pVP                  V4      pRVR. /pV F  p	V	R,          p
RV	R	. R
. R/ /pVP                  V
4      pV Fh  pVR,          pVP                  V4      pVR	,          P                  RVRV/4       V F)  pVR,          pVP                  VRR7      VR,          V&   K+  	  Kj  	  VP                  V
4      pVVR
&   V F)  pVR,          pVP                  VRR7      VR,          V&   K+  	  VR,          P                  V4       K  	  VR,          P                  \         P"                  ! V^R7      RR7       \%        R V 4       R4      pRpV'       g   VP'                  V\(        4      pRpVR,          pVP                  V4       Uu/ uF  pVR,          VbK  	  pp. p/ p\*         F@  pVV9   d   VV,          VV&   K  VP-                  VV4      pVP                  V4       VVV&   KB  	  . pVR,           F  p	V	R,          P/                  R4      pV	R,          P1                  4        F  w  ppRpV	R	,           F&  pVR,           F  pVR,          V8X  g   K  Tp K$  	  K(  	  V'       g#   V	R
,           F  pVR,          V8X  g   K  Tp M	  V\(        8X  d   Kr  V F!  pTP                  TT;'       g    / V34       K#  	  K  	  K  	  \3        4       p VP1                  4        Fm  w  pp!VP                  V!R,          RR7       FI  p\5        VP/                  R4      4      VP/                  R4      ;'       g    R3p"V P7                  V"4       KK  	  Ko  	  . p#. p$V EFQ  w  pp!pVP/                  R4      ;'       g    Rp%VP/                  R4      ;'       g    Rp&\5        V%4      V&3p"V"V 9   d)   V$P                  RRRVP/                  R4      RV%/4       Kz  \9        V4      p'VV',          p(RVP/                  R4       2p)VP/                  R4      ;'       g    Rp*VP/                  R4      ;'       g    / P/                  R4      ;'       g    Rp+R V R!V!P/                  RR"4       R#VP/                  R4       R$V) R%V+ R&V* 2p,RT%RV,R',          RVP/                  R4      R(VP/                  R(4      R)VP/                  R)4      '       d+   VP/                  R)4      ;'       g    / P/                  R)4      MRR*\;        0 R+ VP/                  R*4      ;'       g    .  4       mR,k4      /p- VP=                  V(R,          V-4      p.V#P                  RVP/                  R4      R-V.P/                  R4      RV%R.V'R/RV.P/                  R4       2/4       V P7                  V"4       \>        P@                  ! R04       EKT  	  . p0V0P                  R24       V0P                  R3\        P                  ! 4       PE                  R4R57       24       V0P                  R6VP/                  R4       R7V R824       V0P                  R9V 24       V0P                  R:V 24       V0P                  R;V 24       V0P                  R4       V0P                  R<4       \*         F*  pVV,          R,          pV0P                  R=V R>V 24       K,  	  V0P                  R4       V0P                  R?4       V0P                  R@\G        V4       24       V0P                  RA\G        V#4       24       V0P                  RB\G        V$4       24       V0P                  R4       V0P                  RC4       V#RD,           F=  p1V0P                  R=V1R,           REV1R.,           RFV1R/,           RGV1R,           R82	4       K?  	  V0P                  R4       V0P                  RH4       V$RD,           FJ  p2V0P                  R=V2P/                  R4       RFV2P/                  R4       RFV2P/                  R4       24       KL  	  \
        RI,          P                  RJPI                  V04      RR7       VRK,          P                  \         P"                  ! V#^R7      RR7       VRL,          P                  \         P"                  ! V$^R7      RR7       \K        \         P"                  ! RM\M        V4      RNVROVRP\G        V#4      RQ\G        V$4      RR\M        \
        RI,          4      /^R7      4       R# u upi   \B         d6   p/T$P                  RR1T/ 2RTP/                  R4      RT%/4        Rp/?/EK  Rp/?/ii ; i)Sz%Y%m%d_%H%Mclickup_restructure_backupT)parentsexist_okzNo ClickUp teams availableidr;   rC   spacerH   rO   tasks_by_listfolderrN   )rX   zinventory.json)indentr	   r
   c              3   \   "   T F"  qP                  R 4      \        8X  g   K  Vx  K$  	  R# 5irh   N)r>   NEW_SPACE_NAME)r   r   s   & r   r   main.<locals>.<genexpr>   s     NFqeeFm~.MFs   ,
,NFrh   r   r   z
(untitled)reason	duplicatesource_task_idzhttps://app.clickup.com/t/descriptionr   z&[Migrated from legacy]\nSource space: z\nSource list: unknownz\nSource task id: z\nSource link: z\nLegacy status: z\n\nOriginal description:\n:Ni:  Nrm   r   rq   c              3   t   "   T F.  qP                  R 4      '       g   K  VP                  R 4      x  K0  	  R# 5ir   )r>   )r   r   s   & r   r   r      s'     Z4GaEERXMMAEE&MM4Gs   88zmigrated-from-legacynew_task_idtarget_listnew_linkg{Gz?zcreate_failed: z# ClickUp Restructure Reportz- Timestamp: seconds)timespecz- Team: z ()z- Backup dir: z- New space created: z- New space id: z## Target Listsz- z: https://app.clickup.com/v/li/z## Migration Summaryz- Source tasks scanned: z- Migrated tasks created: z- Skipped: z## Migrated (sample first 100):Nd   Nr*   z | z (from z*## Skipped / Unresolved (sample first 100)zclickup_restructure_report.md
zmigrated.jsonzskipped.json
backup_dircreated_spacetarget_space_idmigratedskippedreport)'r   r   r   r   strftime	WORKSPACEmkdirr<   r   rC   rH   rS   appendre   rO   
write_textr1   dumpsnextr|   r   	NEW_LISTSr   r>   itemssetr   addr   listr   timesleepr   	isoformatlenjoinprintr]   )3r"   cutsr   r<   r;   rD   rC   snapshotspsidsp_objrH   ffidrN   llidfliststarget_spacer   r   existing_target_listscreated_liststarget_listslnnlsource_taskssnamer[   	list_metar   existing_keyslmetakeyr   r   titler   tgt_nametgt_listsrc_linksrc_descr   descr{   nter   r   r   s3                                                      r   mainr     sK	   LE	EB		 	 	/B99B>JTD1HHJE7888D4jG YYwFh+Hh2y".@"oWYZ**S/AD'C&&s+E9$$h7E%BCg/1}}SQU}/V', 	  $$S)%+!"AD'C+-==T=+RF?#C(  	!!&)' * ""..tzz(1/MX_.` NFNPTULMw?"4(O 463F3F3WX3WaQvY\3WXML&&4R8L4B  $!L  Lx  7'_-335JCI	]]7Aw#~$%	 $ #
 .//Aw#~$%	 0 &##UIOOQ$?@  6 !* EM!'')	EuT{4@A"155=11553D3J3JKCc" A *
 HG'uaf--eeJ%%2u%s+-NNHk3CQUU4[RXZ_`a"1%)/d}=55'--255?((b--h7==2"G $!IIfY78 9 uuT{m ,$: &$X &''/j2 	 E4<j)!%%-QUU:EVEVz*00b55jA\`DsZAEE&M4G4GR4GZs\rst
	l8BOO !%%+rvvd|x8G  c"JJtW (^ F
MM01
MMM(,,.":":I":"N!OPQ
MMHTXXf-.b	;<
MMN:,/0
MM)-9:
MM$_$567
MM"
MM#$2t$2$=cUCD  MM"
MM(*
MM,S->,?@A
MM.s8}o>?
MMKG~./
MM"
MM23d^^1V9+T!M*:);3q}oWUVWgUhTiijkl 
MM"
MM>?T]]155=/QUU3C-D,ESxHYZ[  00<<TYYv=NY`<a/!--djj!.LW^-_. ,,TZZ-JU\,]	$**c*o?CM3w<#i"AAB  q Yn  	lNNHs&;=MquuUY{\bdijkk	ls   &f>Bfg*)gg__main__)r   r   r   r   r   r   r   )r   r   r1   r   r   r   pathlibr   r-   r   r   r+   r   r   r   r   r   r   r  r   r   r   r   <module>r     sr      '  34	++'	=F =F@::rj zF r   