@owlmeans/planning 0.1.18-rc.2 → 0.1.18-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
@@ -9,7 +9,7 @@ the executor with `@owlmeans/server-planning` and reads remotely with `@owlmeans
9
9
  ## Installation
10
10
 
11
11
  ```sh
12
- bun add @owlmeans/planning@^0.1.18-rc.2 ajv ajv-formats
12
+ bun add @owlmeans/planning@^0.1.18-rc.3 ajv ajv-formats
13
13
  ```
14
14
 
15
15
  ## Concepts
@@ -158,7 +158,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
158
158
  your project's skill store (`.agents/skills/`):
159
159
 
160
160
  ```sh
161
- npx @owlmeans/agent-skills@^0.1.18-rc.30
161
+ npx @owlmeans/agent-skills@^0.1.18-rc.31
162
162
  ```
163
163
 
164
164
  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",
4
- "version": "0.1.18-rc.2",
5
- "generatedAt": "2026-09-19T13:42:56.252Z",
4
+ "version": "0.1.18-rc.3",
5
+ "generatedAt": "2026-09-21T21:54:22.959Z",
6
6
  "canonicalRepo": "https://github.com/owlmeans/common",
7
7
  "entries": [
8
8
  {
@@ -8,7 +8,7 @@ user-invocable: false
8
8
  # @owlmeans/planning
9
9
 
10
10
  **Layer:** Cross-cutting domain
11
- **Install:** `"@owlmeans/planning": "^0.1.18-rc.2"` in `dependencies` (`ajv` and `ajv-formats` are peers)
11
+ **Install:** `"@owlmeans/planning": "^0.1.18-rc.3"` in `dependencies` (`ajv` and `ajv-formats` are peers)
12
12
 
13
13
  The contracts of project planning: record shapes, schemas, refusals, the protocol tree, the pure
14
14
  fold and the models. No database, no fastify, no React. The executor, the plugin registry, the
@@ -0,0 +1,51 @@
1
+ {
2
+ "kind": {
3
+ "card": "Carte",
4
+ "project": "Projet",
5
+ "specification": "Spécification"
6
+ },
7
+ "intrinsic": {
8
+ "planned": "Planifié",
9
+ "in-progress": "En cours",
10
+ "closed": "Fermé"
11
+ },
12
+ "action": {
13
+ "create": "Créé",
14
+ "update": "Mis à jour",
15
+ "transit": "Statut modifié",
16
+ "link": "Lié",
17
+ "unlink": "Délié",
18
+ "delete": "Supprimé"
19
+ },
20
+ "commit": {
21
+ "pending": "Enregistrement…",
22
+ "committed": "Enregistré",
23
+ "failed": "Non enregistré"
24
+ },
25
+ "format": {
26
+ "markdown": "Markdown",
27
+ "json": "JSON",
28
+ "text": "Texte brut"
29
+ },
30
+ "errors": {
31
+ "PlanningError": "La demande de planification n’a pas pu être traitée",
32
+ "PlanningErrorWorkcardNotFound": "Cet élément n’existe pas ou ne vous est pas accessible",
33
+ "PlanningErrorUnknownWorkcardType": "Ce type d’élément est inconnu",
34
+ "PlanningErrorUnknownStatusFlow": "Ce flux de statut est inconnu",
35
+ "PlanningErrorParentNotFound": "L’élément parent n’existe pas",
36
+ "PlanningErrorCardTypeNotAllowed": "Ce type d’élément ne peut pas être ajouté ici",
37
+ "PlanningErrorRefused": "La modification a été refusée",
38
+ "PlanningErrorIllegalTransition": "Ce changement de statut n’est pas autorisé depuis le statut actuel",
39
+ "PlanningErrorFieldsInvalid": "Certains champs ont des valeurs non valides",
40
+ "PlanningErrorLabelNotAllowed": "Cette étiquette n’est pas autorisée ici",
41
+ "PlanningErrorSpecificationSlotUnknown": "Ce type de document n’est pas autorisé ici",
42
+ "PlanningErrorSpecificationRevisionConflict": "Ce document existe déjà : modifiez-le plutôt",
43
+ "PlanningErrorRelationshipRefused": "Ce lien n’est pas autorisé",
44
+ "PlanningErrorCodeTaken": "Ce code est déjà utilisé",
45
+ "PlanningErrorWorkcardConflict": "Quelqu’un a modifié cet élément entre-temps. Actualisez la page puis réessayez.",
46
+ "PlanningErrorCommitTimeout": "La modification est encore en cours d’enregistrement. Vérifiez de nouveau dans un instant.",
47
+ "PlanningErrorCommitFailed": "La modification n’a pas pu être enregistrée",
48
+ "PlanningErrorScopeMismatch": "Cet élément n’existe pas ou ne vous est pas accessible",
49
+ "PlanningErrorUnsupported": "Cette opération n’est pas prise en charge pour cet élément"
50
+ }
51
+ }
package/build/i18n.js CHANGED
@@ -7,11 +7,12 @@ import be from './i18n/be.json' with { type: 'json' };
7
7
  import uk from './i18n/uk.json' with { type: 'json' };
8
8
  import es from './i18n/es.json' with { type: 'json' };
9
9
  import de from './i18n/de.json' with { type: 'json' };
10
+ import fr from './i18n/fr.json' with { type: 'json' };
10
11
  /**
11
12
  * Labels under `lib:planning.*`, and every refusal under the shared `errors` resource keyed by its
12
13
  * type name — which is where a panel's error lookup (`errors.<type>`) finds them.
13
14
  */
14
- const LANGUAGES = { en, pl, ru, be, uk, es, de };
15
+ const LANGUAGES = { en, pl, ru, be, uk, es, de, fr };
15
16
  Object.entries(LANGUAGES).forEach(([lng, data]) => {
16
17
  addI18nLib(lng, PLANNING_I18N, data);
17
18
  addI18nLib(lng, 'errors', data.errors);
package/build/i18n.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAErD;;;GAGG;AACH,MAAM,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAA;AAEhD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;IAChD,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;IACpC,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;AACxC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAErD;;;GAGG;AACH,MAAM,SAAS,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAA;AAEpD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;IAChD,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;IACpC,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;AACxC,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owlmeans/planning",
3
- "version": "0.1.18-rc.2",
3
+ "version": "0.1.18-rc.3",
4
4
  "license": "MIT",
5
5
  "description": "Runtime-free project-planning contracts — the workcard super type, projects, specifications, typed relationships, status flows with three intrinsic states, the transition event and its pure fold, the schema registry, the models and the protocol tree.",
6
6
  "type": "module",
@@ -23,14 +23,14 @@
23
23
  }
24
24
  },
25
25
  "dependencies": {
26
- "@owlmeans/auth": "^0.1.18-rc.28",
27
- "@owlmeans/basic-ids": "^0.1.18-rc.27",
28
- "@owlmeans/context": "^0.1.18-rc.26",
29
- "@owlmeans/entrypoint": "^0.1.18-rc.29",
30
- "@owlmeans/error": "^0.1.18-rc.28",
31
- "@owlmeans/i18n": "^0.1.18-rc.29",
32
- "@owlmeans/resource": "^0.1.18-rc.28",
33
- "@owlmeans/route": "^0.1.18-rc.27"
26
+ "@owlmeans/auth": "^0.1.18-rc.29",
27
+ "@owlmeans/basic-ids": "^0.1.18-rc.28",
28
+ "@owlmeans/context": "^0.1.18-rc.27",
29
+ "@owlmeans/entrypoint": "^0.1.18-rc.30",
30
+ "@owlmeans/error": "^0.1.18-rc.29",
31
+ "@owlmeans/i18n": "^0.1.18-rc.30",
32
+ "@owlmeans/resource": "^0.1.18-rc.29",
33
+ "@owlmeans/route": "^0.1.18-rc.28"
34
34
  },
35
35
  "peerDependencies": {
36
36
  "ajv": "*",
@@ -0,0 +1,51 @@
1
+ {
2
+ "kind": {
3
+ "card": "Carte",
4
+ "project": "Projet",
5
+ "specification": "Spécification"
6
+ },
7
+ "intrinsic": {
8
+ "planned": "Planifié",
9
+ "in-progress": "En cours",
10
+ "closed": "Fermé"
11
+ },
12
+ "action": {
13
+ "create": "Créé",
14
+ "update": "Mis à jour",
15
+ "transit": "Statut modifié",
16
+ "link": "Lié",
17
+ "unlink": "Délié",
18
+ "delete": "Supprimé"
19
+ },
20
+ "commit": {
21
+ "pending": "Enregistrement…",
22
+ "committed": "Enregistré",
23
+ "failed": "Non enregistré"
24
+ },
25
+ "format": {
26
+ "markdown": "Markdown",
27
+ "json": "JSON",
28
+ "text": "Texte brut"
29
+ },
30
+ "errors": {
31
+ "PlanningError": "La demande de planification n’a pas pu être traitée",
32
+ "PlanningErrorWorkcardNotFound": "Cet élément n’existe pas ou ne vous est pas accessible",
33
+ "PlanningErrorUnknownWorkcardType": "Ce type d’élément est inconnu",
34
+ "PlanningErrorUnknownStatusFlow": "Ce flux de statut est inconnu",
35
+ "PlanningErrorParentNotFound": "L’élément parent n’existe pas",
36
+ "PlanningErrorCardTypeNotAllowed": "Ce type d’élément ne peut pas être ajouté ici",
37
+ "PlanningErrorRefused": "La modification a été refusée",
38
+ "PlanningErrorIllegalTransition": "Ce changement de statut n’est pas autorisé depuis le statut actuel",
39
+ "PlanningErrorFieldsInvalid": "Certains champs ont des valeurs non valides",
40
+ "PlanningErrorLabelNotAllowed": "Cette étiquette n’est pas autorisée ici",
41
+ "PlanningErrorSpecificationSlotUnknown": "Ce type de document n’est pas autorisé ici",
42
+ "PlanningErrorSpecificationRevisionConflict": "Ce document existe déjà : modifiez-le plutôt",
43
+ "PlanningErrorRelationshipRefused": "Ce lien n’est pas autorisé",
44
+ "PlanningErrorCodeTaken": "Ce code est déjà utilisé",
45
+ "PlanningErrorWorkcardConflict": "Quelqu’un a modifié cet élément entre-temps. Actualisez la page puis réessayez.",
46
+ "PlanningErrorCommitTimeout": "La modification est encore en cours d’enregistrement. Vérifiez de nouveau dans un instant.",
47
+ "PlanningErrorCommitFailed": "La modification n’a pas pu être enregistrée",
48
+ "PlanningErrorScopeMismatch": "Cet élément n’existe pas ou ne vous est pas accessible",
49
+ "PlanningErrorUnsupported": "Cette opération n’est pas prise en charge pour cet élément"
50
+ }
51
+ }
package/src/i18n.ts CHANGED
@@ -8,12 +8,13 @@ import be from './i18n/be.json' with { type: 'json' }
8
8
  import uk from './i18n/uk.json' with { type: 'json' }
9
9
  import es from './i18n/es.json' with { type: 'json' }
10
10
  import de from './i18n/de.json' with { type: 'json' }
11
+ import fr from './i18n/fr.json' with { type: 'json' }
11
12
 
12
13
  /**
13
14
  * Labels under `lib:planning.*`, and every refusal under the shared `errors` resource keyed by its
14
15
  * type name — which is where a panel's error lookup (`errors.<type>`) finds them.
15
16
  */
16
- const LANGUAGES = { en, pl, ru, be, uk, es, de }
17
+ const LANGUAGES = { en, pl, ru, be, uk, es, de, fr }
17
18
 
18
19
  Object.entries(LANGUAGES).forEach(([lng, data]) => {
19
20
  addI18nLib(lng, PLANNING_I18N, data)