@owlmeans/planning-auth 0.1.0-rc.1 → 0.1.0-rc.3

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 CHANGED
@@ -3,21 +3,35 @@
3
3
  Optional authentication identity and group links for OwlMeans planning.
4
4
 
5
5
  ```sh
6
- bun add @owlmeans/planning-auth@^0.1.0-rc.0
6
+ bun add @owlmeans/planning-auth@^0.1.0-rc.3
7
7
  ```
8
8
 
9
9
  Register `makePlanningAuthPlugin()` for the human/non-human schemas. On a trusted server,
10
10
  `attributeCreates: true` fills missing reporters from verified creation context; an optional
11
11
  `defaultAssignee` supplies the responsible participant. Clients register the schema-only plugin.
12
+ `owns` can restrict server attribution to the host's workcard types. Attribution fills only
13
+ missing top-level planning ids; trusted creator stamping remains the planning executor's job.
12
14
 
13
15
  `makePlanningAuth({ planning: () => scopedFacade, provider })` exposes `assigneeFor`, `teamFor` and
14
16
  `scopeFor`. Stable provider/subject identity maps to a planning id; a nickname collision never
15
- retargets an existing participant. Teams carry provider-qualified external group ids. Membership
17
+ retargets an existing participant. Concurrent creation rereads the identity after a conflict.
18
+ `scopeFor` resolves trusted `profileId`/`userId` into `assigneeId` for comment authors and optional
19
+ `defaultAssigneeId`. Teams carry provider-qualified external group ids. Membership
16
20
  and permission grants remain the authentication host's responsibility.
17
21
 
18
22
  Planning links always contain planning ids. Human authentication is required by the default schema;
19
23
  non-human authentication is optional. Retirement preserves historical attribution.
20
24
 
25
+ Only call the adapter with a facade scoped from verified authentication and organization entity
26
+ membership. External ids belong to their named provider; nicknames and display names do not prove
27
+ identity. `teamFor` maps an authorized external group to a planning team, without changing either
28
+ the permission grants or group membership.
29
+
30
+ Viable uses this plugin through its planning integration: a verified user-story creator is the
31
+ default reporter, and the stable internal non-human agent is the default assignee. Compatibility
32
+ backfill verifies creator membership before linking historical stories. Generated applications
33
+ may opt into the same integration without depending on viable.
34
+
21
35
  Agent guidance ships in this package's `agent-meta` directory.
22
36
 
23
37
  <!-- owlmeans:agent-guidance:start -->
@@ -28,7 +42,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
28
42
  your project's skill store (`.agents/skills/`):
29
43
 
30
44
  ```sh
31
- npx @owlmeans/agent-skills@^0.1.18-rc.53
45
+ npx @owlmeans/agent-skills@^0.1.18-rc.54
32
46
  ```
33
47
 
34
48
  The embedded files are version-matched to this package release. Do not edit them
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@owlmeans/planning-auth",
4
- "version": "0.1.0-rc.1",
5
- "generatedAt": "2026-10-09T13:18:23.740Z",
4
+ "version": "0.1.0-rc.3",
5
+ "generatedAt": "2026-10-15T10:20:01.299Z",
6
6
  "canonicalRepo": "https://github.com/owlmeans/common",
7
7
  "entries": [
8
8
  {
@@ -7,7 +7,7 @@ user-invocable: false
7
7
 
8
8
  # @owlmeans/planning-auth
9
9
 
10
- **Install:** `"@owlmeans/planning-auth": "^0.1.0-rc.1"`. Planning itself remains provider-neutral.
10
+ **Install:** `"@owlmeans/planning-auth": "^0.1.0-rc.3"`. Planning itself remains provider-neutral.
11
11
  Register `makePlanningAuthPlugin()` for human/non-human assignee schemas; the default plugin is
12
12
  schema-only and safe for clients. Server hosts may set `attributeCreates: true`, `owns` and a
13
13
  `defaultAssignee` to fill missing top-level reporter/responsible fields from trusted creation context.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owlmeans/planning-auth",
3
- "version": "0.1.0-rc.1",
3
+ "version": "0.1.0-rc.3",
4
4
  "license": "MIT",
5
5
  "description": "Optional OwlMeans authentication identity and group links for the generic planning system.",
6
6
  "type": "module",
@@ -19,13 +19,13 @@
19
19
  }
20
20
  },
21
21
  "dependencies": {
22
- "@owlmeans/planning": "^0.1.18-rc.23"
22
+ "@owlmeans/planning": "^0.1.18-rc.27"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@owlmeans/dep-config": "^0.1.18-rc.6",
26
26
  "@types/bun": "^1.4.2",
27
27
  "typescript": "^7.0.2",
28
- "@owlmeans/server-planning": "^0.1.18-rc.27",
28
+ "@owlmeans/server-planning": "^0.1.18-rc.32",
29
29
  "@owlmeans/context": "^0.1.18-rc.34"
30
30
  },
31
31
  "publishConfig": {