@sascha384/tic 2.0.1 → 3.0.0
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.
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +32 -17
- package/dist/app.js +7 -2
- package/dist/app.js.map +1 -1
- package/dist/auth/ado.d.ts +31 -0
- package/dist/auth/ado.js +136 -0
- package/dist/auth/ado.js.map +1 -0
- package/dist/auth/github.d.ts +27 -0
- package/dist/auth/github.js +96 -0
- package/dist/auth/github.js.map +1 -0
- package/dist/auth/index.d.ts +5 -0
- package/dist/auth/index.js +4 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/keychain.d.ts +14 -0
- package/dist/auth/keychain.js +36 -0
- package/dist/auth/keychain.js.map +1 -0
- package/dist/backends/ado/api.d.ts +19 -0
- package/dist/backends/ado/api.js +110 -0
- package/dist/backends/ado/api.js.map +1 -0
- package/dist/backends/ado/index.d.ts +6 -12
- package/dist/backends/ado/index.js +201 -349
- package/dist/backends/ado/index.js.map +1 -1
- package/dist/backends/factory.d.ts +5 -2
- package/dist/backends/factory.js +5 -5
- package/dist/backends/factory.js.map +1 -1
- package/dist/backends/github/api.d.ts +9 -0
- package/dist/backends/github/api.js +117 -0
- package/dist/backends/github/api.js.map +1 -0
- package/dist/backends/github/index.d.ts +9 -5
- package/dist/backends/github/index.js +119 -81
- package/dist/backends/github/index.js.map +1 -1
- package/dist/backends/github/mappers.d.ts +1 -0
- package/dist/backends/github/mappers.js.map +1 -1
- package/dist/backends/shared/api-client.d.ts +16 -0
- package/dist/backends/shared/api-client.js +73 -0
- package/dist/backends/shared/api-client.js.map +1 -0
- package/dist/cli/commands/auth.d.ts +19 -0
- package/dist/cli/commands/auth.js +82 -0
- package/dist/cli/commands/auth.js.map +1 -0
- package/dist/cli/commands/mcp.js +49 -26
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/index.js +59 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/components/AuthPrompt.d.ts +1 -0
- package/dist/components/AuthPrompt.js +37 -0
- package/dist/components/AuthPrompt.js.map +1 -0
- package/dist/components/AutocompleteInput.d.ts +2 -1
- package/dist/components/AutocompleteInput.js +5 -1
- package/dist/components/AutocompleteInput.js.map +1 -1
- package/dist/components/Header.js +10 -2
- package/dist/components/Header.js.map +1 -1
- package/dist/components/MultiAutocompleteInput.d.ts +2 -1
- package/dist/components/MultiAutocompleteInput.js +5 -1
- package/dist/components/MultiAutocompleteInput.js.map +1 -1
- package/dist/components/StatusScreen.js +2 -1
- package/dist/components/StatusScreen.js.map +1 -1
- package/dist/components/WorkItemForm.js +12 -0
- package/dist/components/WorkItemForm.js.map +1 -1
- package/dist/stores/backendDataStore.d.ts +15 -0
- package/dist/stores/backendDataStore.js +91 -4
- package/dist/stores/backendDataStore.js.map +1 -1
- package/package.json +3 -1
- package/dist/backends/ado/az.d.ts +0 -28
- package/dist/backends/ado/az.js +0 -162
- package/dist/backends/ado/az.js.map +0 -1
- package/dist/backends/github/gh.d.ts +0 -9
- package/dist/backends/github/gh.js +0 -95
- package/dist/backends/github/gh.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backends/ado/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AASrE,OAAO,EACL,EAAE,EACF,MAAM,EACN,QAAQ,EACR,MAAM,EACN,UAAU,EACV,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAGtB,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACzC,GAAG,CAAS;IACZ,GAAG,CAAS;IACZ,OAAO,CAAS;IAChB,KAAK,CAAoB;IAEjC,YAAY,GAAW;QACrB,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,UAAU,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,YAAY,CACvB;YACE,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,eAAe;YACzB,eAAe,EAAE,WAAW,IAAI,CAAC,OAAO,EAAE;YAC1C,UAAU,EAAE,KAAK;SAClB,EACD,GAAG,CACJ,CAAC,KAAK,CAAC;IACV,CAAC;IAED,eAAe;QACb,OAAO;YACL,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,KAAK;YAClB,cAAc,EAAE,KAAK;YACrB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI;aAChB;YACD,SAAS,EAAE,KAAK;YAChB,cAAc,EAAE;gBACd,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,KAAK;gBAChB,WAAW,EAAE,KAAK;aACnB;SACF,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,WAAW;QACf,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;IACxB,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,gBAAgB;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CACtB;gBACE,QAAQ;gBACR,MAAM;gBACN,cAAc;gBACd,QAAQ;gBACR,GAAG,IAAI,CAAC,OAAO,OAAO;gBACtB,OAAO;gBACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;gBACnC,WAAW;gBACX,IAAI,CAAC,OAAO;aACb,EACD,IAAI,CAAC,GAAG,CACT,CAAC;YACF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,UAAU,GAAG,MAAM,EAAE,CACzB;YACE,QAAQ;YACR,WAAW;YACX,MAAM;YACN,MAAM;YACN,QAAQ;YACR,GAAG,IAAI,CAAC,OAAO,OAAO;YACtB,OAAO;YACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;YACnC,WAAW;YACX,IAAI,CAAC,OAAO;SACb,EACD,IAAI,CAAC,GAAG,CACT,CAAC;QACF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,UAAU,GAAG,MAAM,EAAE,CACzB;YACE,QAAQ;YACR,WAAW;YACX,MAAM;YACN,MAAM;YACN,QAAQ;YACR,GAAG,IAAI,CAAC,OAAO,OAAO;YACtB,aAAa;YACb,SAAS;YACT,OAAO;YACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;YACnC,WAAW;YACX,IAAI,CAAC,OAAO;SACb,EACD,IAAI,CAAC,GAAG,CACT,CAAC;QACF,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,mBAAmB,CAAC,KAAa;QACrC,+DAA+D;IACjE,CAAC;IAEO,UAAU,CAAC,KAAa;QAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,GAAa;QAC7C,MAAM,UAAU,GAAG,GAAG,CAAC;QACvB,MAAM,KAAK,GAAe,EAAE,CAAC;QAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,MAAM,QAAQ,CAChC;gBACE,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,gBAAgB;gBAC1B,UAAU,EAAE,MAAM;gBAClB,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE;gBAChC,UAAU,EAAE,KAAK;aAClB,EACD,IAAI,CAAC,GAAG,CACT,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAkB;QACpC,IAAI,IAAI,GAAG,mEAAmE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAC/G,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,IAAI,kCAAkC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC;QAC1E,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,EAAE,CAC1B;YACE,QAAQ;YACR,OAAO;YACP,QAAQ;YACR,IAAI;YACJ,OAAO;YACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;YACnC,WAAW;YACX,IAAI,CAAC,OAAO;SACb,EACD,IAAI,CAAC,GAAG,CACT,CAAC;QAEF,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEhC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,4CAA4C;QAC5C,+DAA+D;QAC/D,8DAA8D;QAC9D,wCAAwC;QACxC,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7C,EAAE,CACA;gBACE,QAAQ;gBACR,WAAW;gBACX,MAAM;gBACN,MAAM;gBACN,EAAE;gBACF,UAAU;gBACV,WAAW;gBACX,OAAO;gBACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;aACpC,EACD,IAAI,CAAC,GAAG,CACT;YACD,MAAM,CACJ;gBACE,GAAG,EAAE,yBAAyB,IAAI,CAAC,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,qCAAqC;aAC1I,EACD,IAAI,CAAC,GAAG,CACT,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAkB,EAAE,CAAC,CAAC;SAClD,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAiB;QACpC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE1B,MAAM,IAAI,GAAG;YACX,QAAQ;YACR,WAAW;YACX,QAAQ;YACR,QAAQ;YACR,IAAI,CAAC,IAAI;YACT,SAAS;YACT,IAAI,CAAC,KAAK;YACV,OAAO;YACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;YACnC,WAAW;YACX,IAAI,CAAC,OAAO;SACb,CAAC;QAEF,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,QAAQ;YACf,MAAM,CAAC,IAAI,CACT,kCAAkC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CACpE,CAAC;QACJ,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,WAAW;YAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAE5E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAc,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAErC,sCAAsC;QACtC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,MAAM,MAAM,CACV;wBACE,QAAQ;wBACR,WAAW;wBACX,UAAU;wBACV,KAAK;wBACL,MAAM;wBACN,SAAS;wBACT,iBAAiB;wBACjB,oCAAoC;wBACpC,aAAa;wBACb,IAAI,CAAC,MAAM;wBACX,OAAO;wBACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;qBACpC,EACD,IAAI,CAAC,GAAG,CACT,CAAC;gBACJ,CAAC;gBAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnC,MAAM,MAAM,CACV;wBACE,QAAQ;wBACR,WAAW;wBACX,UAAU;wBACV,KAAK;wBACL,MAAM;wBACN,SAAS;wBACT,iBAAiB;wBACjB,qCAAqC;wBACrC,aAAa;wBACb,KAAK;wBACL,OAAO;wBACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;qBACpC,EACD,IAAI,CAAC,GAAG,CACT,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC;oBACH,MAAM,MAAM,CACV;wBACE,QAAQ;wBACR,WAAW;wBACX,QAAQ;wBACR,MAAM;wBACN,SAAS;wBACT,OAAO;wBACP,OAAO;wBACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;wBACnC,WAAW;wBACX,IAAI,CAAC,OAAO;qBACb,EACD,IAAI,CAAC,GAAG,CACT,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,sBAAsB;gBACxB,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,+CAA+C,SAAS,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACtI,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU,EAAE,IAAuB;QACtD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE1B,MAAM,IAAI,GAAG;YACX,QAAQ;YACR,WAAW;YACX,QAAQ;YACR,MAAM;YACN,EAAE;YACF,OAAO;YACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;SACpC,CAAC;QAEF,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAC9B,MAAM,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC7B,MAAM,CAAC,IAAI,CACT,kCAAkC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CACpE,CAAC;QACJ,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAC7B,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAC3B,MAAM,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;YAChC,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAExD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,+DAA+D;QAC/D,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9D,MAAM,OAAO,GAAG,MAAM,EAAE,CACtB;gBACE,QAAQ;gBACR,WAAW;gBACX,MAAM;gBACN,MAAM;gBACN,EAAE;gBACF,UAAU;gBACV,WAAW;gBACX,OAAO;gBACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;aACpC,EACD,IAAI,CAAC,GAAG,CACT,CAAC;YAEF,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC9B,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBAEvD,IAAI,aAAa,IAAI,aAAa,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;wBACnD,MAAM,MAAM,CACV;4BACE,QAAQ;4BACR,WAAW;4BACX,UAAU;4BACV,QAAQ;4BACR,MAAM;4BACN,EAAE;4BACF,iBAAiB;4BACjB,oCAAoC;4BACpC,aAAa;4BACb,aAAa;4BACb,OAAO;4BACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;4BACnC,OAAO;yBACR,EACD,IAAI,CAAC,GAAG,CACT,CAAC;oBACJ,CAAC;oBACD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;wBACjD,MAAM,MAAM,CACV;4BACE,QAAQ;4BACR,WAAW;4BACX,UAAU;4BACV,KAAK;4BACL,MAAM;4BACN,EAAE;4BACF,iBAAiB;4BACjB,oCAAoC;4BACpC,aAAa;4BACb,IAAI,CAAC,MAAM;4BACX,OAAO;4BACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;yBACpC,EACD,IAAI,CAAC,GAAG,CACT,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACjC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;oBACpE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAExC,6CAA6C;oBAC7C,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;wBAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;4BACtB,MAAM,MAAM,CACV;gCACE,QAAQ;gCACR,WAAW;gCACX,UAAU;gCACV,QAAQ;gCACR,MAAM;gCACN,EAAE;gCACF,iBAAiB;gCACjB,qCAAqC;gCACrC,aAAa;gCACb,GAAG;gCACH,OAAO;gCACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;gCACnC,OAAO;6BACR,EACD,IAAI,CAAC,GAAG,CACT,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAED,wBAAwB;oBACxB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;wBAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC1B,MAAM,MAAM,CACV;gCACE,QAAQ;gCACR,WAAW;gCACX,UAAU;gCACV,KAAK;gCACL,MAAM;gCACN,EAAE;gCACF,iBAAiB;gCACjB,qCAAqC;gCACrC,aAAa;gCACb,GAAG;gCACH,OAAO;gCACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;6BACpC,EACD,IAAI,CAAC,GAAG,CACT,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACb,iDAAiD,EAAE,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC3G,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EAAU;QAC7B,MAAM,MAAM,CACV;YACE,QAAQ;YACR,WAAW;YACX,QAAQ;YACR,MAAM;YACN,EAAE;YACF,OAAO;YACP,OAAO;YACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;YACnC,WAAW;YACX,IAAI,CAAC,OAAO;SACb,EACD,IAAI,CAAC,GAAG,CACT,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,UAAU,CAAC,UAAkB,EAAE,OAAmB;QACtD,IAAI,CAAC;YACH,MAAM,MAAM,CACV;gBACE,GAAG,EAAE,yBAAyB,IAAI,CAAC,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,UAAU,qCAAqC;gBACjJ,UAAU,EAAE,MAAM;gBAClB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;aAC7B,EACD,IAAI,CAAC,GAAG,CACT,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IACE,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC;gBACrC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,EAC3B,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,WAAW,CAAC,EAAU;QACnC,MAAM,SAAS,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;QAEvE,MAAM,IAAI,GAAG,sEAAsE,SAAS,wFAAwF,CAAC;QAErL,MAAM,WAAW,GAAG,MAAM,EAAE,CAC1B;YACE,QAAQ;YACR,OAAO;YACP,QAAQ;YACR,IAAI;YACJ,OAAO;YACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;YACnC,WAAW;YACX,IAAI,CAAC,OAAO;SACb,EACD,IAAI,CAAC,GAAG,CACT,CAAC;QAEF,uDAAuD;QACvD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;QAC5E,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEhC,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAEQ,KAAK,CAAC,aAAa,CAAC,EAAU;QACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;QAEvE,MAAM,IAAI,GAAG,sEAAsE,SAAS,yFAAyF,CAAC;QAEtL,MAAM,WAAW,GAAG,MAAM,EAAE,CAC1B;YACE,QAAQ;YACR,OAAO;YACP,QAAQ;YACR,IAAI;YACJ,OAAO;YACP,yBAAyB,IAAI,CAAC,GAAG,EAAE;YACnC,WAAW;YACX,IAAI,CAAC,OAAO;SACb,EACD,IAAI,CAAC,GAAG,CACT,CAAC;QAEF,uDAAuD;QACvD,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;QAC5E,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEhC,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,OAAO,yBAAyB,IAAI,CAAC,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;IACvG,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAChC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,yBAAyB,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,MAAM,IAAI,yBAAyB,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,SAAmB;QACtC,MAAM,IAAI,yBAAyB,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,SAAmB;QAEnB,MAAM,IAAI,yBAAyB,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,KAAa;QAChC,MAAM,IAAI,yBAAyB,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IACzE,CAAC;CAEF"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backends/ado/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,15 @@ import type { SyncQueueAdapter } from '../sync/types.js';
|
|
|
3
3
|
import { SyncManager } from '../sync/SyncManager.js';
|
|
4
4
|
export declare const VALID_BACKENDS: readonly ["none", "filesystem", "github", "gitlab", "azure", "jira"];
|
|
5
5
|
export type BackendType = (typeof VALID_BACKENDS)[number];
|
|
6
|
+
export interface RemoteBackendOptions {
|
|
7
|
+
skipAuth?: boolean;
|
|
8
|
+
}
|
|
6
9
|
export declare function detectBackend(root: string): BackendType;
|
|
7
10
|
export declare function createBackend(root: string): Promise<Backend>;
|
|
8
|
-
export declare function createRemoteBackend(root: string, backendType: string): Promise<Backend | null>;
|
|
11
|
+
export declare function createRemoteBackend(root: string, backendType: string, options?: RemoteBackendOptions): Promise<Backend | null>;
|
|
9
12
|
export interface BackendSetup {
|
|
10
13
|
backend: Backend;
|
|
11
14
|
syncManager: SyncManager | null;
|
|
12
15
|
queue: SyncQueueAdapter | null;
|
|
13
16
|
}
|
|
14
|
-
export declare function createBackendWithSync(root: string): Promise<BackendSetup>;
|
|
17
|
+
export declare function createBackendWithSync(root: string, options?: RemoteBackendOptions): Promise<BackendSetup>;
|
package/dist/backends/factory.js
CHANGED
|
@@ -40,7 +40,7 @@ export async function createBackend(root) {
|
|
|
40
40
|
}
|
|
41
41
|
return primary;
|
|
42
42
|
}
|
|
43
|
-
export async function createRemoteBackend(root, backendType) {
|
|
43
|
+
export async function createRemoteBackend(root, backendType, options) {
|
|
44
44
|
switch (backendType) {
|
|
45
45
|
case 'none':
|
|
46
46
|
return null;
|
|
@@ -50,7 +50,7 @@ export async function createRemoteBackend(root, backendType) {
|
|
|
50
50
|
}
|
|
51
51
|
case 'github': {
|
|
52
52
|
const { GitHubBackend } = await import('./github/index.js');
|
|
53
|
-
return
|
|
53
|
+
return GitHubBackend.create(root, options);
|
|
54
54
|
}
|
|
55
55
|
case 'gitlab': {
|
|
56
56
|
const { GitLabBackend } = await import('./gitlab/index.js');
|
|
@@ -58,7 +58,7 @@ export async function createRemoteBackend(root, backendType) {
|
|
|
58
58
|
}
|
|
59
59
|
case 'azure': {
|
|
60
60
|
const { AzureDevOpsBackend } = await import('./ado/index.js');
|
|
61
|
-
return
|
|
61
|
+
return AzureDevOpsBackend.create(root, options);
|
|
62
62
|
}
|
|
63
63
|
case 'jira': {
|
|
64
64
|
const { JiraBackend } = await import('./jira/index.js');
|
|
@@ -68,14 +68,14 @@ export async function createRemoteBackend(root, backendType) {
|
|
|
68
68
|
return null;
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
export async function createBackendWithSync(root) {
|
|
71
|
+
export async function createBackendWithSync(root, options) {
|
|
72
72
|
const primary = Storage.create(root);
|
|
73
73
|
configStore.getState().setDatabase(primary.getDatabase());
|
|
74
74
|
if (!configStore.getState().loaded) {
|
|
75
75
|
await configStore.getState().init(root);
|
|
76
76
|
}
|
|
77
77
|
const config = configStore.getState().config;
|
|
78
|
-
const remote = await createRemoteBackend(root, config.backend ?? 'none');
|
|
78
|
+
const remote = await createRemoteBackend(root, config.backend ?? 'none', options);
|
|
79
79
|
let syncManager = null;
|
|
80
80
|
let queue = null;
|
|
81
81
|
if (remote) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/backends/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;CACE,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/backends/factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseApiClient } from '../shared/api-client.js';
|
|
2
|
+
export declare class GitHubApiClient extends BaseApiClient {
|
|
3
|
+
constructor(token: string);
|
|
4
|
+
protected fetch<T>(method: string, path: string, body?: unknown): Promise<T>;
|
|
5
|
+
rest<T>(method: string, path: string, body?: unknown): Promise<T>;
|
|
6
|
+
graphql<T>(query: string, variables?: Record<string, unknown>): Promise<T>;
|
|
7
|
+
private graphqlFetch;
|
|
8
|
+
paginate<T>(path: string): AsyncGenerator<T[]>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { AuthError, RateLimitError, BaseApiClient, } from '../shared/api-client.js';
|
|
2
|
+
const GITHUB_API_VERSION = '2022-11-28';
|
|
3
|
+
export class GitHubApiClient extends BaseApiClient {
|
|
4
|
+
constructor(token) {
|
|
5
|
+
super(token, 'https://api.github.com');
|
|
6
|
+
}
|
|
7
|
+
async fetch(method, path, body) {
|
|
8
|
+
const url = this.baseUrl + path;
|
|
9
|
+
const headers = {
|
|
10
|
+
Authorization: `Bearer ${this.token}`,
|
|
11
|
+
Accept: 'application/json',
|
|
12
|
+
'X-GitHub-Api-Version': GITHUB_API_VERSION,
|
|
13
|
+
};
|
|
14
|
+
const init = { method, headers };
|
|
15
|
+
if (body !== undefined && ['POST', 'PATCH', 'PUT'].includes(method)) {
|
|
16
|
+
headers['Content-Type'] = 'application/json';
|
|
17
|
+
init.body = JSON.stringify(body);
|
|
18
|
+
}
|
|
19
|
+
const response = await globalThis.fetch(url, init);
|
|
20
|
+
this.checkRateLimit(response.headers);
|
|
21
|
+
if (response.status === 401) {
|
|
22
|
+
throw new AuthError();
|
|
23
|
+
}
|
|
24
|
+
if (response.status === 403) {
|
|
25
|
+
const remaining = response.headers.get('X-RateLimit-Remaining');
|
|
26
|
+
const reset = response.headers.get('X-RateLimit-Reset');
|
|
27
|
+
if (remaining === '0' && reset) {
|
|
28
|
+
throw new RateLimitError(new Date(Number(reset) * 1000));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (!response.ok) {
|
|
32
|
+
const text = await response.text();
|
|
33
|
+
throw new Error(`HTTP ${response.status}: ${text}`);
|
|
34
|
+
}
|
|
35
|
+
return (await response.json());
|
|
36
|
+
}
|
|
37
|
+
async rest(method, path, body) {
|
|
38
|
+
return this.retry(() => this.fetch(method, path, body));
|
|
39
|
+
}
|
|
40
|
+
async graphql(query, variables) {
|
|
41
|
+
return this.retry(() => this.graphqlFetch(query, variables));
|
|
42
|
+
}
|
|
43
|
+
async graphqlFetch(query, variables) {
|
|
44
|
+
const url = this.baseUrl + '/graphql';
|
|
45
|
+
const headers = {
|
|
46
|
+
Authorization: `Bearer ${this.token}`,
|
|
47
|
+
'Content-Type': 'application/json',
|
|
48
|
+
'X-GitHub-Api-Version': GITHUB_API_VERSION,
|
|
49
|
+
'GraphQL-Features': 'sub_issues',
|
|
50
|
+
};
|
|
51
|
+
const response = await globalThis.fetch(url, {
|
|
52
|
+
method: 'POST',
|
|
53
|
+
headers,
|
|
54
|
+
body: JSON.stringify({ query, variables }),
|
|
55
|
+
});
|
|
56
|
+
this.checkRateLimit(response.headers);
|
|
57
|
+
if (response.status === 401) {
|
|
58
|
+
throw new AuthError();
|
|
59
|
+
}
|
|
60
|
+
if (response.status === 403) {
|
|
61
|
+
const remaining = response.headers.get('X-RateLimit-Remaining');
|
|
62
|
+
const reset = response.headers.get('X-RateLimit-Reset');
|
|
63
|
+
if (remaining === '0' && reset) {
|
|
64
|
+
throw new RateLimitError(new Date(Number(reset) * 1000));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (!response.ok) {
|
|
68
|
+
const text = await response.text();
|
|
69
|
+
throw new Error(`HTTP ${response.status}: ${text}`);
|
|
70
|
+
}
|
|
71
|
+
const json = (await response.json());
|
|
72
|
+
const firstError = json.errors?.[0];
|
|
73
|
+
if (firstError) {
|
|
74
|
+
throw new Error(`GraphQL error: ${firstError.message}`);
|
|
75
|
+
}
|
|
76
|
+
return json.data;
|
|
77
|
+
}
|
|
78
|
+
async *paginate(path) {
|
|
79
|
+
let url = this.baseUrl + path;
|
|
80
|
+
while (url) {
|
|
81
|
+
const headers = {
|
|
82
|
+
Authorization: `Bearer ${this.token}`,
|
|
83
|
+
Accept: 'application/json',
|
|
84
|
+
'X-GitHub-Api-Version': GITHUB_API_VERSION,
|
|
85
|
+
};
|
|
86
|
+
const response = await globalThis.fetch(url, {
|
|
87
|
+
method: 'GET',
|
|
88
|
+
headers,
|
|
89
|
+
});
|
|
90
|
+
this.checkRateLimit(response.headers);
|
|
91
|
+
if (response.status === 401) {
|
|
92
|
+
throw new AuthError();
|
|
93
|
+
}
|
|
94
|
+
if (!response.ok) {
|
|
95
|
+
const text = await response.text();
|
|
96
|
+
throw new Error(`HTTP ${response.status}: ${text}`);
|
|
97
|
+
}
|
|
98
|
+
const data = (await response.json());
|
|
99
|
+
yield data;
|
|
100
|
+
const linkHeader = response.headers.get('Link');
|
|
101
|
+
url = parseLinkNext(linkHeader);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
function parseLinkNext(linkHeader) {
|
|
106
|
+
if (!linkHeader)
|
|
107
|
+
return null;
|
|
108
|
+
const parts = linkHeader.split(',');
|
|
109
|
+
for (const part of parts) {
|
|
110
|
+
const match = part.match(/<([^>]+)>;\s*rel="next"/);
|
|
111
|
+
if (match?.[1]) {
|
|
112
|
+
return match[1];
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/backends/github/api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,cAAc,EACd,aAAa,GACd,MAAM,yBAAyB,CAAC;AAEjC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAExC,MAAM,OAAO,eAAgB,SAAQ,aAAa;IAChD,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;IACzC,CAAC;IAEkB,KAAK,CAAC,KAAK,CAC5B,MAAc,EACd,IAAY,EACZ,IAAc;QAEd,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEhC,MAAM,OAAO,GAA2B;YACtC,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;YACrC,MAAM,EAAE,kBAAkB;YAC1B,sBAAsB,EAAE,kBAAkB;SAC3C,CAAC;QAEF,MAAM,IAAI,GAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAE9C,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpE,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEnD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,SAAS,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACxD,IAAI,SAAS,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;gBAC/B,MAAM,IAAI,cAAc,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,MAAc,EAAE,IAAY,EAAE,IAAc;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAI,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,OAAO,CACX,KAAa,EACb,SAAmC;QAEnC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAI,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAClE,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,KAAa,EACb,SAAmC;QAEnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAEtC,MAAM,OAAO,GAA2B;YACtC,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;YACrC,cAAc,EAAE,kBAAkB;YAClC,sBAAsB,EAAE,kBAAkB;YAC1C,kBAAkB,EAAE,YAAY;SACjC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;SAC3C,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,SAAS,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACxD,IAAI,SAAS,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;gBAC/B,MAAM,IAAI,cAAc,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAGlC,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kBAAkB,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,IAAI,CAAC,IAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,CAAC,QAAQ,CAAI,IAAY;QAC7B,IAAI,GAAG,GAAkB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAE7C,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,OAAO,GAA2B;gBACtC,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;gBACrC,MAAM,EAAE,kBAAkB;gBAC1B,sBAAsB,EAAE,kBAAkB;aAC3C,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC3C,MAAM,EAAE,KAAK;gBACb,OAAO;aACR,CAAC,CAAC;YAEH,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEtC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM,IAAI,SAAS,EAAE,CAAC;YACxB,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;YAC5C,MAAM,IAAI,CAAC;YAEX,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChD,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;CACF;AAED,SAAS,aAAa,CAAC,UAAyB;IAC9C,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACpD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { BaseBackend } from '../types.js';
|
|
2
2
|
import type { BackendCapabilities } from '../types.js';
|
|
3
3
|
import type { WorkItem, NewWorkItem, NewComment, Comment, Template } from '../../types.js';
|
|
4
|
+
export interface GitHubBackendOptions {
|
|
5
|
+
skipAuth?: boolean;
|
|
6
|
+
}
|
|
4
7
|
export declare class GitHubBackend extends BaseBackend {
|
|
5
|
-
private
|
|
6
|
-
private
|
|
8
|
+
private api;
|
|
9
|
+
private owner;
|
|
10
|
+
private repo;
|
|
7
11
|
private cachedMilestones;
|
|
8
|
-
constructor(
|
|
12
|
+
private constructor();
|
|
13
|
+
static create(cwd: string, options?: GitHubBackendOptions): Promise<GitHubBackend>;
|
|
14
|
+
private static detectOwnerRepo;
|
|
9
15
|
protected onCacheInvalidate(): void;
|
|
10
16
|
getCapabilities(): BackendCapabilities;
|
|
11
17
|
getStatuses(): Promise<string[]>;
|
|
@@ -32,8 +38,6 @@ export declare class GitHubBackend extends BaseBackend {
|
|
|
32
38
|
private getIssueNodeId;
|
|
33
39
|
private addSubIssue;
|
|
34
40
|
private removeSubIssue;
|
|
35
|
-
private getOwnerRepo;
|
|
36
41
|
private fetchMilestones;
|
|
37
42
|
private fetchOpenMilestones;
|
|
38
|
-
private getRepoNwo;
|
|
39
43
|
}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import { execSync } from 'node:child_process';
|
|
2
|
+
import open from 'open';
|
|
1
3
|
import { BaseBackend, UnsupportedOperationError } from '../types.js';
|
|
2
|
-
import {
|
|
4
|
+
import { getGitHubToken, authenticateGitHub } from '../../auth/github.js';
|
|
5
|
+
import { AuthError } from '../shared/api-client.js';
|
|
6
|
+
import { GitHubApiClient } from './api.js';
|
|
3
7
|
import { mapIssueToWorkItem } from './mappers.js';
|
|
4
8
|
const LIST_ISSUES_QUERY = `
|
|
5
9
|
query($owner: String!, $repo: String!, $cursor: String) {
|
|
@@ -57,14 +61,52 @@ const REMOVE_SUB_ISSUE_MUTATION = `
|
|
|
57
61
|
}
|
|
58
62
|
}
|
|
59
63
|
`;
|
|
64
|
+
const DELETE_ISSUE_MUTATION = `
|
|
65
|
+
mutation($issueId: ID!) {
|
|
66
|
+
deleteIssue(input: { issueId: $issueId }) {
|
|
67
|
+
repository { name }
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
`;
|
|
60
71
|
export class GitHubBackend extends BaseBackend {
|
|
61
|
-
|
|
62
|
-
|
|
72
|
+
api;
|
|
73
|
+
owner;
|
|
74
|
+
repo;
|
|
63
75
|
cachedMilestones = null;
|
|
64
|
-
constructor(
|
|
76
|
+
constructor(api, owner, repo) {
|
|
65
77
|
super(60_000);
|
|
66
|
-
this.
|
|
67
|
-
|
|
78
|
+
this.api = api;
|
|
79
|
+
this.owner = owner;
|
|
80
|
+
this.repo = repo;
|
|
81
|
+
}
|
|
82
|
+
static async create(cwd, options) {
|
|
83
|
+
const { owner, repo } = GitHubBackend.detectOwnerRepo(cwd);
|
|
84
|
+
let token = getGitHubToken();
|
|
85
|
+
if (!token) {
|
|
86
|
+
if (options?.skipAuth) {
|
|
87
|
+
throw new AuthError('GitHub authentication required. Run "tic auth login github" to authenticate.');
|
|
88
|
+
}
|
|
89
|
+
token = await authenticateGitHub({
|
|
90
|
+
onCode: (code, url) => {
|
|
91
|
+
console.log(`\nGitHub authentication required.`);
|
|
92
|
+
console.log(`Visit ${url} and enter code: ${code}\n`);
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
const api = new GitHubApiClient(token);
|
|
97
|
+
return new GitHubBackend(api, owner, repo);
|
|
98
|
+
}
|
|
99
|
+
static detectOwnerRepo(cwd) {
|
|
100
|
+
const output = execSync('git remote -v', {
|
|
101
|
+
cwd,
|
|
102
|
+
encoding: 'utf-8',
|
|
103
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
104
|
+
});
|
|
105
|
+
const match = output.match(/github\.com[:/]([^/\s]+)\/([^/\s.]+?)(?:\.git)?(?:\s|$)/);
|
|
106
|
+
if (!match) {
|
|
107
|
+
throw new Error('Could not detect GitHub owner/repo from git remotes');
|
|
108
|
+
}
|
|
109
|
+
return { owner: match[1], repo: match[2] };
|
|
68
110
|
}
|
|
69
111
|
onCacheInvalidate() {
|
|
70
112
|
this.cachedMilestones = null;
|
|
@@ -107,8 +149,10 @@ export class GitHubBackend extends BaseBackend {
|
|
|
107
149
|
}
|
|
108
150
|
async getAssignees() {
|
|
109
151
|
try {
|
|
110
|
-
const
|
|
111
|
-
const
|
|
152
|
+
const collaborators = [];
|
|
153
|
+
for await (const page of this.api.paginate(`/repos/${this.owner}/${this.repo}/collaborators`)) {
|
|
154
|
+
collaborators.push(...page);
|
|
155
|
+
}
|
|
112
156
|
return collaborators.map((c) => c.login);
|
|
113
157
|
}
|
|
114
158
|
catch {
|
|
@@ -133,11 +177,14 @@ export class GitHubBackend extends BaseBackend {
|
|
|
133
177
|
// No-op — current iteration is always first open milestone
|
|
134
178
|
}
|
|
135
179
|
async listWorkItems(iteration) {
|
|
136
|
-
const { owner, repo } = await this.getOwnerRepo();
|
|
137
180
|
const allIssues = [];
|
|
138
181
|
let cursor = null;
|
|
139
182
|
do {
|
|
140
|
-
const data = await
|
|
183
|
+
const data = await this.api.graphql(LIST_ISSUES_QUERY, {
|
|
184
|
+
owner: this.owner,
|
|
185
|
+
repo: this.repo,
|
|
186
|
+
cursor,
|
|
187
|
+
});
|
|
141
188
|
allIssues.push(...data.repository.issues.nodes);
|
|
142
189
|
cursor = data.repository.issues.pageInfo.hasNextPage
|
|
143
190
|
? data.repository.issues.pageInfo.endCursor
|
|
@@ -150,14 +197,17 @@ export class GitHubBackend extends BaseBackend {
|
|
|
150
197
|
return items;
|
|
151
198
|
}
|
|
152
199
|
async getWorkItem(id) {
|
|
153
|
-
const
|
|
154
|
-
|
|
200
|
+
const data = await this.api.graphql(GET_ISSUE_QUERY, {
|
|
201
|
+
owner: this.owner,
|
|
202
|
+
repo: this.repo,
|
|
203
|
+
number: Number(id),
|
|
204
|
+
});
|
|
155
205
|
return mapIssueToWorkItem(data.repository.issue);
|
|
156
206
|
}
|
|
157
207
|
async ensureLabels(labels) {
|
|
158
208
|
for (const label of labels) {
|
|
159
209
|
try {
|
|
160
|
-
await
|
|
210
|
+
await this.api.rest('POST', `/repos/${this.owner}/${this.repo}/labels`, { name: label });
|
|
161
211
|
}
|
|
162
212
|
catch {
|
|
163
213
|
// Label already exists — ignore
|
|
@@ -169,37 +219,32 @@ export class GitHubBackend extends BaseBackend {
|
|
|
169
219
|
if (data.labels.length > 0) {
|
|
170
220
|
await this.ensureLabels(data.labels);
|
|
171
221
|
}
|
|
172
|
-
const
|
|
173
|
-
|
|
174
|
-
'
|
|
175
|
-
|
|
176
|
-
data.title,
|
|
177
|
-
'--body',
|
|
178
|
-
data.description || '',
|
|
179
|
-
];
|
|
222
|
+
const issueBody = {
|
|
223
|
+
title: data.title,
|
|
224
|
+
body: data.description || '',
|
|
225
|
+
};
|
|
180
226
|
if (data.assignee) {
|
|
181
|
-
|
|
182
|
-
}
|
|
183
|
-
if (data.iteration) {
|
|
184
|
-
args.push('--milestone', data.iteration);
|
|
227
|
+
issueBody.assignees = [data.assignee];
|
|
185
228
|
}
|
|
186
|
-
|
|
187
|
-
|
|
229
|
+
if (data.labels.length > 0) {
|
|
230
|
+
issueBody.labels = data.labels;
|
|
188
231
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
232
|
+
if (data.iteration) {
|
|
233
|
+
const milestones = await this.fetchMilestones();
|
|
234
|
+
const milestone = milestones.find((m) => m.title === data.iteration);
|
|
235
|
+
if (milestone) {
|
|
236
|
+
issueBody.milestone = milestone.number;
|
|
237
|
+
}
|
|
194
238
|
}
|
|
195
|
-
const
|
|
239
|
+
const result = await this.api.rest('POST', `/repos/${this.owner}/${this.repo}/issues`, issueBody);
|
|
240
|
+
const id = String(result.number);
|
|
196
241
|
if (data.parent) {
|
|
197
242
|
try {
|
|
198
243
|
await this.addSubIssue(data.parent, id);
|
|
199
244
|
}
|
|
200
245
|
catch (err) {
|
|
201
246
|
try {
|
|
202
|
-
await
|
|
247
|
+
await this.deleteWorkItem(id);
|
|
203
248
|
}
|
|
204
249
|
catch {
|
|
205
250
|
// Best-effort cleanup
|
|
@@ -229,55 +274,58 @@ export class GitHubBackend extends BaseBackend {
|
|
|
229
274
|
throw new Error(`Failed to update parent relationship for issue #${id}: ${err instanceof Error ? err.message : String(err)}`);
|
|
230
275
|
}
|
|
231
276
|
}
|
|
232
|
-
//
|
|
233
|
-
|
|
234
|
-
|
|
277
|
+
// Build PATCH body for REST API
|
|
278
|
+
const patchBody = {};
|
|
279
|
+
let hasPatch = false;
|
|
280
|
+
if (data.status !== undefined) {
|
|
281
|
+
patchBody.state = data.status === 'closed' ? 'closed' : 'open';
|
|
282
|
+
hasPatch = true;
|
|
235
283
|
}
|
|
236
|
-
else if (data.status === 'open') {
|
|
237
|
-
await ghExec(['issue', 'reopen', id], this.cwd);
|
|
238
|
-
}
|
|
239
|
-
// Handle field edits
|
|
240
|
-
const editArgs = ['issue', 'edit', id];
|
|
241
|
-
let hasEdits = false;
|
|
242
284
|
if (data.title !== undefined) {
|
|
243
|
-
|
|
244
|
-
|
|
285
|
+
patchBody.title = data.title;
|
|
286
|
+
hasPatch = true;
|
|
245
287
|
}
|
|
246
288
|
if (data.description !== undefined) {
|
|
247
|
-
|
|
248
|
-
|
|
289
|
+
patchBody.body = data.description;
|
|
290
|
+
hasPatch = true;
|
|
249
291
|
}
|
|
250
292
|
if (data.iteration !== undefined) {
|
|
251
293
|
if (data.iteration) {
|
|
252
|
-
|
|
294
|
+
const milestones = await this.fetchMilestones();
|
|
295
|
+
const milestone = milestones.find((m) => m.title === data.iteration);
|
|
296
|
+
if (milestone) {
|
|
297
|
+
patchBody.milestone = milestone.number;
|
|
298
|
+
}
|
|
253
299
|
}
|
|
254
300
|
else {
|
|
255
|
-
|
|
301
|
+
patchBody.milestone = null;
|
|
256
302
|
}
|
|
257
|
-
|
|
303
|
+
hasPatch = true;
|
|
258
304
|
}
|
|
259
305
|
if (data.assignee !== undefined) {
|
|
260
306
|
if (data.assignee) {
|
|
261
|
-
|
|
307
|
+
patchBody.assignees = [data.assignee];
|
|
262
308
|
}
|
|
263
|
-
|
|
309
|
+
else {
|
|
310
|
+
patchBody.assignees = [];
|
|
311
|
+
}
|
|
312
|
+
hasPatch = true;
|
|
264
313
|
}
|
|
265
314
|
if (data.labels !== undefined) {
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
}
|
|
269
|
-
hasEdits = true;
|
|
315
|
+
patchBody.labels = data.labels;
|
|
316
|
+
hasPatch = true;
|
|
270
317
|
}
|
|
271
|
-
if (
|
|
272
|
-
await
|
|
318
|
+
if (hasPatch) {
|
|
319
|
+
await this.api.rest('PATCH', `/repos/${this.owner}/${this.repo}/issues/${id}`, patchBody);
|
|
273
320
|
}
|
|
274
321
|
return this.getWorkItem(id);
|
|
275
322
|
}
|
|
276
323
|
async deleteWorkItem(id) {
|
|
277
|
-
|
|
324
|
+
const nodeId = await this.getIssueNodeId(Number(id));
|
|
325
|
+
await this.api.graphql(DELETE_ISSUE_MUTATION, { issueId: nodeId });
|
|
278
326
|
}
|
|
279
327
|
async addComment(workItemId, comment) {
|
|
280
|
-
await
|
|
328
|
+
await this.api.rest('POST', `/repos/${this.owner}/${this.repo}/issues/${workItemId}/comments`, { body: comment.body });
|
|
281
329
|
return {
|
|
282
330
|
author: comment.author,
|
|
283
331
|
date: new Date().toISOString(),
|
|
@@ -285,11 +333,11 @@ export class GitHubBackend extends BaseBackend {
|
|
|
285
333
|
};
|
|
286
334
|
}
|
|
287
335
|
getItemUrl(id) {
|
|
288
|
-
|
|
289
|
-
return result.url;
|
|
336
|
+
return `https://github.com/${this.owner}/${this.repo}/issues/${id}`;
|
|
290
337
|
}
|
|
291
338
|
async openItem(id) {
|
|
292
|
-
|
|
339
|
+
const url = this.getItemUrl(id);
|
|
340
|
+
await open(url);
|
|
293
341
|
}
|
|
294
342
|
/* eslint-disable @typescript-eslint/require-await, @typescript-eslint/no-unused-vars */
|
|
295
343
|
async listTemplates() {
|
|
@@ -309,33 +357,27 @@ export class GitHubBackend extends BaseBackend {
|
|
|
309
357
|
}
|
|
310
358
|
/* eslint-enable @typescript-eslint/require-await, @typescript-eslint/no-unused-vars */
|
|
311
359
|
async getIssueNodeId(issueNumber) {
|
|
312
|
-
const { owner, repo
|
|
313
|
-
const data = await ghGraphQL(GET_ISSUE_NODE_ID_QUERY, { owner, repo, number: issueNumber }, this.cwd);
|
|
360
|
+
const data = await this.api.graphql(GET_ISSUE_NODE_ID_QUERY, { owner: this.owner, repo: this.repo, number: issueNumber });
|
|
314
361
|
return data.repository.issue.id;
|
|
315
362
|
}
|
|
316
363
|
async addSubIssue(parentNumber, childNumber) {
|
|
317
364
|
const parentId = await this.getIssueNodeId(Number(parentNumber));
|
|
318
365
|
const childId = await this.getIssueNodeId(Number(childNumber));
|
|
319
|
-
await
|
|
366
|
+
await this.api.graphql(ADD_SUB_ISSUE_MUTATION, { parentId, childId });
|
|
320
367
|
}
|
|
321
368
|
async removeSubIssue(parentNumber, childNumber) {
|
|
322
369
|
const parentId = await this.getIssueNodeId(Number(parentNumber));
|
|
323
370
|
const childId = await this.getIssueNodeId(Number(childNumber));
|
|
324
|
-
await
|
|
325
|
-
}
|
|
326
|
-
async getOwnerRepo() {
|
|
327
|
-
if (!this.ownerRepo) {
|
|
328
|
-
const nwo = await this.getRepoNwo();
|
|
329
|
-
const [owner, repo] = nwo.split('/');
|
|
330
|
-
this.ownerRepo = { owner: owner, repo: repo };
|
|
331
|
-
}
|
|
332
|
-
return this.ownerRepo;
|
|
371
|
+
await this.api.graphql(REMOVE_SUB_ISSUE_MUTATION, { parentId, childId });
|
|
333
372
|
}
|
|
334
373
|
async fetchMilestones() {
|
|
335
374
|
if (this.cachedMilestones)
|
|
336
375
|
return this.cachedMilestones;
|
|
337
|
-
const
|
|
338
|
-
|
|
376
|
+
const milestones = [];
|
|
377
|
+
for await (const page of this.api.paginate(`/repos/${this.owner}/${this.repo}/milestones`)) {
|
|
378
|
+
milestones.push(...page);
|
|
379
|
+
}
|
|
380
|
+
this.cachedMilestones = milestones;
|
|
339
381
|
return this.cachedMilestones;
|
|
340
382
|
}
|
|
341
383
|
async fetchOpenMilestones() {
|
|
@@ -352,9 +394,5 @@ export class GitHubBackend extends BaseBackend {
|
|
|
352
394
|
return a.due_on.localeCompare(b.due_on);
|
|
353
395
|
});
|
|
354
396
|
}
|
|
355
|
-
async getRepoNwo() {
|
|
356
|
-
const result = await gh(['repo', 'view', '--json', 'nameWithOwner'], this.cwd);
|
|
357
|
-
return result.nameWithOwner;
|
|
358
|
-
}
|
|
359
397
|
}
|
|
360
398
|
//# sourceMappingURL=index.js.map
|