@owlmeans/server-app 0.1.18-rc.2 → 0.1.18-rc.21
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 +28 -22
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/server-app/SKILL.md +29 -64
- package/build/context.d.ts.map +1 -1
- package/build/context.js +0 -1
- package/build/context.js.map +1 -1
- package/build/entrypoints.d.ts +3 -0
- package/build/entrypoints.d.ts.map +1 -0
- package/build/entrypoints.js +5 -0
- package/build/entrypoints.js.map +1 -0
- package/build/exports.d.ts +12 -8
- package/build/exports.d.ts.map +1 -1
- package/build/exports.js +8 -5
- package/build/exports.js.map +1 -1
- package/build/index.d.ts +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/main.d.ts +1 -1
- package/build/main.d.ts.map +1 -1
- package/build/main.js +2 -2
- package/build/main.js.map +1 -1
- package/package.json +16 -16
- package/src/context.ts +0 -2
- package/src/entrypoints.ts +5 -0
- package/src/exports.ts +12 -8
- package/src/index.ts +1 -1
- package/src/main.ts +2 -2
- package/build/.gitkeep +0 -0
- package/build/modules.d.ts +0 -2
- package/build/modules.d.ts.map +0 -1
- package/build/modules.js +0 -4
- package/build/modules.js.map +0 -1
- package/src/modules.ts +0 -4
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ The main entry point for OwlMeans backend services — aggregates server package
|
|
|
12
12
|
## Installation
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
bun add @owlmeans/server-app
|
|
15
|
+
bun add @owlmeans/server-app@^0.1.18-rc.17
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
## Usage
|
|
@@ -20,27 +20,32 @@ bun add @owlmeans/server-app
|
|
|
20
20
|
Bootstrap a backend service:
|
|
21
21
|
|
|
22
22
|
```typescript
|
|
23
|
-
import { makeContext, main,
|
|
23
|
+
import { makeContext, main, entrypoints, config, service, AppType } from '@owlmeans/server-app'
|
|
24
24
|
|
|
25
25
|
const appConfig = config(
|
|
26
26
|
AppType.Backend,
|
|
27
27
|
'manager-api',
|
|
28
|
-
service({ service: '
|
|
29
|
-
{
|
|
28
|
+
service({ service: 'manager-api', host: process.env.API_HOST!, port: 3000 }),
|
|
29
|
+
{ port: 3000, dbs: [{ service: 'mongo', alias: 'mongo', host: process.env.MONGO_HOST!, port: 27017 }] }
|
|
30
30
|
)
|
|
31
31
|
|
|
32
32
|
const context = makeContext(appConfig)
|
|
33
|
-
await main(context, [...
|
|
33
|
+
await main(context, [...entrypoints, ...appEntrypoints])
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
Bind a shared protocol with a handler:
|
|
37
37
|
|
|
38
38
|
```typescript
|
|
39
|
-
import {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
import { bind } from '@owlmeans/server-entrypoint'
|
|
40
|
+
import { handlers } from '@owlmeans/server-api'
|
|
41
|
+
import { appEntrypoints as protocols } from 'my-app-common'
|
|
42
|
+
import type { Context } from 'my-app-backend'
|
|
43
|
+
|
|
44
|
+
const api = handlers<Context>()
|
|
45
|
+
const appEntrypoints = [
|
|
46
|
+
bind(protocols.api.projectCreate, api.request(protocols.api.projectCreate, async (req, ctx) =>
|
|
47
|
+
(ctx as Context).project().create(req.body))),
|
|
48
|
+
]
|
|
44
49
|
```
|
|
45
50
|
|
|
46
51
|
## API
|
|
@@ -57,31 +62,32 @@ Registers entrypoints, calls `configure().init()`, then starts the Fastify serve
|
|
|
57
62
|
|
|
58
63
|
| Symbol | Source |
|
|
59
64
|
|---|---|
|
|
60
|
-
| `
|
|
61
|
-
| `
|
|
62
|
-
| `celevate` | `@owlmeans/client-entrypoint` |
|
|
65
|
+
| `handlers` | `@owlmeans/server-api` |
|
|
66
|
+
| `bind`, `bindAll`, `guard` | `@owlmeans/server-entrypoint` |
|
|
63
67
|
| `route` | `@owlmeans/route` |
|
|
64
68
|
| `broute` | `@owlmeans/server-route` |
|
|
65
|
-
| `filter`, `body`, `params`, `
|
|
69
|
+
| `filter`, `body`, `params`, `EntrypointOutcome` | `@owlmeans/entrypoint` |
|
|
66
70
|
| `config`, `service`, `sservice`, `toConfigRecord` | various config packages |
|
|
67
|
-
| `AppType`, `
|
|
71
|
+
| `AppType`, `BASE`, `assertContext` | `@owlmeans/context` |
|
|
68
72
|
| `DAUTH_GUARD` | `@owlmeans/server-auth` |
|
|
69
73
|
| `GUARD_ED25519`, `BED255_CASHE_RESOURCE` | `@owlmeans/auth-common` |
|
|
70
74
|
| `klusterize` | `@owlmeans/kluster` |
|
|
71
|
-
| `
|
|
75
|
+
| `createListSchema`, `filterObject` | `@owlmeans/resource` |
|
|
76
|
+
| `Request`, `Response`, `RefedEntrypointHandler` | type re-exports |
|
|
77
|
+
| `Criteria`, `ListOptions`, `ListQuery`, `ListResult`, `Sort` | type re-exports from `@owlmeans/resource` |
|
|
72
78
|
|
|
73
|
-
### `
|
|
79
|
+
### `entrypoints`
|
|
74
80
|
|
|
75
81
|
Default entrypoint array providing auth and API config routes. Spread into `main()`:
|
|
76
82
|
```typescript
|
|
77
|
-
await main(context, [...
|
|
83
|
+
await main(context, [...entrypoints, ...myEntrypoints])
|
|
78
84
|
```
|
|
79
85
|
|
|
80
86
|
## Related Packages
|
|
81
87
|
|
|
82
88
|
- [`@owlmeans/server-context`](../server-context) — `makeServerContext` called internally by `makeContext`
|
|
83
|
-
- [`@owlmeans/server-api`](../server-api) — handler
|
|
84
|
-
- [`@owlmeans/server-entrypoint`](../server-entrypoint) —
|
|
89
|
+
- [`@owlmeans/server-api`](../server-api) — typed handler factories re-exported here
|
|
90
|
+
- [`@owlmeans/server-entrypoint`](../server-entrypoint) — protocol binding helpers
|
|
85
91
|
|
|
86
92
|
<!-- owlmeans:agent-guidance:start -->
|
|
87
93
|
## Agent guidance
|
|
@@ -91,7 +97,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
|
|
|
91
97
|
your project's skill store (`.agents/skills/`):
|
|
92
98
|
|
|
93
99
|
```sh
|
|
94
|
-
npx @owlmeans/agent-skills
|
|
100
|
+
npx @owlmeans/agent-skills@^0.1.18-rc.15
|
|
95
101
|
```
|
|
96
102
|
|
|
97
103
|
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/server-app",
|
|
4
|
-
"version": "0.1.18-rc.
|
|
5
|
-
"generatedAt": "2026-
|
|
4
|
+
"version": "0.1.18-rc.21",
|
|
5
|
+
"generatedAt": "2026-09-12T08:39:52.726Z",
|
|
6
6
|
"canonicalRepo": "https://github.com/owlmeans/common",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
@@ -1,78 +1,43 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: server-app
|
|
3
|
-
description:
|
|
4
|
-
user-invocable: false
|
|
3
|
+
description: Build OwlMeans server applications from immutable entrypoint protocol declarations. Use when starting a server, binding endpoint implementations, configuring services, or registering server entrypoints.
|
|
5
4
|
---
|
|
6
5
|
<!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
|
|
7
6
|
|
|
8
|
-
#
|
|
7
|
+
# Server application entrypoints
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
Declare routes and request/response contracts in a shared package with `protocol()` or
|
|
10
|
+
`openProtocol()`. A server package supplies local implementations with `bind()` and `handlers()`;
|
|
11
|
+
it never changes a shared declaration by alias.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
```ts
|
|
14
|
+
import { bind, entrypoints, handlers } from '@owlmeans/server-app'
|
|
15
|
+
import { projectEntrypoints } from 'project-common'
|
|
16
|
+
import { createProject } from './app/project.js'
|
|
14
17
|
|
|
15
|
-
|
|
16
|
-
|--------|-------------|
|
|
17
|
-
| `main<E, C, T>(context, modules)` | Entry point — boots Express, registers all entrypoints as routes |
|
|
18
|
-
| `handleRequest(fn)` | Wrap an async function as a server handler `(req, context) => result` |
|
|
19
|
-
| `handleBody<T>(fn)` | Wrap an async function with validated body — `(payload, context, req) => result` |
|
|
20
|
-
| `elevate(modules, alias, handler)` | Attach a handler to an entrypoint declaration |
|
|
21
|
-
| `celevate(modules, alias, handler)` | Conditional elevate — only if entrypoint exists |
|
|
22
|
-
| `sservice(options, cfg)` | Register a server-side service entry in the config |
|
|
23
|
-
| `modules` | Built-in system entrypoints — spread into `appModules` |
|
|
24
|
-
| `Context`, `Config`, `ClientEntrypoint` re-exports | Common types |
|
|
18
|
+
const api = handlers<Context>()
|
|
25
19
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
import { main } from '@owlmeans/server-app'
|
|
32
|
-
import config from './config.js'
|
|
33
|
-
import { makeContext } from './context.js'
|
|
34
|
-
import { appModules } from './modules.js'
|
|
35
|
-
|
|
36
|
-
const context = makeContext(config)
|
|
37
|
-
main<{}, Config, Context>(context, appModules)
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
### Handlers
|
|
41
|
-
```typescript
|
|
42
|
-
import { handleRequest, handleBody } from '@owlmeans/server-app'
|
|
43
|
-
import { AuthUnknown } from '@owlmeans/auth'
|
|
44
|
-
import type { ClientEntrypoint } from '@owlmeans/server-app'
|
|
45
|
-
|
|
46
|
-
export const list = handleRequest(async (req, context) => {
|
|
47
|
-
if (req.auth?.entityId == null) throw new AuthUnknown('entity')
|
|
48
|
-
const ctx = context as Context
|
|
49
|
-
const { items } = await ctx.project().list({ entityId: req.auth.entityId })
|
|
50
|
-
return items
|
|
51
|
-
})
|
|
52
|
-
|
|
53
|
-
export const create = handleBody<CreateProject>(async (payload, context, req) => {
|
|
54
|
-
const ctx = context as Context
|
|
55
|
-
const [result] = await ctx.entrypoint<ClientEntrypoint<Project>>(agent.project.create).call({
|
|
56
|
-
body: { prompt: payload.prompt, entity: req.auth?.entityId }
|
|
57
|
-
})
|
|
58
|
-
return result
|
|
59
|
-
})
|
|
20
|
+
export const appEntrypoints = [
|
|
21
|
+
...entrypoints,
|
|
22
|
+
bind(projectEntrypoints.base),
|
|
23
|
+
bind(projectEntrypoints.create, api.body(projectEntrypoints.create, createProject)),
|
|
24
|
+
]
|
|
60
25
|
```
|
|
61
26
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
import { managerModules } from 'my-common'
|
|
66
|
-
import { create, list } from './app/project/index.js'
|
|
27
|
+
`handlers<Context>().body`, `.params` and `.request` infer request sections and response values
|
|
28
|
+
from the declaration. Use `.request` for a transport-level handler that needs the complete request
|
|
29
|
+
boundary.
|
|
67
30
|
|
|
68
|
-
|
|
69
|
-
elevate(managerModules, manager.back.project.list, list)
|
|
70
|
-
|
|
71
|
-
export const appModules = [...modules, ...paymentModules, ...managerModules]
|
|
72
|
-
```
|
|
31
|
+
## Rules
|
|
73
32
|
|
|
74
|
-
|
|
33
|
+
- Keep `protocol()` declarations in the common package shared by callers and servers.
|
|
34
|
+
- Bind parent/group declarations as well as leaves; parents establish inherited paths and access.
|
|
35
|
+
- Use direct protocol references in `context.entrypoint(protocol)`; do not supply a caller-side
|
|
36
|
+
response generic.
|
|
37
|
+
- Model validation belongs in `contract()` with `typed()` or `schema()`, not in a wrapper around a
|
|
38
|
+
handler.
|
|
39
|
+
- `entrypoints` contains framework registrations. Add local entrypoints to a new array and register
|
|
40
|
+
that array during context initialization.
|
|
75
41
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
- `express` / `fastify` (server runtime)
|
|
42
|
+
`holdApiPort`, `config`, `sservice`, `service`, `AppType` and the context bootstrap exports remain
|
|
43
|
+
available from this package for process wiring.
|
package/build/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAMvD,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,cAAa,OAAO,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAMvD,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,cAAa,OAAO,MAgBnG,CAAA"}
|
package/build/context.js
CHANGED
|
@@ -15,7 +15,6 @@ export const makeContext = (cfg, customize = false) => {
|
|
|
15
15
|
appendStaticResource(context, AUTH_CACHE);
|
|
16
16
|
appendAuthService(context);
|
|
17
17
|
}
|
|
18
|
-
context.makeContext = cfg => makeContext(cfg, customize);
|
|
19
18
|
return context;
|
|
20
19
|
};
|
|
21
20
|
//# sourceMappingURL=context.js.map
|
package/build/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAErF,MAAM,CAAC,MAAM,WAAW,GAAG,CAA+C,GAAM,EAAE,SAAS,GAAY,KAAK,EAAE,EAAE;IAC9G,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAM,CAAA;IAE3C,eAAe,CAAO,OAAO,CAAC,CAAA;IAC9B,eAAe,CAAO,OAAO,CAAC,CAAA;IAC9B,mBAAmB,CAAO,OAAO,CAAC,CAAA;IAElC,OAAO,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,CAAC,CAAA;IAEpD,oBAAoB,CAAO,OAAO,CAAC,CAAA;IACnC,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QACnD,oBAAoB,CAAO,OAAO,EAAE,UAAU,CAAC,CAAA;QAC/C,iBAAiB,CAAO,OAAO,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAErF,MAAM,CAAC,MAAM,WAAW,GAAG,CAA+C,GAAM,EAAE,SAAS,GAAY,KAAK,EAAE,EAAE;IAC9G,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAM,CAAA;IAE3C,eAAe,CAAO,OAAO,CAAC,CAAA;IAC9B,eAAe,CAAO,OAAO,CAAC,CAAA;IAC9B,mBAAmB,CAAO,OAAO,CAAC,CAAA;IAElC,OAAO,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,CAAC,CAAA;IAEpD,oBAAoB,CAAO,OAAO,CAAC,CAAA;IACnC,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QACnD,oBAAoB,CAAO,OAAO,EAAE,UAAU,CAAC,CAAA;QAC/C,iBAAiB,CAAO,OAAO,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entrypoints.d.ts","sourceRoot":"","sources":["../src/entrypoints.ts"],"names":[],"mappings":"AAGA,+DAA+D;AAC/D,eAAO,MAAM,WAAW,gIAA0C,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { entrypoints as apiConfigBindings } from '@owlmeans/api-config-server';
|
|
2
|
+
import { entrypoints as authBindings } from '@owlmeans/server-auth';
|
|
3
|
+
/** Framework server entrypoints every application receives. */
|
|
4
|
+
export const entrypoints = [...authBindings, ...apiConfigBindings];
|
|
5
|
+
//# sourceMappingURL=entrypoints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entrypoints.js","sourceRoot":"","sources":["../src/entrypoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEnE,+DAA+D;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,iBAAiB,CAAC,CAAA"}
|
package/build/exports.d.ts
CHANGED
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
export { config } from '@owlmeans/server-context';
|
|
2
|
+
export { makeContext } from './context.js';
|
|
3
|
+
export { main } from './main.js';
|
|
4
|
+
export type { AppConfig, AppContext } from './types.js';
|
|
2
5
|
export { sservice } from '@owlmeans/server-config';
|
|
3
6
|
export { addWebService } from '@owlmeans/client-config';
|
|
4
7
|
export { service, toConfigRecord, PLUGINS } from '@owlmeans/config';
|
|
5
|
-
export {
|
|
8
|
+
export { contract, protocol, typed, EntrypointOutcome } from '@owlmeans/entrypoint';
|
|
6
9
|
export type { AbstractRequest as Request, AbstractResponse as Response } from '@owlmeans/entrypoint';
|
|
7
10
|
export { createListSchema, filterObject } from '@owlmeans/resource';
|
|
8
|
-
export type { ListResult } from '@owlmeans/resource';
|
|
9
|
-
export { AppType, BASE,
|
|
10
|
-
export {
|
|
11
|
-
export { elevate as celevate } from '@owlmeans/client-entrypoint';
|
|
12
|
-
export type { ServerEntrypoint as Module, RefedEntrypointHandler } from '@owlmeans/server-entrypoint';
|
|
13
|
-
export type { ClientEntrypoint } from '@owlmeans/client-entrypoint';
|
|
11
|
+
export type { Criteria, ListOptions, ListQuery, ListResult, Sort } from '@owlmeans/resource';
|
|
12
|
+
export { AppType, BASE, assertContext } from '@owlmeans/context';
|
|
13
|
+
export { bind, bindAll } from '@owlmeans/server-entrypoint';
|
|
14
14
|
export { route as broute } from '@owlmeans/server-route';
|
|
15
|
-
export {
|
|
15
|
+
export { handlers, holdApiPort } from '@owlmeans/server-api';
|
|
16
|
+
export { handleIntermediate, handleBody, handleRequest, handleParams } from '@owlmeans/server-api';
|
|
17
|
+
export type { ApiPortHold, ApiPortHoldOptions } from '@owlmeans/server-api';
|
|
18
|
+
export type { ClientEntrypoint } from '@owlmeans/client-entrypoint';
|
|
16
19
|
export { route } from '@owlmeans/route';
|
|
17
20
|
export { DEFAULT_ALIAS as DAUTH_GUARD } from '@owlmeans/server-auth';
|
|
18
21
|
export { klusterize } from '@owlmeans/kluster';
|
|
19
22
|
export type { PluginConfig } from '@owlmeans/config';
|
|
20
23
|
export { GUARD_ED25519, BED255_CASHE_RESOURCE } from '@owlmeans/auth-common';
|
|
24
|
+
export { entrypoints } from './entrypoints.js';
|
|
21
25
|
//# sourceMappingURL=exports.d.ts.map
|
package/build/exports.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACnF,YAAY,EAAE,eAAe,IAAI,OAAO,EAAE,gBAAgB,IAAI,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpG,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACnE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAC5F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAClG,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC3E,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,aAAa,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA"}
|
package/build/exports.js
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
export { config } from '@owlmeans/server-context';
|
|
2
|
+
export { makeContext } from './context.js';
|
|
3
|
+
export { main } from './main.js';
|
|
2
4
|
export { sservice } from '@owlmeans/server-config';
|
|
3
5
|
export { addWebService } from '@owlmeans/client-config';
|
|
4
6
|
export { service, toConfigRecord, PLUGINS } from '@owlmeans/config';
|
|
5
|
-
export {
|
|
7
|
+
export { contract, protocol, typed, EntrypointOutcome } from '@owlmeans/entrypoint';
|
|
6
8
|
export { createListSchema, filterObject } from '@owlmeans/resource';
|
|
7
|
-
export { AppType, BASE,
|
|
8
|
-
export {
|
|
9
|
-
export { elevate as celevate } from '@owlmeans/client-entrypoint';
|
|
9
|
+
export { AppType, BASE, assertContext } from '@owlmeans/context';
|
|
10
|
+
export { bind, bindAll } from '@owlmeans/server-entrypoint';
|
|
10
11
|
export { route as broute } from '@owlmeans/server-route';
|
|
11
|
-
export {
|
|
12
|
+
export { handlers, holdApiPort } from '@owlmeans/server-api';
|
|
13
|
+
export { handleIntermediate, handleBody, handleRequest, handleParams } from '@owlmeans/server-api';
|
|
12
14
|
export { route } from '@owlmeans/route';
|
|
13
15
|
export { DEFAULT_ALIAS as DAUTH_GUARD } from '@owlmeans/server-auth';
|
|
14
16
|
export { klusterize } from '@owlmeans/kluster';
|
|
15
17
|
export { GUARD_ED25519, BED255_CASHE_RESOURCE } from '@owlmeans/auth-common';
|
|
18
|
+
export { entrypoints } from './entrypoints.js';
|
|
16
19
|
//# sourceMappingURL=exports.js.map
|
package/build/exports.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../src/exports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAEnF,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGlG,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,aAAa,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA"}
|
package/build/index.d.ts
CHANGED
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,mBAAmB,YAAY,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,mBAAmB,YAAY,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA"}
|
package/build/index.js
CHANGED
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AAEzB,cAAc,cAAc,CAAA;AAC5B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AAEzB,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA"}
|
package/build/main.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ServerEntrypoint } from '@owlmeans/server-entrypoint';
|
|
2
2
|
import type { CommonEntrypoint } from '@owlmeans/entrypoint';
|
|
3
3
|
import type { AppContext, AppConfig } from './types.js';
|
|
4
|
-
export declare const main: <R, C extends AppConfig, T extends AppContext<C>>(ctx: T,
|
|
4
|
+
export declare const main: <R, C extends AppConfig, T extends AppContext<C>>(ctx: T, entrypoints: (CommonEntrypoint | ServerEntrypoint<R>)[]) => Promise<void>;
|
|
5
5
|
//# sourceMappingURL=main.d.ts.map
|
package/build/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAIvD,eAAO,MAAM,IAAI,GAAU,CAAC,EAAE,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,OACnE,CAAC,
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAIvD,eAAO,MAAM,IAAI,GAAU,CAAC,EAAE,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,OACnE,CAAC,eAAe,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,kBAKhE,CAAA"}
|
package/build/main.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @TODO Remove or refactor request types. We actually don't use them and this make
|
|
2
2
|
// a mess with <R
|
|
3
|
-
export const main = async (ctx,
|
|
4
|
-
ctx.registerEntrypoints(
|
|
3
|
+
export const main = async (ctx, entrypoints) => {
|
|
4
|
+
ctx.registerEntrypoints(entrypoints);
|
|
5
5
|
await ctx.configure().init();
|
|
6
6
|
await ctx.getApiServer().listen();
|
|
7
7
|
};
|
package/build/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAMA,mFAAmF;AACnF,iBAAiB;AACjB,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EACvB,GAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAMA,mFAAmF;AACnF,iBAAiB;AACjB,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EACvB,GAAM,EAAE,WAAuD,EAC/D,EAAE;IACF,GAAG,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAA;IACpC,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAA;IAC5B,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,CAAA;AACnC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/server-app",
|
|
3
|
-
"version": "0.1.18-rc.
|
|
3
|
+
"version": "0.1.18-rc.21",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -21,21 +21,21 @@
|
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@owlmeans/api": "^0.1.18-rc.
|
|
25
|
-
"@owlmeans/client-config": "^0.1.18-rc.
|
|
26
|
-
"@owlmeans/client-entrypoint": "^0.1.18-rc.
|
|
27
|
-
"@owlmeans/config": "^0.1.18-rc.
|
|
28
|
-
"@owlmeans/context": "^0.1.18-rc.
|
|
29
|
-
"@owlmeans/kluster": "^0.1.18-rc.
|
|
30
|
-
"@owlmeans/entrypoint": "^0.1.18-rc.
|
|
31
|
-
"@owlmeans/route": "^0.1.18-rc.
|
|
32
|
-
"@owlmeans/server-api": "^0.1.18-rc.
|
|
33
|
-
"@owlmeans/server-auth": "^0.1.18-rc.
|
|
34
|
-
"@owlmeans/server-context": "^0.1.18-rc.
|
|
35
|
-
"@owlmeans/server-entrypoint": "^0.1.18-rc.
|
|
36
|
-
"@owlmeans/server-route": "^0.1.18-rc.
|
|
37
|
-
"@owlmeans/server-socket": "^0.1.18-rc.
|
|
38
|
-
"@owlmeans/static-resource": "^0.1.18-rc.
|
|
24
|
+
"@owlmeans/api": "^0.1.18-rc.16",
|
|
25
|
+
"@owlmeans/client-config": "^0.1.18-rc.15",
|
|
26
|
+
"@owlmeans/client-entrypoint": "^0.1.18-rc.16",
|
|
27
|
+
"@owlmeans/config": "^0.1.18-rc.15",
|
|
28
|
+
"@owlmeans/context": "^0.1.18-rc.11",
|
|
29
|
+
"@owlmeans/kluster": "^0.1.18-rc.15",
|
|
30
|
+
"@owlmeans/entrypoint": "^0.1.18-rc.14",
|
|
31
|
+
"@owlmeans/route": "^0.1.18-rc.12",
|
|
32
|
+
"@owlmeans/server-api": "^0.1.18-rc.20",
|
|
33
|
+
"@owlmeans/server-auth": "^0.1.18-rc.21",
|
|
34
|
+
"@owlmeans/server-context": "^0.1.18-rc.15",
|
|
35
|
+
"@owlmeans/server-entrypoint": "^0.1.18-rc.14",
|
|
36
|
+
"@owlmeans/server-route": "^0.1.18-rc.12",
|
|
37
|
+
"@owlmeans/server-socket": "^0.1.18-rc.21",
|
|
38
|
+
"@owlmeans/static-resource": "^0.1.18-rc.12"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@owlmeans/dep-config": "workspace:*",
|
package/src/context.ts
CHANGED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { entrypoints as apiConfigBindings } from '@owlmeans/api-config-server'
|
|
2
|
+
import { entrypoints as authBindings } from '@owlmeans/server-auth'
|
|
3
|
+
|
|
4
|
+
/** Framework server entrypoints every application receives. */
|
|
5
|
+
export const entrypoints = [...authBindings, ...apiConfigBindings]
|
package/src/exports.ts
CHANGED
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
|
|
2
2
|
export { config } from '@owlmeans/server-context'
|
|
3
|
+
export { makeContext } from './context.js'
|
|
4
|
+
export { main } from './main.js'
|
|
5
|
+
export type { AppConfig, AppContext } from './types.js'
|
|
3
6
|
export { sservice } from '@owlmeans/server-config'
|
|
4
7
|
export { addWebService } from '@owlmeans/client-config'
|
|
5
8
|
export { service, toConfigRecord, PLUGINS } from '@owlmeans/config'
|
|
6
|
-
export {
|
|
9
|
+
export { contract, protocol, typed, EntrypointOutcome } from '@owlmeans/entrypoint'
|
|
7
10
|
export type { AbstractRequest as Request, AbstractResponse as Response } from '@owlmeans/entrypoint'
|
|
8
11
|
export { createListSchema, filterObject } from '@owlmeans/resource'
|
|
9
|
-
export type { ListResult } from '@owlmeans/resource'
|
|
10
|
-
export { AppType, BASE,
|
|
11
|
-
export {
|
|
12
|
-
export { elevate as celevate } from '@owlmeans/client-entrypoint'
|
|
13
|
-
export type { ServerEntrypoint as Module, RefedEntrypointHandler } from '@owlmeans/server-entrypoint'
|
|
14
|
-
export type { ClientEntrypoint } from '@owlmeans/client-entrypoint'
|
|
12
|
+
export type { Criteria, ListOptions, ListQuery, ListResult, Sort } from '@owlmeans/resource'
|
|
13
|
+
export { AppType, BASE, assertContext } from '@owlmeans/context'
|
|
14
|
+
export { bind, bindAll } from '@owlmeans/server-entrypoint'
|
|
15
15
|
export { route as broute } from '@owlmeans/server-route'
|
|
16
|
-
export {
|
|
16
|
+
export { handlers, holdApiPort } from '@owlmeans/server-api'
|
|
17
|
+
export { handleIntermediate, handleBody, handleRequest, handleParams } from '@owlmeans/server-api'
|
|
18
|
+
export type { ApiPortHold, ApiPortHoldOptions } from '@owlmeans/server-api'
|
|
19
|
+
export type { ClientEntrypoint } from '@owlmeans/client-entrypoint'
|
|
17
20
|
export { route } from '@owlmeans/route'
|
|
18
21
|
export { DEFAULT_ALIAS as DAUTH_GUARD } from '@owlmeans/server-auth'
|
|
19
22
|
export { klusterize } from '@owlmeans/kluster'
|
|
20
23
|
export type { PluginConfig } from '@owlmeans/config'
|
|
21
24
|
export { GUARD_ED25519, BED255_CASHE_RESOURCE } from '@owlmeans/auth-common'
|
|
25
|
+
export { entrypoints } from './entrypoints.js'
|
package/src/index.ts
CHANGED
package/src/main.ts
CHANGED
|
@@ -7,9 +7,9 @@ import type { AppContext, AppConfig } from './types.js'
|
|
|
7
7
|
// @TODO Remove or refactor request types. We actually don't use them and this make
|
|
8
8
|
// a mess with <R
|
|
9
9
|
export const main = async <R, C extends AppConfig, T extends AppContext<C>>(
|
|
10
|
-
ctx: T,
|
|
10
|
+
ctx: T, entrypoints: (CommonEntrypoint | ServerEntrypoint<R>)[]
|
|
11
11
|
) => {
|
|
12
|
-
ctx.registerEntrypoints(
|
|
12
|
+
ctx.registerEntrypoints(entrypoints)
|
|
13
13
|
await ctx.configure().init()
|
|
14
14
|
await ctx.getApiServer().listen()
|
|
15
15
|
}
|
package/build/.gitkeep
DELETED
|
File without changes
|
package/build/modules.d.ts
DELETED
package/build/modules.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,mEAA0B,CAAA"}
|
package/build/modules.js
DELETED
package/build/modules.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAEvD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAA"}
|
package/src/modules.ts
DELETED