@faiber/faiber-task 0.6.2
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/README.md +31 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/index.d.ts +52 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +104 -0
- package/dist/index.js.map +1 -0
- package/dist/operations.d.ts +422 -0
- package/dist/operations.d.ts.map +1 -0
- package/dist/operations.js +513 -0
- package/dist/operations.js.map +1 -0
- package/dist/operations.types.d.ts +538 -0
- package/dist/operations.types.d.ts.map +1 -0
- package/dist/operations.types.js +2 -0
- package/dist/operations.types.js.map +1 -0
- package/dist/types.d.ts +207 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +1 -0
package/README.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# @faiber/faiber-task
|
|
2
|
+
|
|
3
|
+
Typed client for every authenticated Faiber Tasks route. Tasks is the sandbox-local authority
|
|
4
|
+
for projects, work items, sprints, scoped access grants, reporting, comments, agent proposals,
|
|
5
|
+
and realtime invalidation events.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @faiber/faiber-task
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import { FaiberClient, TaskApi } from "@faiber/faiber-task";
|
|
13
|
+
|
|
14
|
+
const task = new TaskApi(new FaiberClient("task", {
|
|
15
|
+
domains: { task: process.env.FAIBER_TASK_URL! },
|
|
16
|
+
authMode: "bearer",
|
|
17
|
+
getAccessToken: async () => accessToken,
|
|
18
|
+
}));
|
|
19
|
+
|
|
20
|
+
const projects = await task.listProjects({ mode: "software" });
|
|
21
|
+
const item = await task.createWorkItem(input, crypto.randomUUID());
|
|
22
|
+
await task.transitionWorkItem(item.data.data.id, item.data.data.version, { status: "in_progress" });
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
All methods return complete Axios responses and accept shared request options, including
|
|
26
|
+
`AbortSignal`. Mutable aggregates emit ETags; updates accept the integer version and send it
|
|
27
|
+
as `If-Match`. Retried work-item creates must reuse the same idempotency key. `openEvents`
|
|
28
|
+
opens the authenticated SSE invalidation stream with the fetch adapter by default.
|
|
29
|
+
|
|
30
|
+
IDP proves identity and the configured global Task permission. Task independently enforces
|
|
31
|
+
workspace, team, project, and work-item grants. Global roles never bypass local grants.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/axios/index.d.ts","../../core/dist/types.d.ts","../../core/dist/env.d.ts","../../core/dist/auth.d.ts","../../core/dist/client.d.ts","../../core/dist/resource.d.ts","../../core/dist/openapi.d.ts","../../core/dist/index.d.ts","../src/types.ts","../src/operations.types.ts","../src/operations.ts","../src/index.ts"],"fileIdsList":[[61],[60,61],[60,61,62,63,64,65,66],[60,61,64],[60],[67,68,69,70],[67,69],[67]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"2343ec253c90c370449755739733f5f429f58cffdb51a50977bb4a042012fa8f","impliedFormat":99},{"version":"6cc1f17dc5454eb1112cfb4a2e2ddc93de8c3f9016c8db7bdf0328caac374ffa","impliedFormat":99},{"version":"82065c5512d8d6f81b26cf13ea9ecd3e558be9560f7b5c62260858219ecd87f7","impliedFormat":99},{"version":"ed17ed1b2bcf384c88bc6cec6b427989b98db99fc7ad35a50605501a463bbc53","impliedFormat":99},{"version":"82bf4efcca8ab8764a91ac126c0af605ab6717ee94b2316461b5fa388b27e165","impliedFormat":99},{"version":"82ffc9a1d95766c8f6f6bb4316b1d83e9d6a1d4ec41057d1a897cca70176bfc1","impliedFormat":99},{"version":"3f5eeb0a84713ccf640b9a6af4629e006f59d7629abc3fc95af2efb062fd0b83","impliedFormat":99},{"version":"66a0cb4d019dd780c2fb5c2942778929ec55715bb5a0f3b80aac4c0b92e35d16","impliedFormat":99},{"version":"fbc018487dffad0ba1f057550e010d1424353867ac0ab2677eec2bc2ec99997a","signature":"b90fac74418cb3e61935f30ccc807e1527ae603146ebdefdfd5ec6a2fe94b998","impliedFormat":99},{"version":"4664dbadda52afde44b8e98709629a4bd3ba204f9ed56a86bec12888e09b984a","signature":"5dc5410ea47fa24ae2dd1366a0c0d14a310b8946b0a82d6132e9f84a0787d97d","impliedFormat":99},{"version":"692a0f921ad7bccc3676da59287b8ef8ba515af1ab0bf6197290c310d333974e","signature":"c372bf5f2c71d886c60a79c304803f1ab1979c430a95789f64cd7bb693c8ad18","impliedFormat":99},{"version":"672033c6361fe677d8e956457a5c195669d65dbc718479a28562fa16a7298a54","signature":"8214d63fa4fc70c634585852f9195e9764c1fe3a88742f4db35d4db4597bd1b7","impliedFormat":99}],"root":[[68,71]],"options":{"composite":true,"declaration":true,"declarationMap":true,"exactOptionalPropertyTypes":true,"module":199,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":true},"referencedMap":[[63,1],[64,2],[62,1],[67,3],[66,4],[65,4],[61,5],[71,6],[70,7],[69,8],[68,8]],"latestChangedDtsFile":"./operations.d.ts","version":"5.9.3"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ServiceApi, type Identifier, type RequestOptions } from "@faiber/sdk-core";
|
|
2
|
+
import type * as T from "./types.js";
|
|
3
|
+
/** Typed client for every authenticated route mounted by Faiber Tasks. */
|
|
4
|
+
import { TaskOperations } from "./operations.js";
|
|
5
|
+
export declare class TaskApi extends ServiceApi {
|
|
6
|
+
readonly operations: TaskOperations;
|
|
7
|
+
/** Gets the active sandbox workspace; requires the configured global Task permission and scoped access. */
|
|
8
|
+
workspace(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.TaskResponse<T.WorkspaceSummary>, any, {}>>;
|
|
9
|
+
/** Resolves effective Task-owned capabilities for a workspace/team/project/work-item scope. */
|
|
10
|
+
effectiveAccess(query?: T.EffectiveAccessQuery, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.TaskResponse<T.EffectiveAccess>, any, {}>>;
|
|
11
|
+
/** Lists only projects visible to the authenticated actor. */
|
|
12
|
+
listProjects(query?: T.ProjectQuery, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.TaskListResponse<T.Project>, any, {}>>;
|
|
13
|
+
/** Creates a project after global and workspace/team-scope authorization. */
|
|
14
|
+
createProject(data: T.CreateProjectInput, options?: RequestOptions<T.CreateProjectInput>): Promise<import("axios").AxiosResponse<T.TaskResponse<T.Project>, T.CreateProjectInput, {}>>;
|
|
15
|
+
/** Gets one authorized project and preserves its ETag in the complete Axios response. */
|
|
16
|
+
getProject(id: Identifier, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.TaskResponse<T.Project>, any, {}>>;
|
|
17
|
+
/** Updates one project using the current optimistic version as `If-Match`. */
|
|
18
|
+
updateProject(id: Identifier, version: number, data: T.UpdateProjectInput, options?: RequestOptions<T.UpdateProjectInput>): Promise<import("axios").AxiosResponse<T.TaskResponse<T.Project>, T.UpdateProjectInput, {}>>;
|
|
19
|
+
/** Grants a Task access profile; requires the local `project.members.manage` capability. */
|
|
20
|
+
grantProjectAccess(id: Identifier, data: T.GrantProjectAccessInput, options?: RequestOptions<T.GrantProjectAccessInput>): Promise<import("axios").AxiosResponse<T.TaskResponse<T.GrantProjectAccessResult>, T.GrantProjectAccessInput, {}>>;
|
|
21
|
+
/** Lists only work items visible through Task-owned scope grants. */
|
|
22
|
+
listWorkItems(query?: T.WorkItemQuery, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.TaskListResponse<T.WorkItem>, any, {}>>;
|
|
23
|
+
/** Creates an idempotent work item; retries must reuse `idempotencyKey`. */
|
|
24
|
+
createWorkItem(data: T.CreateWorkItemInput, idempotencyKey: string, options?: RequestOptions<T.CreateWorkItemInput>): Promise<import("axios").AxiosResponse<T.TaskResponse<T.WorkItem>, T.CreateWorkItemInput, {}>>;
|
|
25
|
+
/** Gets one authorized work item and preserves its ETag. */
|
|
26
|
+
getWorkItem(id: Identifier, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.TaskResponse<T.WorkItem>, any, {}>>;
|
|
27
|
+
/** Updates one work item using the current optimistic version as `If-Match`. */
|
|
28
|
+
updateWorkItem(id: Identifier, version: number, data: T.UpdateWorkItemInput, options?: RequestOptions<T.UpdateWorkItemInput>): Promise<import("axios").AxiosResponse<T.TaskResponse<T.WorkItem>, T.UpdateWorkItemInput, {}>>;
|
|
29
|
+
/** Applies a policy-checked workflow transition with optimistic concurrency. */
|
|
30
|
+
transitionWorkItem(id: Identifier, version: number, data: T.TransitionWorkItemInput, options?: RequestOptions<T.TransitionWorkItemInput>): Promise<import("axios").AxiosResponse<T.TaskResponse<T.WorkItem>, T.TransitionWorkItemInput, {}>>;
|
|
31
|
+
/** Adds a typed comment to an authorized work item. */
|
|
32
|
+
createComment(workItemId: Identifier, data: T.CreateCommentInput, options?: RequestOptions<T.CreateCommentInput>): Promise<import("axios").AxiosResponse<T.TaskResponse<T.Comment>, T.CreateCommentInput, {}>>;
|
|
33
|
+
/** Creates a sprint in an authorized team/project scope. */
|
|
34
|
+
createSprint(data: T.CreateSprintInput, options?: RequestOptions<T.CreateSprintInput>): Promise<import("axios").AxiosResponse<T.TaskResponse<T.Sprint>, T.CreateSprintInput, {}>>;
|
|
35
|
+
/** Starts an authorized sprint and returns the new ETag/version. */
|
|
36
|
+
startSprint(id: Identifier, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.TaskResponse<T.Sprint>, import("@faiber/sdk-core").JsonObject, {}>>;
|
|
37
|
+
/** Completes an authorized sprint and returns the new ETag/version. */
|
|
38
|
+
completeSprint(id: Identifier, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.TaskResponse<T.Sprint>, import("@faiber/sdk-core").JsonObject, {}>>;
|
|
39
|
+
/** Gets scoped delivery totals for one project. */
|
|
40
|
+
reportSummary(projectId: string, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.TaskResponse<T.ReportSummary>, any, {}>>;
|
|
41
|
+
/** Creates an agent-authored proposal without applying its mutation. */
|
|
42
|
+
createAgentProposal(data: T.AgentProposalInput, options?: RequestOptions<T.AgentProposalInput>): Promise<import("axios").AxiosResponse<T.TaskResponse<T.AgentProposal>, T.AgentProposalInput, {}>>;
|
|
43
|
+
/** Applies a pending proposal after a distinct actor with `agent.approve` reviews it. */
|
|
44
|
+
approveAgentProposal(id: Identifier, options?: RequestOptions): Promise<import("axios").AxiosResponse<T.TaskResponse<T.ApprovedAgentProposal>, import("@faiber/sdk-core").JsonObject, {}>>;
|
|
45
|
+
/** Opens the authenticated Task invalidation SSE stream. */
|
|
46
|
+
openEvents(options?: RequestOptions): Promise<import("axios").AxiosResponse<T.TaskEventStreamBody, unknown, {}>>;
|
|
47
|
+
}
|
|
48
|
+
export * from "./types.js";
|
|
49
|
+
export * from "@faiber/sdk-core";
|
|
50
|
+
export * from "./operations.js";
|
|
51
|
+
export * from "./operations.types.js";
|
|
52
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { ServiceApi } from "@faiber/sdk-core";
|
|
2
|
+
const versionOptions = (version, options) => ({
|
|
3
|
+
...options,
|
|
4
|
+
headers: { ...options?.headers, "If-Match": String(version) },
|
|
5
|
+
});
|
|
6
|
+
/** Typed client for every authenticated route mounted by Faiber Tasks. */
|
|
7
|
+
import { TaskOperations } from "./operations.js";
|
|
8
|
+
export class TaskApi extends ServiceApi {
|
|
9
|
+
operations = new TaskOperations(this.client);
|
|
10
|
+
/** Gets the active sandbox workspace; requires the configured global Task permission and scoped access. */
|
|
11
|
+
workspace(options) {
|
|
12
|
+
return this.client.get("/api/v1/workspace", undefined, options);
|
|
13
|
+
}
|
|
14
|
+
/** Resolves effective Task-owned capabilities for a workspace/team/project/work-item scope. */
|
|
15
|
+
effectiveAccess(query, options) {
|
|
16
|
+
return this.client.get("/api/v1/access/effective", query, options);
|
|
17
|
+
}
|
|
18
|
+
/** Lists only projects visible to the authenticated actor. */
|
|
19
|
+
listProjects(query, options) {
|
|
20
|
+
return this.client.get("/api/v1/projects", query, options);
|
|
21
|
+
}
|
|
22
|
+
/** Creates a project after global and workspace/team-scope authorization. */
|
|
23
|
+
createProject(data, options) {
|
|
24
|
+
return this.client.post("/api/v1/projects", data, options);
|
|
25
|
+
}
|
|
26
|
+
/** Gets one authorized project and preserves its ETag in the complete Axios response. */
|
|
27
|
+
getProject(id, options) {
|
|
28
|
+
return this.client.get(`/api/v1/projects/${encodeURIComponent(id)}`, undefined, options);
|
|
29
|
+
}
|
|
30
|
+
/** Updates one project using the current optimistic version as `If-Match`. */
|
|
31
|
+
updateProject(id, version, data, options) {
|
|
32
|
+
return this.client.patch(`/api/v1/projects/${encodeURIComponent(id)}`, data, versionOptions(version, options));
|
|
33
|
+
}
|
|
34
|
+
/** Grants a Task access profile; requires the local `project.members.manage` capability. */
|
|
35
|
+
grantProjectAccess(id, data, options) {
|
|
36
|
+
return this.client.post(`/api/v1/projects/${encodeURIComponent(id)}/grants`, data, options);
|
|
37
|
+
}
|
|
38
|
+
/** Lists only work items visible through Task-owned scope grants. */
|
|
39
|
+
listWorkItems(query, options) {
|
|
40
|
+
return this.client.get("/api/v1/work-items", query, options);
|
|
41
|
+
}
|
|
42
|
+
/** Creates an idempotent work item; retries must reuse `idempotencyKey`. */
|
|
43
|
+
createWorkItem(data, idempotencyKey, options) {
|
|
44
|
+
return this.client.post("/api/v1/work-items", data, {
|
|
45
|
+
...options,
|
|
46
|
+
headers: { ...options?.headers, "Idempotency-Key": idempotencyKey },
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/** Gets one authorized work item and preserves its ETag. */
|
|
50
|
+
getWorkItem(id, options) {
|
|
51
|
+
return this.client.get(`/api/v1/work-items/${encodeURIComponent(id)}`, undefined, options);
|
|
52
|
+
}
|
|
53
|
+
/** Updates one work item using the current optimistic version as `If-Match`. */
|
|
54
|
+
updateWorkItem(id, version, data, options) {
|
|
55
|
+
return this.client.patch(`/api/v1/work-items/${encodeURIComponent(id)}`, data, versionOptions(version, options));
|
|
56
|
+
}
|
|
57
|
+
/** Applies a policy-checked workflow transition with optimistic concurrency. */
|
|
58
|
+
transitionWorkItem(id, version, data, options) {
|
|
59
|
+
return this.client.post(`/api/v1/work-items/${encodeURIComponent(id)}/transition`, data, versionOptions(version, options));
|
|
60
|
+
}
|
|
61
|
+
/** Adds a typed comment to an authorized work item. */
|
|
62
|
+
createComment(workItemId, data, options) {
|
|
63
|
+
return this.client.post(`/api/v1/work-items/${encodeURIComponent(workItemId)}/comments`, data, options);
|
|
64
|
+
}
|
|
65
|
+
/** Creates a sprint in an authorized team/project scope. */
|
|
66
|
+
createSprint(data, options) {
|
|
67
|
+
return this.client.post("/api/v1/sprints", data, options);
|
|
68
|
+
}
|
|
69
|
+
/** Starts an authorized sprint and returns the new ETag/version. */
|
|
70
|
+
startSprint(id, options) {
|
|
71
|
+
return this.client.post(`/api/v1/sprints/${encodeURIComponent(id)}/start`, undefined, options);
|
|
72
|
+
}
|
|
73
|
+
/** Completes an authorized sprint and returns the new ETag/version. */
|
|
74
|
+
completeSprint(id, options) {
|
|
75
|
+
return this.client.post(`/api/v1/sprints/${encodeURIComponent(id)}/complete`, undefined, options);
|
|
76
|
+
}
|
|
77
|
+
/** Gets scoped delivery totals for one project. */
|
|
78
|
+
reportSummary(projectId, options) {
|
|
79
|
+
return this.client.get("/api/v1/reports/summary", { project_id: projectId }, options);
|
|
80
|
+
}
|
|
81
|
+
/** Creates an agent-authored proposal without applying its mutation. */
|
|
82
|
+
createAgentProposal(data, options) {
|
|
83
|
+
return this.client.post("/api/v1/agent-proposals", data, options);
|
|
84
|
+
}
|
|
85
|
+
/** Applies a pending proposal after a distinct actor with `agent.approve` reviews it. */
|
|
86
|
+
approveAgentProposal(id, options) {
|
|
87
|
+
return this.client.post(`/api/v1/agent-proposals/${encodeURIComponent(id)}/approve`, undefined, options);
|
|
88
|
+
}
|
|
89
|
+
/** Opens the authenticated Task invalidation SSE stream. */
|
|
90
|
+
openEvents(options) {
|
|
91
|
+
return this.client.request({
|
|
92
|
+
...options,
|
|
93
|
+
method: "GET",
|
|
94
|
+
url: "/api/v1/events",
|
|
95
|
+
responseType: "stream",
|
|
96
|
+
adapter: options?.adapter ?? "fetch",
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
export * from "./types.js";
|
|
101
|
+
export * from "@faiber/sdk-core";
|
|
102
|
+
export * from "./operations.js";
|
|
103
|
+
export * from "./operations.types.js";
|
|
104
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|