ctxr-cli 0.2.2 → 0.3.0
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/adapter.d.ts +1 -1
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js.map +1 -1
- package/dist/adapters/builtin/index.d.ts +1 -4
- package/dist/adapters/builtin/index.d.ts.map +1 -1
- package/dist/adapters/builtin/index.js +1 -4
- package/dist/adapters/builtin/index.js.map +1 -1
- package/dist/adapters/types.d.ts +3 -15
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/adapters/types.js +0 -1
- package/dist/adapters/types.js.map +1 -1
- package/dist/commands/adapters-generate.d.ts +3 -5
- package/dist/commands/adapters-generate.d.ts.map +1 -1
- package/dist/commands/adapters-generate.js +3 -15
- package/dist/commands/adapters-generate.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +4 -8
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/session-capture.d.ts +0 -1
- package/dist/commands/session-capture.d.ts.map +1 -1
- package/dist/commands/session-capture.js +33 -41
- package/dist/commands/session-capture.js.map +1 -1
- package/dist/config/defaults.d.ts +2 -4
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +2 -4
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/schema.d.ts +0 -11
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +1 -22
- package/dist/config/schema.js.map +1 -1
- package/dist/core/agents-doc.d.ts +0 -12
- package/dist/core/agents-doc.d.ts.map +1 -1
- package/dist/core/agents-doc.js +0 -26
- package/dist/core/agents-doc.js.map +1 -1
- package/dist/core/checks/integrity-checks.d.ts +2 -0
- package/dist/core/checks/integrity-checks.d.ts.map +1 -1
- package/dist/core/checks/integrity-checks.js +31 -1
- package/dist/core/checks/integrity-checks.js.map +1 -1
- package/dist/core/checks/manifest.d.ts.map +1 -1
- package/dist/core/checks/manifest.js +0 -2
- package/dist/core/checks/manifest.js.map +1 -1
- package/dist/core/errors.d.ts +13 -9
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +14 -27
- package/dist/core/errors.js.map +1 -1
- package/dist/core/fs/fenced-region.d.ts +18 -0
- package/dist/core/fs/fenced-region.d.ts.map +1 -1
- package/dist/core/fs/fenced-region.js +60 -0
- package/dist/core/fs/fenced-region.js.map +1 -1
- package/dist/core/procedures.d.ts.map +1 -1
- package/dist/core/procedures.js +38 -460
- package/dist/core/procedures.js.map +1 -1
- package/dist/core/reconcile.d.ts +3 -4
- package/dist/core/reconcile.d.ts.map +1 -1
- package/dist/core/reconcile.js +20 -12
- package/dist/core/reconcile.js.map +1 -1
- package/dist/core/write-lifecycle/path-gate.d.ts.map +1 -1
- package/dist/core/write-lifecycle/path-gate.js +13 -9
- package/dist/core/write-lifecycle/path-gate.js.map +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +4 -43
- package/dist/run.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/templates/skills/ctxr-connection-finding.md +15 -0
- package/templates/skills/ctxr-connection-proposal.md +17 -0
- package/templates/skills/ctxr-derived-artifacts.md +25 -0
- package/templates/skills/ctxr-ingest-orchestration.md +42 -0
- package/templates/skills/ctxr-land.md +19 -0
- package/templates/skills/ctxr-organize-audit.md +49 -0
- package/templates/skills/ctxr-placement.md +65 -0
- package/templates/skills/ctxr-rollup.md +39 -0
- package/templates/skills/ctxr-session-capture.md +65 -0
- package/templates/skills/ctxr-session-lifecycle.md +39 -0
- package/templates/skills/ctxr-submit.md +26 -0
- package/dist/commands/identity.d.ts +0 -24
- package/dist/commands/identity.d.ts.map +0 -1
- package/dist/commands/identity.js +0 -35
- package/dist/commands/identity.js.map +0 -1
- package/dist/core/checks/identity-checks.d.ts +0 -16
- package/dist/core/checks/identity-checks.d.ts.map +0 -1
- package/dist/core/checks/identity-checks.js +0 -43
- package/dist/core/checks/identity-checks.js.map +0 -1
- package/dist/core/identity.d.ts +0 -46
- package/dist/core/identity.d.ts.map +0 -1
- package/dist/core/identity.js +0 -143
- package/dist/core/identity.js.map +0 -1
package/dist/adapter.d.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* adapter authored against these types compiles against the same contract
|
|
12
12
|
* contexture's built-ins use, ready for that loading mechanism once it ships.
|
|
13
13
|
*/
|
|
14
|
-
export type { Adapter, AdapterKind, HarnessGenerationAdapter
|
|
14
|
+
export type { Adapter, AdapterKind, HarnessGenerationAdapter } from './adapters/types.js';
|
|
15
15
|
export type { ForgeAdapter, OpenPullRequestInput, OpenPullRequestResult } from './adapters/forge/types.js';
|
|
16
16
|
import type { Adapter, AdapterKind } from './adapters/types.js';
|
|
17
17
|
export declare function defineAdapter<K extends AdapterKind, A extends Adapter<K>>(adapter: A): A;
|
package/dist/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,YAAY,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC1F,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAE3G,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEhE,wBAAgB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAExF"}
|
package/dist/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,aAAa,CAA8C,OAAU;IACnF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import type { Adapter } from '../types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Every adapter shipped with contexture itself, resolved by (kind, id)
|
|
4
|
-
* against contexture.yaml's declared list.
|
|
5
|
-
* ships: AGENTS.md's generated agent-identity section already reaches
|
|
6
|
-
* every harness open-box (entry-doc-generation D4), and a harness entry
|
|
7
|
-
* file must contain nothing beyond its AGENTS.md import.
|
|
4
|
+
* against contexture.yaml's declared list.
|
|
8
5
|
*/
|
|
9
6
|
export declare const BUILTIN_ADAPTERS: readonly Adapter[];
|
|
10
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/builtin/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/builtin/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,OAAO,EAAmD,CAAC"}
|
|
@@ -2,10 +2,7 @@ import { githubForgeAdapter } from '../forge/github.js';
|
|
|
2
2
|
import { claudeCodeHarnessAdapter } from '../harness/claude-code.js';
|
|
3
3
|
/**
|
|
4
4
|
* Every adapter shipped with contexture itself, resolved by (kind, id)
|
|
5
|
-
* against contexture.yaml's declared list.
|
|
6
|
-
* ships: AGENTS.md's generated agent-identity section already reaches
|
|
7
|
-
* every harness open-box (entry-doc-generation D4), and a harness entry
|
|
8
|
-
* file must contain nothing beyond its AGENTS.md import.
|
|
5
|
+
* against contexture.yaml's declared list.
|
|
9
6
|
*/
|
|
10
7
|
export const BUILTIN_ADAPTERS = [githubForgeAdapter, claudeCodeHarnessAdapter];
|
|
11
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/builtin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAGrE
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/builtin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAGrE;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAuB,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC"}
|
package/dist/adapters/types.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Reserved shape for the adapters capability's single contract, covering the
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* two v1 kinds — harness-generation, forge (a search kind is deferred to v2
|
|
4
|
+
* alongside the visibility-field naming decision).
|
|
5
5
|
*
|
|
6
6
|
* Phase 2.5 ships a concrete GitHub forge adapter six phases before Phase 8.2
|
|
7
7
|
* formally defines discovery. Reserving this shape now means Phase 2 builds
|
|
8
8
|
* against it instead of inventing its own registration mechanism, and
|
|
9
9
|
* Phase 8 extends this rather than retrofitting Phase 2's adapter into it.
|
|
10
10
|
*/
|
|
11
|
-
export type AdapterKind = 'harness-generation' | '
|
|
11
|
+
export type AdapterKind = 'harness-generation' | 'forge';
|
|
12
12
|
export interface Adapter<K extends AdapterKind = AdapterKind> {
|
|
13
13
|
kind: K;
|
|
14
14
|
id: string;
|
|
@@ -49,17 +49,6 @@ export interface HarnessGenerationAdapter extends Adapter<'harness-generation'>
|
|
|
49
49
|
}): Record<string, unknown>;
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
|
-
/**
|
|
53
|
-
* An identity-injection adapter delivers the store's canonical identity
|
|
54
|
-
* content (agent-identity spec) into a harness's runtime — by reference
|
|
55
|
-
* (an import, a symlink, a config entry), never by copying the canonical
|
|
56
|
-
* files' content into the harness-specific file.
|
|
57
|
-
*/
|
|
58
|
-
export interface IdentityInjectionAdapter extends Adapter<'identity-injection'> {
|
|
59
|
-
/** The file this adapter writes its injection reference into, relative to the store root. */
|
|
60
|
-
entryFileName: string;
|
|
61
|
-
render(identityFilePaths: readonly string[]): string[];
|
|
62
|
-
}
|
|
63
52
|
/**
|
|
64
53
|
* Maps each adapter kind to its full, kind-specific interface — so a
|
|
65
54
|
* registry lookup by kind returns something with that kind's real methods
|
|
@@ -67,7 +56,6 @@ export interface IdentityInjectionAdapter extends Adapter<'identity-injection'>
|
|
|
67
56
|
*/
|
|
68
57
|
export interface AdapterForKind {
|
|
69
58
|
'harness-generation': HarnessGenerationAdapter;
|
|
70
|
-
'identity-injection': IdentityInjectionAdapter;
|
|
71
59
|
forge: import('./forge/types.js').ForgeAdapter;
|
|
72
60
|
}
|
|
73
61
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG,oBAAoB,GAAG,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG,oBAAoB,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IAC1D,IAAI,EAAE,CAAC,CAAC;IACR,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAI3E,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,wBAAyB,SAAQ,OAAO,CAAC,oBAAoB,CAAC;IAC7E,oGAAoG;IACpG,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvC,kFAAkF;IAClF,gBAAgB,CAAC,EAAE;QACjB,iEAAiE;QACjE,IAAI,EAAE,MAAM,CAAC;QACb;;;;;;WAMG;QACH,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,aAAa,EAAE,MAAM,CAAA;SAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClF,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,oBAAoB,EAAE,wBAAwB,CAAC;IAC/C,KAAK,EAAE,OAAO,kBAAkB,EAAE,YAAY,CAAC;CAChD"}
|
package/dist/adapters/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAkBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAgC;IAC9E,oBAAoB,EAAE,CAAC;IACvB,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAkBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAgC;IAC9E,oBAAoB,EAAE,CAAC;IACvB,oGAAoG;IACpG,KAAK,EAAE,CAAC;CACT,CAAC"}
|
|
@@ -11,11 +11,9 @@ export interface AdaptersGenerateData {
|
|
|
11
11
|
/**
|
|
12
12
|
* adapters spec / task 8.3-8.4: every configured harness-generation adapter
|
|
13
13
|
* gets its entry file's fenced region (re)written from `render()`, and,
|
|
14
|
-
* for a harness that supports it, its permission config merged in
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* same physical file (the common case: one harness's own entry file) never
|
|
18
|
-
* collide, because each owns a distinctly-named fence.
|
|
14
|
+
* for a harness that supports it, its permission config merged in. Two
|
|
15
|
+
* adapters targeting the same physical file (the common case: one harness's
|
|
16
|
+
* own entry file) never collide, because each owns a distinctly-named fence.
|
|
19
17
|
*/
|
|
20
18
|
/** The generation itself, shared with `ctxr update`. */
|
|
21
19
|
export declare function generateAdapterOutputs(store: Store): Promise<AdaptersGenerateFileResult[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters-generate.d.ts","sourceRoot":"","sources":["../../src/commands/adapters-generate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"adapters-generate.d.ts","sourceRoot":"","sources":["../../src/commands/adapters-generate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAO1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,eAAuC,CAAC;AAE/D,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,0BAA0B,EAAE,CAAC;CACrC;AAMD;;;;;;GAMG;AACH,wDAAwD;AACxD,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,0BAA0B,EAAE,CAAC,CA4BhG;AAED,wBAAsB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAWzF"}
|
|
@@ -3,24 +3,18 @@ import { configuredAdapters } from '../adapters/registry.js';
|
|
|
3
3
|
import { agentsMdPath } from '../core/agents-doc.js';
|
|
4
4
|
import { ExitCode } from '../core/exit-codes.js';
|
|
5
5
|
import { upsertFencedRegionInFile } from '../core/fs/fenced-region.js';
|
|
6
|
-
import { identityFilePaths } from '../core/identity.js';
|
|
7
6
|
import { mergeJsonArrayLists } from '../core/json-config-merge.js';
|
|
8
7
|
import { htmlCommentFence } from '../core/markers.js';
|
|
9
8
|
export const requires = { store: 'required' };
|
|
10
9
|
function harnessEntryFence(adapterId) {
|
|
11
10
|
return htmlCommentFence(`adapter:${adapterId}:harness-entry`);
|
|
12
11
|
}
|
|
13
|
-
function identityInjectionFence(adapterId) {
|
|
14
|
-
return htmlCommentFence(`adapter:${adapterId}:identity`);
|
|
15
|
-
}
|
|
16
12
|
/**
|
|
17
13
|
* adapters spec / task 8.3-8.4: every configured harness-generation adapter
|
|
18
14
|
* gets its entry file's fenced region (re)written from `render()`, and,
|
|
19
|
-
* for a harness that supports it, its permission config merged in
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* same physical file (the common case: one harness's own entry file) never
|
|
23
|
-
* collide, because each owns a distinctly-named fence.
|
|
15
|
+
* for a harness that supports it, its permission config merged in. Two
|
|
16
|
+
* adapters targeting the same physical file (the common case: one harness's
|
|
17
|
+
* own entry file) never collide, because each owns a distinctly-named fence.
|
|
24
18
|
*/
|
|
25
19
|
/** The generation itself, shared with `ctxr update`. */
|
|
26
20
|
export async function generateAdapterOutputs(store) {
|
|
@@ -39,12 +33,6 @@ export async function generateAdapterOutputs(store) {
|
|
|
39
33
|
files.push({ path: adapter.permissionConfig.path, changed: permChanged });
|
|
40
34
|
}
|
|
41
35
|
}
|
|
42
|
-
const identityPaths = identityFilePaths(store.config);
|
|
43
|
-
for (const adapter of configuredAdapters(store.config, 'identity-injection')) {
|
|
44
|
-
const entryPath = path.join(store.root, adapter.entryFileName);
|
|
45
|
-
const { changed } = await upsertFencedRegionInFile(entryPath, identityInjectionFence(adapter.id), adapter.render(identityPaths));
|
|
46
|
-
files.push({ path: adapter.entryFileName, changed });
|
|
47
|
-
}
|
|
48
36
|
return files;
|
|
49
37
|
}
|
|
50
38
|
export async function execute(store) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters-generate.js","sourceRoot":"","sources":["../../src/commands/adapters-generate.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"adapters-generate.js","sourceRoot":"","sources":["../../src/commands/adapters-generate.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAc,MAAM,oBAAoB,CAAC;AAGlE,MAAM,CAAC,MAAM,QAAQ,GAAoB,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAW/D,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,OAAO,gBAAgB,CAAC,WAAW,SAAS,gBAAgB,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,wDAAwD;AACxD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAAY;IACvD,MAAM,KAAK,GAAiC,EAAE,CAAC;IAE/C,KAAK,MAAM,OAAO,IAAI,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,CAAC;QAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,wBAAwB,CAChD,SAAS,EACT,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,EAC7B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CACzC,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;QAErD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBAC5C,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc;aACnD,CAAC,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,mBAAmB,CACxD,QAAQ,EACR,KAA0D,CAC3D,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5E,CAAC;IAEH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAY;IACxC,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC3D,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,EAAE;QACrB,IAAI,EAAE,EAAE,KAAK,EAAE;QACf,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,sBAAsB,YAAY,qBAAqB,KAAK,CAAC,MAAM,GAAG,YAAY,sBAAsB;QACtH,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc;KAC3C,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAyB1E,OAAO,EAAmE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAYhI,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAgB5D,eAAO,MAAM,QAAQ,EAAE,eAAqC,CAAC;AAE7D,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE;QAAE,kBAAkB,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC3F,wFAAwF;IACxF,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC;IACpE,cAAc,EAAE,MAAM,CAAC;CACxB;AAqMD,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAY9F"}
|
package/dist/commands/init.js
CHANGED
|
@@ -3,12 +3,11 @@ import { mkdir, readFile } from 'node:fs/promises';
|
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { parse as parseYaml } from 'yaml';
|
|
5
5
|
import { z } from 'zod';
|
|
6
|
-
import { DEFAULT_ADAPTERS, DEFAULT_ARCHIVE_PATH, DEFAULT_ROLLUP_STALE_DAYS, DEFAULT_CATALOG_PATH, DEFAULT_CATALOG_SECTION_MAX_BYTES, DEFAULT_CONVENTIONS_PATH, DEFAULT_DERIVED_PATHS, DEFAULT_DIFF_SIZE_CEILING_LINES, DEFAULT_EXCLUDE_PATHS, DEFAULT_HARD_WALLS,
|
|
6
|
+
import { DEFAULT_ADAPTERS, DEFAULT_ARCHIVE_PATH, DEFAULT_ROLLUP_STALE_DAYS, DEFAULT_CATALOG_PATH, DEFAULT_CATALOG_SECTION_MAX_BYTES, DEFAULT_CONVENTIONS_PATH, DEFAULT_DERIVED_PATHS, DEFAULT_DIFF_SIZE_CEILING_LINES, DEFAULT_EXCLUDE_PATHS, DEFAULT_HARD_WALLS, DEFAULT_INBOX_PATH, DEFAULT_TRACKING_PARAMS, DEFAULT_INTERNAL_AUDIENCES, DEFAULT_PROCEDURES_PATH, DEFAULT_RELATIONS, DEFAULT_GRAPH_SETTINGS, DEFAULT_SESSION_BRANCH_PREFIX, DEFAULT_VISIBILITY_CONTEXT, DEFAULT_VISIBILITY_FIELD_KEY, DEFAULT_WORKTREES_PATH, } from '../config/defaults.js';
|
|
7
7
|
import { configPathFor, readConfig } from '../config/load.js';
|
|
8
8
|
import { renderStoreConfig } from '../config/render.js';
|
|
9
9
|
import { SUPPORTED_SCHEMA_VERSION, TaxonomyLayerSchema } from '../config/schema.js';
|
|
10
|
-
import { buildAgentsCanonicalSection, buildAgentsCaptureSection, buildAgentsConventionsSection,
|
|
11
|
-
import { ensureIdentityFiles } from '../core/identity.js';
|
|
10
|
+
import { buildAgentsCanonicalSection, buildAgentsCaptureSection, buildAgentsConventionsSection, buildAgentsLegRoutingSection, buildAgentsPlacementSection, agentsMdPath, } from '../core/agents-doc.js';
|
|
12
11
|
import { syncShippedSkills } from '../core/procedures.js';
|
|
13
12
|
import { reconcileStore, WORKTREES_GITIGNORE_FENCE } from '../core/reconcile.js';
|
|
14
13
|
import { isInteractive } from '../core/env.js';
|
|
@@ -134,7 +133,6 @@ async function runInitCore(env, flags) {
|
|
|
134
133
|
disclosure: { internal_audiences: [...DEFAULT_INTERNAL_AUDIENCES], hard_walls: [...DEFAULT_HARD_WALLS], leak_markers: {} },
|
|
135
134
|
ingest: { inbox_path: DEFAULT_INBOX_PATH, tracking_params: [...DEFAULT_TRACKING_PARAMS] },
|
|
136
135
|
organize: { archive_path: DEFAULT_ARCHIVE_PATH, rollup_stale_days: DEFAULT_ROLLUP_STALE_DAYS },
|
|
137
|
-
identity: { path: DEFAULT_IDENTITY_PATH, files: {}, entry_delimiter: '' },
|
|
138
136
|
harness: { procedures_path: DEFAULT_PROCEDURES_PATH, conventions_path: DEFAULT_CONVENTIONS_PATH },
|
|
139
137
|
adapters: [...DEFAULT_ADAPTERS],
|
|
140
138
|
};
|
|
@@ -147,10 +145,8 @@ async function runInitCore(env, flags) {
|
|
|
147
145
|
await buildAgentsLegRoutingSection(root, config);
|
|
148
146
|
await buildAgentsCaptureSection(root, config);
|
|
149
147
|
await buildAgentsPlacementSection(root, config);
|
|
150
|
-
const identityFilesCreated = await ensureIdentityFiles(root, config);
|
|
151
148
|
const procedureFilesCreated = await syncShippedSkills(root, config);
|
|
152
149
|
await buildAgentsCanonicalSection(root, config);
|
|
153
|
-
await buildAgentsIdentitySection(root, config);
|
|
154
150
|
await buildAgentsConventionsSection(root, config);
|
|
155
151
|
// One directory per configured layer with a .gitkeep — makes Zettelkasten's
|
|
156
152
|
// zero-layer shape visibly different from PARA's at a glance. This is a
|
|
@@ -169,13 +165,13 @@ async function runInitCore(env, flags) {
|
|
|
169
165
|
const { changed: hookFiles } = await installHooks(root, defaultBranch);
|
|
170
166
|
await configureHooksPath(env.git, root);
|
|
171
167
|
const relConfigPath = path.relative(root, configPath);
|
|
172
|
-
await addPaths(env.git, root, [relConfigPath, '.gitignore', path.relative(root, agentsMdPath(root)), ...layerGitkeeps, ...
|
|
168
|
+
await addPaths(env.git, root, [relConfigPath, '.gitignore', path.relative(root, agentsMdPath(root)), ...layerGitkeeps, ...procedureFilesCreated, ...hookFiles]);
|
|
173
169
|
const commitSha = await commitIfStaged(env.git, root, { kind: 'bootstrap' }, 'chore: initialize contexture store');
|
|
174
170
|
return {
|
|
175
171
|
data: {
|
|
176
172
|
root,
|
|
177
173
|
already_initialized: false,
|
|
178
|
-
created: [relConfigPath, '.gitignore', path.relative(root, agentsMdPath(root)), ...layerGitkeeps, ...
|
|
174
|
+
created: [relConfigPath, '.gitignore', path.relative(root, agentsMdPath(root)), ...layerGitkeeps, ...procedureFilesCreated, ...hookFiles],
|
|
179
175
|
unchanged: [],
|
|
180
176
|
git: { repository_created: !repositoryAlreadyExists, commit: commitSha, default_branch: defaultBranch },
|
|
181
177
|
taxonomy: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,iCAAiC,EACjC,wBAAwB,EACxB,qBAAqB,EACrB,+BAA+B,EAC/B,qBAAqB,EACrB,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,6 @@ export interface SessionCaptureFlags {
|
|
|
7
7
|
export type CaptureOutcomeKind = 'wrote' | 'appended' | 'refused';
|
|
8
8
|
export interface CaptureItemReport {
|
|
9
9
|
id: string;
|
|
10
|
-
kind: 'note' | 'world_facts' | 'user_facts';
|
|
11
10
|
path?: string;
|
|
12
11
|
outcome: CaptureOutcomeKind;
|
|
13
12
|
reason?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-capture.d.ts","sourceRoot":"","sources":["../../src/commands/session-capture.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-capture.d.ts","sourceRoot":"","sources":["../../src/commands/session-capture.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAgB9C,eAAO,MAAM,QAAQ,EAAE,eAAuC,CAAC;AAE/D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAeD,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B;AAyCD;;;;;GAKG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CA8CnH"}
|
|
@@ -2,11 +2,23 @@ import { existsSync } from 'node:fs';
|
|
|
2
2
|
import { mkdir, readFile } from 'node:fs/promises';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
|
|
5
|
+
import { z } from 'zod';
|
|
5
6
|
import { ExitCode } from '../core/exit-codes.js';
|
|
6
7
|
import { InvalidCaptureProposalError } from '../core/errors.js';
|
|
7
8
|
import { writeFileAtomic } from '../core/fs/atomic.js';
|
|
8
|
-
import { addIdentityEntry, removeIdentityEntry, replaceIdentityEntry } from '../core/identity.js';
|
|
9
9
|
import { sanctionedPath } from '../core/write-lifecycle/path-gate.js';
|
|
10
|
+
/**
|
|
11
|
+
* session-capture-command spec (D2): every note item is validated and
|
|
12
|
+
* applied independently by `applyNote` — one bad item is a per-item
|
|
13
|
+
* 'refused' outcome, never a whole-proposal rejection. So this schema only
|
|
14
|
+
* enforces the TOP-LEVEL shape (no unsupported key, `notes` an array if
|
|
15
|
+
* present) and deliberately leaves each item as `unknown` — item shape
|
|
16
|
+
* stays applyNote's job. remove-agent-identity: replaces a hand-rolled
|
|
17
|
+
* `Object.keys()` filter that a non-object top-level YAML document (e.g. a
|
|
18
|
+
* bare scalar) could bypass, since `Object.keys()` on a primitive returns
|
|
19
|
+
* `[]`; `z.object(...).strict()` rejects a non-object input outright.
|
|
20
|
+
*/
|
|
21
|
+
const CaptureProposalSchema = z.object({ notes: z.array(z.unknown()).optional() }).strict();
|
|
10
22
|
export const requires = { store: 'required' };
|
|
11
23
|
/**
|
|
12
24
|
* session-capture-command spec (D1): the proposal file is the contract
|
|
@@ -22,56 +34,30 @@ function renderNote(frontmatter, body) {
|
|
|
22
34
|
}
|
|
23
35
|
async function applyNote(store, id, item) {
|
|
24
36
|
if (item.mode !== 'create' && item.mode !== 'append') {
|
|
25
|
-
return { id,
|
|
37
|
+
return { id, path: item.path, outcome: 'refused', reason: 'mode must be "create" or "append"' };
|
|
26
38
|
}
|
|
27
39
|
const gate = await sanctionedPath(store.config, store.root, item.path);
|
|
28
40
|
if (!gate.ok) {
|
|
29
|
-
return { id,
|
|
41
|
+
return { id, path: item.path, outcome: 'refused', reason: gate.reason };
|
|
30
42
|
}
|
|
31
43
|
const absolutePath = path.join(store.root, item.path);
|
|
32
44
|
const exists = existsSync(absolutePath);
|
|
33
45
|
if (item.mode === 'create') {
|
|
34
46
|
if (exists)
|
|
35
|
-
return { id,
|
|
47
|
+
return { id, path: item.path, outcome: 'refused', reason: 'already exists; use mode: append' };
|
|
36
48
|
const frontmatter = { ...item.frontmatter };
|
|
37
49
|
if (item.visibility !== undefined)
|
|
38
50
|
frontmatter[store.config.fields.visibility] = item.visibility;
|
|
39
51
|
await mkdir(path.dirname(absolutePath), { recursive: true });
|
|
40
52
|
await writeFileAtomic(absolutePath, renderNote(frontmatter, item.body));
|
|
41
|
-
return { id,
|
|
53
|
+
return { id, path: item.path, outcome: 'wrote' };
|
|
42
54
|
}
|
|
43
55
|
if (!exists)
|
|
44
|
-
return { id,
|
|
56
|
+
return { id, path: item.path, outcome: 'refused', reason: 'append target does not exist' };
|
|
45
57
|
const existing = await readFile(absolutePath, 'utf8');
|
|
46
58
|
const separator = existing.length > 0 && !existing.endsWith('\n') ? '\n' : '';
|
|
47
59
|
await writeFileAtomic(absolutePath, `${existing}${separator}${item.body}`);
|
|
48
|
-
return { id,
|
|
49
|
-
}
|
|
50
|
-
async function applyIdentityDelta(store, id, kind, role, item) {
|
|
51
|
-
try {
|
|
52
|
-
if (item.action === 'add') {
|
|
53
|
-
if (item.text === undefined)
|
|
54
|
-
throw new Error('action "add" requires text');
|
|
55
|
-
const result = await addIdentityEntry(store.root, store.config, role, item.text);
|
|
56
|
-
return { id, kind, path: result.path, outcome: 'wrote' };
|
|
57
|
-
}
|
|
58
|
-
if (item.action === 'replace') {
|
|
59
|
-
if (item.text === undefined || item.match === undefined)
|
|
60
|
-
throw new Error('action "replace" requires text and match');
|
|
61
|
-
const result = await replaceIdentityEntry(store.root, store.config, role, item.match, item.text);
|
|
62
|
-
return { id, kind, path: result.path, outcome: 'wrote' };
|
|
63
|
-
}
|
|
64
|
-
if (item.action === 'remove') {
|
|
65
|
-
if (item.match === undefined)
|
|
66
|
-
throw new Error('action "remove" requires match');
|
|
67
|
-
const result = await removeIdentityEntry(store.root, store.config, role, item.match);
|
|
68
|
-
return { id, kind, path: result.path, outcome: 'wrote' };
|
|
69
|
-
}
|
|
70
|
-
throw new Error(`unknown action "${item.action}"`);
|
|
71
|
-
}
|
|
72
|
-
catch (err) {
|
|
73
|
-
return { id, kind, outcome: 'refused', reason: err instanceof Error ? err.message : String(err) };
|
|
74
|
-
}
|
|
60
|
+
return { id, path: item.path, outcome: 'appended' };
|
|
75
61
|
}
|
|
76
62
|
/**
|
|
77
63
|
* session-capture-command spec (D2): every item is validated and applied
|
|
@@ -87,23 +73,29 @@ export async function execute(store, flags) {
|
|
|
87
73
|
catch (err) {
|
|
88
74
|
throw new InvalidCaptureProposalError(flags.proposal, err instanceof Error ? err.message : String(err));
|
|
89
75
|
}
|
|
90
|
-
let
|
|
76
|
+
let rawProposal;
|
|
91
77
|
try {
|
|
92
|
-
|
|
78
|
+
rawProposal = parseYaml(raw) ?? {};
|
|
93
79
|
}
|
|
94
80
|
catch (err) {
|
|
95
81
|
throw new InvalidCaptureProposalError(flags.proposal, err instanceof Error ? err.message : String(err));
|
|
96
82
|
}
|
|
83
|
+
// remove-agent-identity: a proposal built for the pre-removal contract may still
|
|
84
|
+
// declare world_facts/user_facts — reject loudly rather than silently drop items
|
|
85
|
+
// the caller thought were being applied.
|
|
86
|
+
const result = CaptureProposalSchema.safeParse(rawProposal);
|
|
87
|
+
if (!result.success) {
|
|
88
|
+
const issues = result.error.issues.map((issue) => ({
|
|
89
|
+
path: issue.path.join('.') || '(root)',
|
|
90
|
+
message: issue.message,
|
|
91
|
+
}));
|
|
92
|
+
throw new InvalidCaptureProposalError(flags.proposal, issues);
|
|
93
|
+
}
|
|
94
|
+
const proposal = result.data;
|
|
97
95
|
const items = [];
|
|
98
96
|
for (const [index, item] of (proposal.notes ?? []).entries()) {
|
|
99
97
|
items.push(await applyNote(store, item.id ?? `notes[${index}]`, item));
|
|
100
98
|
}
|
|
101
|
-
for (const [index, item] of (proposal.world_facts ?? []).entries()) {
|
|
102
|
-
items.push(await applyIdentityDelta(store, item.id ?? `world_facts[${index}]`, 'world_facts', 'world-facts', item));
|
|
103
|
-
}
|
|
104
|
-
for (const [index, item] of (proposal.user_facts ?? []).entries()) {
|
|
105
|
-
items.push(await applyIdentityDelta(store, item.id ?? `user_facts[${index}]`, 'user_facts', 'user-facts', item));
|
|
106
|
-
}
|
|
107
99
|
const refused = items.filter((item) => item.outcome === 'refused');
|
|
108
100
|
const written = items.filter((item) => item.outcome === 'wrote' || item.outcome === 'appended');
|
|
109
101
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-capture.js","sourceRoot":"","sources":["../../src/commands/session-capture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"session-capture.js","sourceRoot":"","sources":["../../src/commands/session-capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,12 +25,10 @@ export declare const DEFAULT_VISIBILITY_CONTEXT = "private";
|
|
|
25
25
|
/**
|
|
26
26
|
* context-store spec (contexture-home-layout): `.contexture/` is the tool's
|
|
27
27
|
* home directory. Only its cache subpath is derived/gitignored — the
|
|
28
|
-
* catalog
|
|
29
|
-
*
|
|
28
|
+
* catalog and procedure subdirectories are authored-but-tool-owned and stay
|
|
29
|
+
* tracked.
|
|
30
30
|
*/
|
|
31
31
|
export declare const DEFAULT_DERIVED_PATHS: readonly ['.contexture/cache/'];
|
|
32
|
-
/** agent-identity spec: canonical identity files live here, excluded from every retrieval leg. */
|
|
33
|
-
export declare const DEFAULT_IDENTITY_PATH = ".contexture/identity/";
|
|
34
32
|
/**
|
|
35
33
|
* harness-portability spec (entry-doc-generation D5): contexture-owned
|
|
36
34
|
* skills are copied here (`<slug>/SKILL.md`), defaulting to the directory
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEtE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,4BAA4B,SAAS,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,UAAU,CAAC;AAEtD,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,YAAY,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,YAAI,oBAAoB,CAAU,CAAC;AAErE
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEtE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,4BAA4B,SAAS,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,UAAU,CAAC;AAEtD,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,YAAY,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,YAAI,oBAAoB,CAAU,CAAC;AAErE;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AAEzD,gHAAgH;AAChH,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAEnE,0DAA0D;AAC1D,eAAO,MAAM,qBAAqB,YAAI,cAAc,CAAU,CAAC;AAE/D,oHAAoH;AACpH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAAO,CAAC;AAEvD,8HAA8H;AAC9H,eAAO,MAAM,sBAAsB;IACjC,aAAa;IACb,OAAO;IACP,UAAU;IACV,sBAAsB,EAAQ,MAAM,EAAE;CACvC,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,sBAAsB,gBAAgB,CAAC;AAEpD,8FAA8F;AAC9F,eAAO,MAAM,6BAA6B,aAAa,CAAC;AAExD,oFAAoF;AACpF,eAAO,MAAM,+BAA+B,OAAO,CAAC;AAEpD,2HAA2H;AAC3H,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D,6GAA6G;AAC7G,eAAO,MAAM,iCAAiC,QAAY,CAAC;AAE3D,8JAA8J;AAC9J,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAAO,CAAC;AAChE,eAAO,MAAM,kBAAkB,EAAE,SAAS,cAAc,EAAO,CAAC;AAEhE,uGAAuG;AACvG,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,gJAAgJ;AAChJ,eAAO,MAAM,uBAAuB,UAA6F,CAAC;AAElI,4FAA4F;AAC5F,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAE/C,iHAAiH;AACjH,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,kBAAkB,EAGzD,CAAC"}
|
package/dist/config/defaults.js
CHANGED
|
@@ -24,12 +24,10 @@ export const DEFAULT_VISIBILITY_CONTEXT = 'private';
|
|
|
24
24
|
/**
|
|
25
25
|
* context-store spec (contexture-home-layout): `.contexture/` is the tool's
|
|
26
26
|
* home directory. Only its cache subpath is derived/gitignored — the
|
|
27
|
-
* catalog
|
|
28
|
-
*
|
|
27
|
+
* catalog and procedure subdirectories are authored-but-tool-owned and stay
|
|
28
|
+
* tracked.
|
|
29
29
|
*/
|
|
30
30
|
export const DEFAULT_DERIVED_PATHS = ['.contexture/cache/'];
|
|
31
|
-
/** agent-identity spec: canonical identity files live here, excluded from every retrieval leg. */
|
|
32
|
-
export const DEFAULT_IDENTITY_PATH = '.contexture/identity/';
|
|
33
31
|
/**
|
|
34
32
|
* harness-portability spec (entry-doc-generation D5): contexture-owned
|
|
35
33
|
* skills are copied here (`<slug>/SKILL.md`), defaulting to the directory
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,OAAO,CAAC;AAEtD,gFAAgF;AAChF,MAAM,CAAC,MAAM,0BAA0B,GAAG,SAAS,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,oBAAoB,CAAU,CAAC;AAErE
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,OAAO,CAAC;AAEtD,gFAAgF;AAChF,MAAM,CAAC,MAAM,0BAA0B,GAAG,SAAS,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,oBAAoB,CAAU,CAAC;AAErE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;AAEzD,gHAAgH;AAChH,MAAM,CAAC,MAAM,wBAAwB,GAAG,0BAA0B,CAAC;AAEnE,0DAA0D;AAC1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,cAAc,CAAU,CAAC;AAE/D,oHAAoH;AACpH,MAAM,CAAC,MAAM,iBAAiB,GAAsB,EAAE,CAAC;AAEvD,8HAA8H;AAC9H,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,aAAa,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,EAAE;IACd,sBAAsB,EAAE,EAAc;CACvC,CAAC;AAEF,wFAAwF;AACxF,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAC;AAEpD,8FAA8F;AAC9F,MAAM,CAAC,MAAM,6BAA6B,GAAG,UAAU,CAAC;AAExD,oFAAoF;AACpF,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,CAAC;AAEpD,2HAA2H;AAC3H,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D,6GAA6G;AAC7G,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3D,8JAA8J;AAC9J,MAAM,CAAC,MAAM,0BAA0B,GAAsB,EAAE,CAAC;AAChE,MAAM,CAAC,MAAM,kBAAkB,GAA8B,EAAE,CAAC;AAEhE,uGAAuG;AACvG,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE3C,gJAAgJ;AAChJ,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAElI,4FAA4F;AAC5F,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAE/C,iHAAiH;AACjH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAkC;IAC7D,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;IAC/B,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB,EAAE;CAClD,CAAC"}
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -51,7 +51,6 @@ declare const AdapterDeclarationSchema: z.ZodObject<{
|
|
|
51
51
|
kind: z.ZodEnum<{
|
|
52
52
|
forge: "forge";
|
|
53
53
|
"harness-generation": "harness-generation";
|
|
54
|
-
"identity-injection": "identity-injection";
|
|
55
54
|
}>;
|
|
56
55
|
module: z.ZodOptional<z.ZodString>;
|
|
57
56
|
}, z.core.$strip>;
|
|
@@ -123,15 +122,6 @@ export declare const StoreConfigSchema: z.ZodObject<{
|
|
|
123
122
|
archive_path: z.ZodString;
|
|
124
123
|
rollup_stale_days: z.ZodDefault<z.ZodNumber>;
|
|
125
124
|
}, z.core.$strip>;
|
|
126
|
-
identity: z.ZodObject<{
|
|
127
|
-
path: z.ZodString;
|
|
128
|
-
files: z.ZodDefault<z.ZodObject<{
|
|
129
|
-
posture: z.ZodOptional<z.ZodString>;
|
|
130
|
-
'world-facts': z.ZodOptional<z.ZodString>;
|
|
131
|
-
'user-facts': z.ZodOptional<z.ZodString>;
|
|
132
|
-
}, z.core.$strip>>;
|
|
133
|
-
entry_delimiter: z.ZodDefault<z.ZodString>;
|
|
134
|
-
}, z.core.$strip>;
|
|
135
125
|
harness: z.ZodObject<{
|
|
136
126
|
procedures_path: z.ZodString;
|
|
137
127
|
conventions_path: z.ZodDefault<z.ZodString>;
|
|
@@ -141,7 +131,6 @@ export declare const StoreConfigSchema: z.ZodObject<{
|
|
|
141
131
|
kind: z.ZodEnum<{
|
|
142
132
|
forge: "forge";
|
|
143
133
|
"harness-generation": "harness-generation";
|
|
144
|
-
"identity-injection": "identity-injection";
|
|
145
134
|
}>;
|
|
146
135
|
module: z.ZodOptional<z.ZodString>;
|
|
147
136
|
}, z.core.$strip>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AAqCH;;;;;;GAMG;AACH,QAAA,MAAM,mBAAmB;;;;;iBAKvB,CAAC;AAmCH;;;;;GAKG;AACH,QAAA,MAAM,cAAc;;;;;;;;;iBAQlB,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AAqCH;;;;;;GAMG;AACH,QAAA,MAAM,mBAAmB;;;;;iBAKvB,CAAC;AAmCH;;;;;GAKG;AACH,QAAA,MAAM,cAAc;;;;;;;;;iBAQlB,CAAC;AAuCH,QAAA,MAAM,wBAAwB;;;;;;;iBAI5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkBd,CAAC;AAEjB,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC5D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
|