@owlmeans/auth-token 0.1.18-rc.2 → 0.1.18-rc.4
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 +1 -1
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/auth-token/SKILL.md +1 -1
- package/build/entrypoints.d.ts +2 -3
- package/build/entrypoints.d.ts.map +1 -1
- package/build/entrypoints.js +9 -9
- package/build/entrypoints.js.map +1 -1
- package/build/types.d.ts +14 -0
- package/build/types.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/entrypoints.ts +13 -14
- package/src/types.ts +9 -0
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
|
|
|
6
6
|
your project's skill store (`.agents/skills/`):
|
|
7
7
|
|
|
8
8
|
```sh
|
|
9
|
-
npx @owlmeans/agent-skills@^0.1.18-rc.
|
|
9
|
+
npx @owlmeans/agent-skills@^0.1.18-rc.16
|
|
10
10
|
```
|
|
11
11
|
|
|
12
12
|
The embedded files are version-matched to this package release. Do not edit them
|
package/agent-meta/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 2,
|
|
3
3
|
"package": "@owlmeans/auth-token",
|
|
4
|
-
"version": "0.1.18-rc.
|
|
5
|
-
"generatedAt": "2026-09-
|
|
4
|
+
"version": "0.1.18-rc.4",
|
|
5
|
+
"generatedAt": "2026-09-12T12:32:46.376Z",
|
|
6
6
|
"canonicalRepo": "https://github.com/owlmeans/common",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
@@ -8,7 +8,7 @@ user-invocable: false
|
|
|
8
8
|
# @owlmeans/auth-token
|
|
9
9
|
|
|
10
10
|
**Layer:** Auth shared
|
|
11
|
-
**Install:** `"@owlmeans/auth-token": "^0.1.18-rc.
|
|
11
|
+
**Install:** `"@owlmeans/auth-token": "^0.1.18-rc.4"` in `dependencies`
|
|
12
12
|
|
|
13
13
|
The contract half of long-lived access tokens: the record shape, the route declarations, the
|
|
14
14
|
format helpers, and one client-side guard that presents a token it was handed. The server half —
|
package/build/entrypoints.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { AuthTokenEntrypointOptions } from './types.js';
|
|
1
|
+
import type { AuthTokenEntrypoints, AuthTokenEntrypointOptions } from './types.js';
|
|
3
2
|
/**
|
|
4
3
|
* The three routes a token surface needs, ready to be spread into an application's entrypoints.
|
|
5
4
|
*
|
|
@@ -11,5 +10,5 @@ import type { AuthTokenEntrypointOptions } from './types.js';
|
|
|
11
10
|
* issuance, because a token that can be widened later is a token whose grant nobody can reason
|
|
12
11
|
* about from the moment it was created.
|
|
13
12
|
*/
|
|
14
|
-
export declare const makeAuthTokenEntrypoints: (opts?: AuthTokenEntrypointOptions) =>
|
|
13
|
+
export declare const makeAuthTokenEntrypoints: (opts?: AuthTokenEntrypointOptions) => AuthTokenEntrypoints;
|
|
15
14
|
//# sourceMappingURL=entrypoints.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entrypoints.d.ts","sourceRoot":"","sources":["../src/entrypoints.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entrypoints.d.ts","sourceRoot":"","sources":["../src/entrypoints.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAsC,oBAAoB,EAAE,0BAA0B,EAAwC,MAAM,YAAY,CAAA;AAE5J;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,UAC7B,0BAA0B,KAC/B,oBAoBF,CAAA"}
|
package/build/entrypoints.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { contract, openProtocol, protocol, typed } from '@owlmeans/entrypoint';
|
|
2
2
|
import { route, RouteMethod } from '@owlmeans/route';
|
|
3
3
|
import { authToken } from './consts.js';
|
|
4
4
|
import { AccessTokenParamsSchema, CreateAccessTokenSchema } from './schemas.js';
|
|
@@ -16,15 +16,15 @@ import { AccessTokenParamsSchema, CreateAccessTokenSchema } from './schemas.js';
|
|
|
16
16
|
export const makeAuthTokenEntrypoints = (opts = {}) => {
|
|
17
17
|
const path = opts.path ?? '/tokens';
|
|
18
18
|
const base = opts.parent != null
|
|
19
|
-
?
|
|
20
|
-
:
|
|
21
|
-
return
|
|
19
|
+
? openProtocol(route(authToken.base, path, { parent: opts.parent }))
|
|
20
|
+
: openProtocol(route(authToken.base, path), opts.guard == null ? undefined : { guards: opts.guard });
|
|
21
|
+
return {
|
|
22
22
|
base,
|
|
23
|
-
|
|
23
|
+
list: protocol(route(authToken.list, '/', {
|
|
24
24
|
parent: authToken.base, method: RouteMethod.GET
|
|
25
|
-
})),
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
}), contract(typed())),
|
|
26
|
+
create: protocol(route(authToken.create, '/', { parent: authToken.base, method: RouteMethod.POST }), contract.request({ body: typed(CreateAccessTokenSchema) }, typed())),
|
|
27
|
+
revoke: protocol(route(authToken.revoke, '/:id', { parent: authToken.base, method: RouteMethod.DELETE }), contract.request({ params: typed(AccessTokenParamsSchema) }, typed())),
|
|
28
|
+
};
|
|
29
29
|
};
|
|
30
30
|
//# sourceMappingURL=entrypoints.js.map
|
package/build/entrypoints.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entrypoints.js","sourceRoot":"","sources":["../src/entrypoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"entrypoints.js","sourceRoot":"","sources":["../src/entrypoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAG/E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,IAAI,GAA+B,EAAE,EACf,EAAE;IACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAA;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI;QAC9B,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;IAEtG,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;YACxC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG;SAChD,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAmB,CAAC,CAAC;QACvC,MAAM,EAAE,QAAQ,CACd,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,EAClF,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,CAAoB,uBAAuB,CAAC,EAAE,EAAE,KAAK,EAAqB,CAAC,CAC1G;QACD,MAAM,EAAE,QAAQ,CACd,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,EACvF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAoB,uBAAuB,CAAC,EAAE,EAAE,KAAK,EAAkB,CAAC,CACzG;KACF,CAAA;AACH,CAAC,CAAA"}
|
package/build/types.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AuthRole } from '@owlmeans/auth';
|
|
2
2
|
import type { ResourceRecord } from '@owlmeans/resource';
|
|
3
|
+
import type { EntrypointProtocol, OpenRequest, OpenValue } from '@owlmeans/entrypoint';
|
|
3
4
|
/**
|
|
4
5
|
* One long-lived access token, as stored.
|
|
5
6
|
*
|
|
@@ -69,4 +70,17 @@ export interface AuthTokenEntrypointOptions {
|
|
|
69
70
|
/** The guard the base carries when it has no parent to inherit one from. */
|
|
70
71
|
guard?: string;
|
|
71
72
|
}
|
|
73
|
+
/** The immutable declarations for a token-management surface. */
|
|
74
|
+
export interface AuthTokenEntrypoints {
|
|
75
|
+
base: EntrypointProtocol<OpenRequest, OpenValue>;
|
|
76
|
+
list: EntrypointProtocol<OpenRequest, AccessTokenList>;
|
|
77
|
+
create: EntrypointProtocol<{
|
|
78
|
+
body: CreateAccessToken;
|
|
79
|
+
}, IssuedAccessToken>;
|
|
80
|
+
revoke: EntrypointProtocol<{
|
|
81
|
+
params: AccessTokenParams;
|
|
82
|
+
}, {
|
|
83
|
+
id: string;
|
|
84
|
+
}>;
|
|
85
|
+
}
|
|
72
86
|
//# sourceMappingURL=types.d.ts.map
|
package/build/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEtF;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,6FAA6F;IAC7F,IAAI,EAAE,MAAM,CAAA;IACZ,4FAA4F;IAC5F,OAAO,EAAE,MAAM,CAAA;IACf,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,IAAI,EAAE,QAAQ,CAAA;IACd,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,mFAAmF;IACnF,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,IAAI,CAAA;CACjB;AAED,+DAA+D;AAC/D,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAA;AAE7D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,4EAA4E;AAC5E,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,eAAe,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;CACX;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IAChD,MAAM,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAA;CACjC;AAED,MAAM,WAAW,0BAA0B;IACzC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,iEAAiE;AACjE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IAChD,IAAI,EAAE,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;IACtD,MAAM,EAAE,kBAAkB,CAAC;QAAE,IAAI,EAAE,iBAAiB,CAAA;KAAE,EAAE,iBAAiB,CAAC,CAAA;IAC1E,MAAM,EAAE,kBAAkB,CAAC;QAAE,MAAM,EAAE,iBAAiB,CAAA;KAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC1E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/auth-token",
|
|
3
|
-
"version": "0.1.18-rc.
|
|
3
|
+
"version": "0.1.18-rc.4",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Long-lived access tokens (API keys) on the OwlMeans auth rails — the record shape, the token format, the management entrypoints and the client-side carrier guard.",
|
|
6
6
|
"type": "module",
|
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@owlmeans/auth": "^0.1.18-rc.
|
|
27
|
-
"@owlmeans/context": "^0.1.18-rc.
|
|
28
|
-
"@owlmeans/entrypoint": "^0.1.18-rc.
|
|
29
|
-
"@owlmeans/resource": "^0.1.18-rc.
|
|
30
|
-
"@owlmeans/route": "^0.1.18-rc.
|
|
26
|
+
"@owlmeans/auth": "^0.1.18-rc.13",
|
|
27
|
+
"@owlmeans/context": "^0.1.18-rc.12",
|
|
28
|
+
"@owlmeans/entrypoint": "^0.1.18-rc.15",
|
|
29
|
+
"@owlmeans/resource": "^0.1.18-rc.13",
|
|
30
|
+
"@owlmeans/route": "^0.1.18-rc.13"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@owlmeans/dep-config": "workspace:*",
|
package/src/entrypoints.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { CommonEntrypoint } from '@owlmeans/entrypoint'
|
|
1
|
+
import { contract, openProtocol, protocol, typed } from '@owlmeans/entrypoint'
|
|
3
2
|
import { route, RouteMethod } from '@owlmeans/route'
|
|
4
3
|
import { authToken } from './consts.js'
|
|
5
4
|
import { AccessTokenParamsSchema, CreateAccessTokenSchema } from './schemas.js'
|
|
6
|
-
import type { AuthTokenEntrypointOptions } from './types.js'
|
|
5
|
+
import type { AccessTokenList, AccessTokenParams, AuthTokenEntrypoints, AuthTokenEntrypointOptions, CreateAccessToken, IssuedAccessToken } from './types.js'
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* The three routes a token surface needs, ready to be spread into an application's entrypoints.
|
|
@@ -18,24 +17,24 @@ import type { AuthTokenEntrypointOptions } from './types.js'
|
|
|
18
17
|
*/
|
|
19
18
|
export const makeAuthTokenEntrypoints = (
|
|
20
19
|
opts: AuthTokenEntrypointOptions = {}
|
|
21
|
-
):
|
|
20
|
+
): AuthTokenEntrypoints => {
|
|
22
21
|
const path = opts.path ?? '/tokens'
|
|
23
22
|
const base = opts.parent != null
|
|
24
|
-
?
|
|
25
|
-
:
|
|
23
|
+
? openProtocol(route(authToken.base, path, { parent: opts.parent }))
|
|
24
|
+
: openProtocol(route(authToken.base, path), opts.guard == null ? undefined : { guards: opts.guard })
|
|
26
25
|
|
|
27
|
-
return
|
|
26
|
+
return {
|
|
28
27
|
base,
|
|
29
|
-
|
|
28
|
+
list: protocol(route(authToken.list, '/', {
|
|
30
29
|
parent: authToken.base, method: RouteMethod.GET
|
|
31
|
-
})),
|
|
32
|
-
|
|
30
|
+
}), contract(typed<AccessTokenList>())),
|
|
31
|
+
create: protocol(
|
|
33
32
|
route(authToken.create, '/', { parent: authToken.base, method: RouteMethod.POST }),
|
|
34
|
-
|
|
33
|
+
contract.request({ body: typed<CreateAccessToken>(CreateAccessTokenSchema) }, typed<IssuedAccessToken>())
|
|
35
34
|
),
|
|
36
|
-
|
|
35
|
+
revoke: protocol(
|
|
37
36
|
route(authToken.revoke, '/:id', { parent: authToken.base, method: RouteMethod.DELETE }),
|
|
38
|
-
|
|
37
|
+
contract.request({ params: typed<AccessTokenParams>(AccessTokenParamsSchema) }, typed<{ id: string }>())
|
|
39
38
|
),
|
|
40
|
-
|
|
39
|
+
}
|
|
41
40
|
}
|
package/src/types.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AuthRole } from '@owlmeans/auth'
|
|
2
2
|
import type { ResourceRecord } from '@owlmeans/resource'
|
|
3
|
+
import type { EntrypointProtocol, OpenRequest, OpenValue } from '@owlmeans/entrypoint'
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* One long-lived access token, as stored.
|
|
@@ -77,3 +78,11 @@ export interface AuthTokenEntrypointOptions {
|
|
|
77
78
|
/** The guard the base carries when it has no parent to inherit one from. */
|
|
78
79
|
guard?: string
|
|
79
80
|
}
|
|
81
|
+
|
|
82
|
+
/** The immutable declarations for a token-management surface. */
|
|
83
|
+
export interface AuthTokenEntrypoints {
|
|
84
|
+
base: EntrypointProtocol<OpenRequest, OpenValue>
|
|
85
|
+
list: EntrypointProtocol<OpenRequest, AccessTokenList>
|
|
86
|
+
create: EntrypointProtocol<{ body: CreateAccessToken }, IssuedAccessToken>
|
|
87
|
+
revoke: EntrypointProtocol<{ params: AccessTokenParams }, { id: string }>
|
|
88
|
+
}
|