@miadi/ncp-story-studio 0.2.0 → 0.2.1
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/dist/fixtures/catalog.d.ts +17 -0
- package/dist/fixtures/catalog.d.ts.map +1 -0
- package/dist/fixtures/catalog.js +80 -0
- package/dist/fixtures/catalog.js.map +1 -0
- package/dist/fixtures/index.d.ts +11 -19
- package/dist/fixtures/index.d.ts.map +1 -1
- package/dist/fixtures/index.js +24 -91
- package/dist/fixtures/index.js.map +1 -1
- package/package.json +5 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface FixtureEntry {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
/** Path under `assets/examples/`. */
|
|
5
|
+
file: string;
|
|
6
|
+
/** Where the document came from. */
|
|
7
|
+
source: string;
|
|
8
|
+
/** What the fixture is useful for. */
|
|
9
|
+
note: string;
|
|
10
|
+
/** `miadi` — the studio's own teaching stories; `ncp` — the protocol's examples. */
|
|
11
|
+
family: 'miadi' | 'ncp';
|
|
12
|
+
}
|
|
13
|
+
export declare const FIXTURES: readonly FixtureEntry[];
|
|
14
|
+
export declare function fixture(id: string): FixtureEntry | undefined;
|
|
15
|
+
/** Where the documents live inside the installed package. */
|
|
16
|
+
export declare const FIXTURE_ASSET_PATH = "assets/examples";
|
|
17
|
+
//# sourceMappingURL=catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/fixtures/catalog.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,oFAAoF;IACpF,MAAM,EAAE,OAAO,GAAG,KAAK,CAAA;CACxB;AAED,eAAO,MAAM,QAAQ,EAAE,SAAS,YAAY,EAyElC,CAAA;AAEV,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE5D;AAED,6DAA6D;AAC7D,eAAO,MAAM,kBAAkB,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export const FIXTURES = [
|
|
2
|
+
{
|
|
3
|
+
id: 'catalyst-of-change',
|
|
4
|
+
title: 'Chapter 4: The Catalyst of Change',
|
|
5
|
+
file: 'miadi/catalyst-of-change.json',
|
|
6
|
+
source: 'ncp-story-studio prototype + holisticagnostic-narrative-context-protocol/examples (MIT)',
|
|
7
|
+
note: 'The seed narrative: a story about learning to write with soul, inside a tool for writing with soul. 5 perspectives, 6 players, 13 storypoints, 90 beats all toned, 23 moments.',
|
|
8
|
+
family: 'miadi',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
id: 'echoes-of-the-past',
|
|
12
|
+
title: 'Echoes of the Past',
|
|
13
|
+
file: 'miadi/echoes-of-the-past.json',
|
|
14
|
+
source: 'ncp-story-studio prototype',
|
|
15
|
+
note: 'The smallest complete lattice: 2 perspectives, 4 storypoints, 4 toned beats. The one to read first.',
|
|
16
|
+
family: 'miadi',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
id: 'tushell-orchestra',
|
|
20
|
+
title: 'Tushell and the Orchestra of Agents',
|
|
21
|
+
file: 'miadi/tushell-orchestra.json',
|
|
22
|
+
source: 'ncp-story-studio prototype',
|
|
23
|
+
note: 'Eight players and five conflicting currents: what a story looks like when the subject is orchestration.',
|
|
24
|
+
family: 'miadi',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
id: 'keeper-initiation',
|
|
28
|
+
title: 'The Keeper Chronicles: The Initiation',
|
|
29
|
+
file: 'miadi/keeper-initiation.json',
|
|
30
|
+
source: 'ncp-story-studio prototype',
|
|
31
|
+
note: 'A threshold story — tool becoming keeper. 7 toned beats.',
|
|
32
|
+
family: 'miadi',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: 'bridge-walker',
|
|
36
|
+
title: 'The Bridge Walker: Spiral of Integration',
|
|
37
|
+
file: 'miadi/bridge-walker.json',
|
|
38
|
+
source: 'ncp-story-studio prototype',
|
|
39
|
+
note: 'Holding technical precision, ceremony and narrative at once. 9 toned beats.',
|
|
40
|
+
family: 'miadi',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
id: 'archive-keeper',
|
|
44
|
+
title: 'The Archive Keeper: Solstice Distillation',
|
|
45
|
+
file: 'miadi/archive-keeper.json',
|
|
46
|
+
source: 'ncp-story-studio prototype',
|
|
47
|
+
note: 'Wisdom seeded into the next loop. 8 toned beats.',
|
|
48
|
+
family: 'miadi',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
id: 'example-story',
|
|
52
|
+
title: 'Minimal example story',
|
|
53
|
+
file: 'example-story.json',
|
|
54
|
+
source: 'holisticagnostic-narrative-context-protocol/examples (MIT)',
|
|
55
|
+
note: 'One of each element, in the canonical `{schema_version, story}` layout.',
|
|
56
|
+
family: 'ncp',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: 'shawshank-redemption',
|
|
60
|
+
title: 'The Shawshank Redemption',
|
|
61
|
+
file: 'the-shawshank-redemption.json',
|
|
62
|
+
source: 'holisticagnostic-narrative-context-protocol/examples (MIT)',
|
|
63
|
+
note: 'A full storyform: 8 players, 47 storypoints, 97 beats, in the subtxt-export dialect. It does not validate clean: the export numbers some signposts and events twice inside one series, which the validator reports.',
|
|
64
|
+
family: 'ncp',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
id: 'anora',
|
|
68
|
+
title: 'Anora',
|
|
69
|
+
file: 'anora.json',
|
|
70
|
+
source: 'holisticagnostic-narrative-context-protocol/examples (MIT)',
|
|
71
|
+
note: 'Storypoints without beats, in the subtxt-export dialect: what a partially structured story looks like.',
|
|
72
|
+
family: 'ncp',
|
|
73
|
+
},
|
|
74
|
+
];
|
|
75
|
+
export function fixture(id) {
|
|
76
|
+
return FIXTURES.find((entry) => entry.id === id);
|
|
77
|
+
}
|
|
78
|
+
/** Where the documents live inside the installed package. */
|
|
79
|
+
export const FIXTURE_ASSET_PATH = 'assets/examples';
|
|
80
|
+
//# sourceMappingURL=catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/fixtures/catalog.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,QAAQ,GAA4B;IAC/C;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,mCAAmC;QAC1C,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,yFAAyF;QACjG,IAAI,EAAE,gLAAgL;QACtL,MAAM,EAAE,OAAO;KAChB;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,4BAA4B;QACpC,IAAI,EAAE,qGAAqG;QAC3G,MAAM,EAAE,OAAO;KAChB;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,qCAAqC;QAC5C,IAAI,EAAE,8BAA8B;QACpC,MAAM,EAAE,4BAA4B;QACpC,IAAI,EAAE,yGAAyG;QAC/G,MAAM,EAAE,OAAO;KAChB;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,uCAAuC;QAC9C,IAAI,EAAE,8BAA8B;QACpC,MAAM,EAAE,4BAA4B;QACpC,IAAI,EAAE,0DAA0D;QAChE,MAAM,EAAE,OAAO;KAChB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,0CAA0C;QACjD,IAAI,EAAE,0BAA0B;QAChC,MAAM,EAAE,4BAA4B;QACpC,IAAI,EAAE,6EAA6E;QACnF,MAAM,EAAE,OAAO;KAChB;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,2CAA2C;QAClD,IAAI,EAAE,2BAA2B;QACjC,MAAM,EAAE,4BAA4B;QACpC,IAAI,EAAE,kDAAkD;QACxD,MAAM,EAAE,OAAO;KAChB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,uBAAuB;QAC9B,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,4DAA4D;QACpE,IAAI,EAAE,yEAAyE;QAC/E,MAAM,EAAE,KAAK;KACd;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,0BAA0B;QACjC,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,4DAA4D;QACpE,IAAI,EAAE,qNAAqN;QAC3N,MAAM,EAAE,KAAK;KACd;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,4DAA4D;QACpE,IAAI,EAAE,wGAAwG;QAC9G,MAAM,EAAE,KAAK;KACd;CACO,CAAA;AAEV,MAAM,UAAU,OAAO,CAAC,EAAU;IAChC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;AAClD,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAA"}
|
package/dist/fixtures/index.d.ts
CHANGED
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
import { type NcpDialect, type NcpDocument, type NormalizeNote } from '../schema/index.js';
|
|
2
2
|
import { MemoryStoryStore, type StoryProject } from '../store/index.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
title: string;
|
|
6
|
-
/** Path under `assets/examples/`. */
|
|
7
|
-
file: string;
|
|
8
|
-
/** Where the document came from. */
|
|
9
|
-
source: string;
|
|
10
|
-
/** What the fixture is useful for. */
|
|
11
|
-
note: string;
|
|
12
|
-
/** `miadi` — the studio's own teaching stories; `ncp` — the protocol's examples. */
|
|
13
|
-
family: 'miadi' | 'ncp';
|
|
14
|
-
}
|
|
15
|
-
export declare const FIXTURES: readonly FixtureEntry[];
|
|
16
|
-
export declare function fixture(id: string): FixtureEntry | undefined;
|
|
3
|
+
import { type FixtureEntry } from './catalog.js';
|
|
4
|
+
export * from './catalog.js';
|
|
17
5
|
export interface LoadedFixture {
|
|
18
6
|
entry: FixtureEntry;
|
|
19
7
|
document: NcpDocument;
|
|
@@ -22,9 +10,13 @@ export interface LoadedFixture {
|
|
|
22
10
|
/** What reading it had to adapt. */
|
|
23
11
|
notes: NormalizeNote[];
|
|
24
12
|
}
|
|
25
|
-
export
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
export declare function
|
|
13
|
+
export interface LoadOptions {
|
|
14
|
+
/** Directory holding the documents. Defaults to the installed package's own. */
|
|
15
|
+
dir?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function loadFixture(id: string, options?: LoadOptions): Promise<LoadedFixture>;
|
|
18
|
+
export declare function loadAllFixtures(options?: LoadOptions): Promise<LoadedFixture[]>;
|
|
19
|
+
export declare function fixtureProject(id: string, options?: LoadOptions): Promise<StoryProject>;
|
|
20
|
+
/** A read-only store holding every bundled story, for a first run with no data. */
|
|
21
|
+
export declare function fixtureStore(options?: LoadOptions): Promise<MemoryStoryStore>;
|
|
30
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fixtures/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fixtures/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAW,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACnG,OAAO,EAAE,gBAAgB,EAAc,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACnF,OAAO,EAAyC,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AAEvF,cAAc,cAAc,CAAA;AAE5B,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,YAAY,CAAA;IACnB,QAAQ,EAAE,WAAW,CAAA;IACrB,oDAAoD;IACpD,OAAO,EAAE,UAAU,CAAA;IACnB,oCAAoC;IACpC,KAAK,EAAE,aAAa,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,gFAAgF;IAChF,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAMD,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAM3F;AAED,wBAAsB,eAAe,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAErF;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAa7F;AAED,mFAAmF;AACnF,wBAAsB,YAAY,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAGnF"}
|
package/dist/fixtures/index.js
CHANGED
|
@@ -1,113 +1,46 @@
|
|
|
1
|
-
// `@miadi/ncp-story-studio/fixtures` — the
|
|
2
|
-
//
|
|
3
|
-
//
|
|
1
|
+
// `@miadi/ncp-story-studio/fixtures` — the bundled documents, read from disk.
|
|
2
|
+
//
|
|
3
|
+
// Node only. A bundler (Next, webpack) cannot resolve the asset directory from
|
|
4
|
+
// inside a bundle, so a web consumer imports `./catalog` for the list and reads
|
|
5
|
+
// the files itself, or receives them from a route handler.
|
|
4
6
|
import { readFile } from 'node:fs/promises';
|
|
7
|
+
import { join } from 'node:path';
|
|
5
8
|
import { fileURLToPath } from 'node:url';
|
|
6
9
|
import { readNcp } from '../schema/index.js';
|
|
7
10
|
import { MemoryStoryStore, newProject } from '../store/index.js';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
file: 'miadi/catalyst-of-change.json',
|
|
13
|
-
source: 'ncp-story-studio prototype + holisticagnostic-narrative-context-protocol/examples (MIT)',
|
|
14
|
-
note: 'The seed narrative: a story about learning to write with soul, inside a tool for writing with soul. 5 perspectives, 6 players, 13 storypoints, 90 beats all toned, 23 moments.',
|
|
15
|
-
family: 'miadi',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
id: 'echoes-of-the-past',
|
|
19
|
-
title: 'Echoes of the Past',
|
|
20
|
-
file: 'miadi/echoes-of-the-past.json',
|
|
21
|
-
source: 'ncp-story-studio prototype',
|
|
22
|
-
note: 'The smallest complete lattice: 2 perspectives, 4 storypoints, 4 toned beats. The one to read first.',
|
|
23
|
-
family: 'miadi',
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
id: 'tushell-orchestra',
|
|
27
|
-
title: 'Tushell and the Orchestra of Agents',
|
|
28
|
-
file: 'miadi/tushell-orchestra.json',
|
|
29
|
-
source: 'ncp-story-studio prototype',
|
|
30
|
-
note: 'Eight players and five conflicting currents: what a story looks like when the subject is orchestration.',
|
|
31
|
-
family: 'miadi',
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
id: 'keeper-initiation',
|
|
35
|
-
title: 'The Keeper Chronicles: The Initiation',
|
|
36
|
-
file: 'miadi/keeper-initiation.json',
|
|
37
|
-
source: 'ncp-story-studio prototype',
|
|
38
|
-
note: 'A threshold story — tool becoming keeper. 7 toned beats.',
|
|
39
|
-
family: 'miadi',
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
id: 'bridge-walker',
|
|
43
|
-
title: 'The Bridge Walker: Spiral of Integration',
|
|
44
|
-
file: 'miadi/bridge-walker.json',
|
|
45
|
-
source: 'ncp-story-studio prototype',
|
|
46
|
-
note: 'Holding technical precision, ceremony and narrative at once. 9 toned beats.',
|
|
47
|
-
family: 'miadi',
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
id: 'archive-keeper',
|
|
51
|
-
title: 'The Archive Keeper: Solstice Distillation',
|
|
52
|
-
file: 'miadi/archive-keeper.json',
|
|
53
|
-
source: 'ncp-story-studio prototype',
|
|
54
|
-
note: 'Wisdom seeded into the next loop. 8 toned beats.',
|
|
55
|
-
family: 'miadi',
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
id: 'example-story',
|
|
59
|
-
title: 'Minimal example story',
|
|
60
|
-
file: 'example-story.json',
|
|
61
|
-
source: 'holisticagnostic-narrative-context-protocol/examples (MIT)',
|
|
62
|
-
note: 'One of each element, in the canonical `{schema_version, story}` layout.',
|
|
63
|
-
family: 'ncp',
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
id: 'shawshank-redemption',
|
|
67
|
-
title: 'The Shawshank Redemption',
|
|
68
|
-
file: 'the-shawshank-redemption.json',
|
|
69
|
-
source: 'holisticagnostic-narrative-context-protocol/examples (MIT)',
|
|
70
|
-
note: 'A full storyform: 8 players, 47 storypoints, 97 beats, in the subtxt-export dialect. It does not validate clean: the export numbers some signposts and events twice inside one series, which the validator reports.',
|
|
71
|
-
family: 'ncp',
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
id: 'anora',
|
|
75
|
-
title: 'Anora',
|
|
76
|
-
file: 'anora.json',
|
|
77
|
-
source: 'holisticagnostic-narrative-context-protocol/examples (MIT)',
|
|
78
|
-
note: 'Storypoints without beats, in the subtxt-export dialect: what a partially structured story looks like.',
|
|
79
|
-
family: 'ncp',
|
|
80
|
-
},
|
|
81
|
-
];
|
|
82
|
-
const ASSET_DIR = new URL('../../assets/examples/', import.meta.url);
|
|
83
|
-
export function fixture(id) {
|
|
84
|
-
return FIXTURES.find((entry) => entry.id === id);
|
|
11
|
+
import { FIXTURES, FIXTURE_ASSET_PATH, fixture } from './catalog.js';
|
|
12
|
+
export * from './catalog.js';
|
|
13
|
+
function defaultDir() {
|
|
14
|
+
return fileURLToPath(new URL('../../' + FIXTURE_ASSET_PATH + '/', import.meta.url));
|
|
85
15
|
}
|
|
86
|
-
export async function loadFixture(id) {
|
|
16
|
+
export async function loadFixture(id, options) {
|
|
87
17
|
const entry = fixture(id);
|
|
88
18
|
if (!entry)
|
|
89
19
|
throw new Error(`no fixture \`${id}\`. Known: ${FIXTURES.map((f) => f.id).join(', ')}`);
|
|
90
|
-
const
|
|
91
|
-
const raw = await readFile(path, 'utf8');
|
|
20
|
+
const raw = await readFile(join(options?.dir ?? defaultDir(), entry.file), 'utf8');
|
|
92
21
|
const { document, dialect, notes } = readNcp(JSON.parse(raw), { fallbackId: entry.id });
|
|
93
22
|
return { entry, document, dialect, notes };
|
|
94
23
|
}
|
|
95
|
-
export async function loadAllFixtures() {
|
|
96
|
-
return Promise.all(FIXTURES.map((entry) => loadFixture(entry.id)));
|
|
24
|
+
export async function loadAllFixtures(options) {
|
|
25
|
+
return Promise.all(FIXTURES.map((entry) => loadFixture(entry.id, options)));
|
|
97
26
|
}
|
|
98
|
-
export async function fixtureProject(id) {
|
|
99
|
-
const loaded = await loadFixture(id);
|
|
27
|
+
export async function fixtureProject(id, options) {
|
|
28
|
+
const loaded = await loadFixture(id, options);
|
|
100
29
|
return {
|
|
101
30
|
...newProject(loaded.document, {
|
|
102
31
|
projectId: loaded.entry.id,
|
|
103
|
-
meta: {
|
|
32
|
+
meta: {
|
|
33
|
+
source: loaded.entry.source,
|
|
34
|
+
tags: ['fixture', `family:${loaded.entry.family}`, `dialect:${loaded.dialect}`],
|
|
35
|
+
note: loaded.entry.note,
|
|
36
|
+
},
|
|
104
37
|
}),
|
|
105
38
|
read_only: true,
|
|
106
39
|
};
|
|
107
40
|
}
|
|
108
|
-
/** A read-only store holding every bundled
|
|
109
|
-
export async function fixtureStore() {
|
|
110
|
-
const projects = await Promise.all(FIXTURES.map((entry) => fixtureProject(entry.id)));
|
|
41
|
+
/** A read-only store holding every bundled story, for a first run with no data. */
|
|
42
|
+
export async function fixtureStore(options) {
|
|
43
|
+
const projects = await Promise.all(FIXTURES.map((entry) => fixtureProject(entry.id, options)));
|
|
111
44
|
return new MemoryStoryStore(projects);
|
|
112
45
|
}
|
|
113
46
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fixtures/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fixtures/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@miadi/ncp-story-studio",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Narrative Context Protocol story studio as consumable modules: canonical NCP types and a zero-dependency validator, a headless story-lattice layout with a React renderer, story-project storage providers (JSON files and Neon Postgres), the agent link protocol, and the terminology and example data behind the teaching surface.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Miadi",
|
|
@@ -52,6 +52,10 @@
|
|
|
52
52
|
"types": "./dist/fixtures/index.d.ts",
|
|
53
53
|
"default": "./dist/fixtures/index.js"
|
|
54
54
|
},
|
|
55
|
+
"./fixtures/catalog": {
|
|
56
|
+
"types": "./dist/fixtures/catalog.d.ts",
|
|
57
|
+
"default": "./dist/fixtures/catalog.js"
|
|
58
|
+
},
|
|
55
59
|
"./ncp-schema.json": "./assets/ncp-schema.json",
|
|
56
60
|
"./package.json": "./package.json",
|
|
57
61
|
"./terminology.json": "./assets/terminology.json"
|