@duckmind/dm-darwin-x64 0.36.5 → 0.36.8

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.
Files changed (110) hide show
  1. package/dm +0 -0
  2. package/extensions/.dm-extensions.json +1 -1
  3. package/extensions/dm-9router-ext/package.json +1 -1
  4. package/extensions/dm-9router-ext/src/index.ts +1 -1
  5. package/extensions/dm-ask-user/README.md +3 -3
  6. package/extensions/dm-ask-user/index.ts +2 -2
  7. package/extensions/dm-ask-user/package.json +4 -4
  8. package/extensions/dm-cli-anything/package.json +1 -1
  9. package/extensions/dm-context/package.json +1 -1
  10. package/extensions/dm-context/src/context.ts +2 -2
  11. package/extensions/dm-context/src/index.ts +3 -3
  12. package/extensions/dm-cua/package.json +2 -2
  13. package/extensions/dm-goal/package.json +6 -6
  14. package/extensions/dm-goal/src/commands.ts +1 -1
  15. package/extensions/dm-goal/src/index.ts +1 -1
  16. package/extensions/dm-goal/src/tools.ts +2 -2
  17. package/extensions/dm-goal/test/index.test.ts +1 -1
  18. package/extensions/dm-image2/index.js +1 -1
  19. package/extensions/dm-image2/package.json +2 -2
  20. package/extensions/dm-image2/src/image-lib.mjs +1 -1
  21. package/extensions/dm-last30days/package.json +1 -1
  22. package/extensions/dm-subagents/CHANGELOG.md +2 -2
  23. package/extensions/dm-subagents/node_modules/.package-lock.json +9 -0
  24. package/extensions/dm-subagents/package-lock.json +136 -2935
  25. package/extensions/dm-subagents/package.json +6 -6
  26. package/extensions/dm-subagents/src/agent-manager.ts +2 -2
  27. package/extensions/dm-subagents/src/agent-record.ts +1 -1
  28. package/extensions/dm-subagents/src/agent-runner.ts +2 -2
  29. package/extensions/dm-subagents/src/context.ts +1 -1
  30. package/extensions/dm-subagents/src/custom-agents.ts +1 -1
  31. package/extensions/dm-subagents/src/execution-state.ts +1 -1
  32. package/extensions/dm-subagents/src/index.ts +2 -2
  33. package/extensions/dm-subagents/src/parent-snapshot.ts +1 -1
  34. package/extensions/dm-subagents/src/renderer.ts +1 -1
  35. package/extensions/dm-subagents/src/service-adapter.ts +1 -1
  36. package/extensions/dm-subagents/src/settings.ts +1 -1
  37. package/extensions/dm-subagents/src/skill-loader.ts +1 -1
  38. package/extensions/dm-subagents/src/tools/agent-tool.ts +2 -2
  39. package/extensions/dm-subagents/src/tools/foreground-runner.ts +1 -1
  40. package/extensions/dm-subagents/src/tools/get-result-tool.ts +1 -1
  41. package/extensions/dm-subagents/src/tools/spawn-config.ts +1 -1
  42. package/extensions/dm-subagents/src/tools/steer-tool.ts +1 -1
  43. package/extensions/dm-subagents/src/types.ts +1 -1
  44. package/extensions/dm-subagents/src/ui/agent-config-editor.ts +1 -1
  45. package/extensions/dm-subagents/src/ui/agent-creation-wizard.ts +1 -1
  46. package/extensions/dm-subagents/src/ui/agent-menu.ts +1 -1
  47. package/extensions/dm-subagents/src/ui/conversation-viewer.ts +2 -2
  48. package/extensions/dm-subagents/src/ui/widget-renderer.ts +1 -1
  49. package/extensions/dm-subagents/test/agent-runner.test.ts +1 -1
  50. package/extensions/dm-subagents/test/conversation-viewer.test.ts +6 -6
  51. package/extensions/dm-subagents/test/custom-agents.test.ts +6 -6
  52. package/extensions/dm-subagents/test/helpers/mock-session.ts +1 -1
  53. package/extensions/dm-subagents/test/helpers/stub-ctx.ts +1 -1
  54. package/extensions/dm-subagents/test/parent-snapshot.test.ts +1 -1
  55. package/extensions/dm-subagents/test/settings.test.ts +5 -5
  56. package/extensions/dm-subagents/test/skill-loader.test.ts +5 -5
  57. package/extensions/dm-subagents/test/unit/subagent-contract.test.ts +5 -3
  58. package/extensions/dm-tasks/node_modules/.package-lock.json +3 -3
  59. package/extensions/dm-tasks/node_modules/typebox/build/type/action/conditional.d.mts +2 -3
  60. package/extensions/dm-tasks/node_modules/typebox/build/type/action/conditional.mjs +2 -1
  61. package/extensions/dm-tasks/node_modules/typebox/build/type/action/mapped.d.mts +2 -3
  62. package/extensions/dm-tasks/node_modules/typebox/build/type/action/mapped.mjs +2 -1
  63. package/extensions/dm-tasks/node_modules/typebox/build/type/engine/call/instantiate.d.mts +1 -3
  64. package/extensions/dm-tasks/node_modules/typebox/build/type/engine/call/instantiate.mjs +3 -2
  65. package/extensions/dm-tasks/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.d.mts +3 -4
  66. package/extensions/dm-tasks/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.mjs +2 -1
  67. package/extensions/dm-tasks/node_modules/typebox/build/type/engine/cyclic/instantiate.d.mts +2 -5
  68. package/extensions/dm-tasks/node_modules/typebox/build/type/engine/cyclic/instantiate.mjs +3 -2
  69. package/extensions/dm-tasks/node_modules/typebox/build/type/engine/instantiate.d.mts +5 -5
  70. package/extensions/dm-tasks/node_modules/typebox/build/type/engine/instantiate.mjs +4 -1
  71. package/extensions/dm-tasks/node_modules/typebox/build/type/engine/interface/instantiate.d.mts +3 -6
  72. package/extensions/dm-tasks/node_modules/typebox/build/type/engine/module/instantiate.d.mts +1 -3
  73. package/extensions/dm-tasks/node_modules/typebox/build/type/engine/module/instantiate.mjs +2 -1
  74. package/extensions/dm-tasks/node_modules/typebox/build/type/engine/parameters/instantiate.d.mts +3 -4
  75. package/extensions/dm-tasks/node_modules/typebox/build/type/engine/parameters/instantiate.mjs +2 -1
  76. package/extensions/dm-tasks/node_modules/typebox/build/type/engine/ref/instantiate.d.mts +3 -3
  77. package/extensions/dm-tasks/node_modules/typebox/build/type/engine/ref/instantiate.mjs +6 -6
  78. package/extensions/dm-tasks/node_modules/typebox/build/type/extends/tuple.d.mts +3 -6
  79. package/extensions/dm-tasks/node_modules/typebox/build/type/extends/tuple.mjs +3 -2
  80. package/extensions/dm-tasks/node_modules/typebox/build/type/script/script.d.mts +3 -4
  81. package/extensions/dm-tasks/node_modules/typebox/build/type/script/script.mjs +3 -2
  82. package/extensions/dm-tasks/node_modules/typebox/build/type/types/call.d.mts +3 -3
  83. package/extensions/dm-tasks/node_modules/typebox/build/type/types/call.mjs +3 -2
  84. package/extensions/dm-tasks/node_modules/typebox/package.json +1 -1
  85. package/extensions/dm-tasks/package-lock.json +3 -3
  86. package/extensions/dm-tasks/src/index.ts +1 -1
  87. package/extensions/dm-tasks/src/ui/settings-menu.ts +2 -2
  88. package/extensions/dm-tasks/src/ui/task-widget.ts +1 -1
  89. package/extensions/dm-ultradex/AGENTS.md +2 -2
  90. package/extensions/dm-ultradex/account-manager.test.ts +1 -1
  91. package/extensions/dm-ultradex/account-manager.ts +1 -1
  92. package/extensions/dm-ultradex/auth.ts +1 -1
  93. package/extensions/dm-ultradex/browser.ts +1 -1
  94. package/extensions/dm-ultradex/commands.ts +4 -4
  95. package/extensions/dm-ultradex/extension.ts +2 -2
  96. package/extensions/dm-ultradex/index.test.ts +5 -3
  97. package/extensions/dm-ultradex/node_modules/.package-lock.json +9 -0
  98. package/extensions/dm-ultradex/package-lock.json +124 -2520
  99. package/extensions/dm-ultradex/package.json +7 -7
  100. package/extensions/dm-ultradex/provider.ts +2 -2
  101. package/extensions/dm-ultradex/refresh-race.test.ts +2 -2
  102. package/extensions/dm-ultradex/status.ts +4 -4
  103. package/extensions/dm-ultradex/stream-wrapper.ts +1 -1
  104. package/extensions/dm-usage/index.ts +3 -3
  105. package/extensions/dm-usage/package.json +4 -4
  106. package/extensions/greedysearch-dm/index.ts +1 -1
  107. package/extensions/greedysearch-dm/package-lock.json +2 -2
  108. package/extensions/greedysearch-dm/package.json +2 -2
  109. package/extensions/greedysearch-dm/src/tools/greedy-search-handler.ts +2 -2
  110. package/package.json +1 -1
@@ -6,12 +6,9 @@ import { type TCyclicDependencies } from '../cyclic/dependencies.mjs';
6
6
  import { type TInterfaceDeferred } from '../../action/index.mjs';
7
7
  import { type TInstantiateProperties } from '../instantiate.mjs';
8
8
  import { type TInstantiateTypes } from '../instantiate.mjs';
9
+ import { type TState } from '../instantiate.mjs';
9
10
  import { type TEvaluateIntersect } from '../evaluate/evaluate.mjs';
10
- type TCyclicInterface<Context extends TProperties, Heritage extends TSchema[], Properties extends TProperties, InstantiatedHeritage extends TSchema[] = TInstantiateTypes<Context, {
11
- callstack: [];
12
- }, Heritage>, instantiatedProperties extends TProperties = TInstantiateProperties<{}, {
13
- callstack: [];
14
- }, Properties>, EvaluatedInterface extends TSchema = TEvaluateIntersect<[...InstantiatedHeritage, TObject<instantiatedProperties>]>> = EvaluatedInterface;
11
+ type TCyclicInterface<Context extends TProperties, Heritage extends TSchema[], Properties extends TProperties, InstantiatedHeritage extends TSchema[] = TInstantiateTypes<Context, TState<[], []>, Heritage>, instantiatedProperties extends TProperties = TInstantiateProperties<{}, TState<[], []>, Properties>, EvaluatedInterface extends TSchema = TEvaluateIntersect<[...InstantiatedHeritage, TObject<instantiatedProperties>]>> = EvaluatedInterface;
15
12
  type TCyclicDefinitions<Context extends TProperties, Dependencies extends string[], Result extends TProperties = {
16
13
  [Key in Extract<keyof Context, Dependencies[number]>]: Context[Key] extends TInterfaceDeferred<infer Heritage extends TSchema[], infer Properties extends TProperties> ? TCyclicInterface<Context, Heritage, Properties> : Context[Key];
17
14
  }> = Result;
@@ -7,10 +7,11 @@ import { CyclicDependencies } from '../cyclic/dependencies.mjs';
7
7
  import { IsInterfaceDeferred } from '../../action/index.mjs';
8
8
  import { InstantiateProperties } from '../instantiate.mjs';
9
9
  import { InstantiateTypes } from '../instantiate.mjs';
10
+ import { State } from '../instantiate.mjs';
10
11
  import { EvaluateIntersect } from '../evaluate/evaluate.mjs';
11
12
  function CyclicInterface(context, heritage, properties) {
12
- const instantiatedHeritage = InstantiateTypes(context, { callstack: [] }, heritage);
13
- const instantiatedProperties = InstantiateProperties({}, { callstack: [] }, properties);
13
+ const instantiatedHeritage = InstantiateTypes(context, State([], []), heritage);
14
+ const instantiatedProperties = InstantiateProperties({}, State([], []), properties);
14
15
  const evaluatedInterface = EvaluateIntersect([...instantiatedHeritage, Object(instantiatedProperties)]);
15
16
  return evaluatedInterface;
16
17
  }
@@ -52,9 +52,11 @@ import { type TUncapitalizeInstantiate } from './intrinsics/instantiate.mjs';
52
52
  import { type TUppercaseInstantiate } from './intrinsics/instantiate.mjs';
53
53
  import { type TWithInstantiate } from './with/instantiate.mjs';
54
54
  import { type TRestSpread } from './rest/index.mjs';
55
- export interface TState {
56
- callstack: string[];
55
+ export interface TState<CallStack extends string[] = string[], Visited extends string[] = string[]> {
56
+ callstack: CallStack;
57
+ visited: Visited;
57
58
  }
59
+ export declare function State<CallStack extends string[], Visited extends string[]>(callstack: CallStack, visited: Visited): TState<CallStack, Visited>;
58
60
  export type TCanInstantiate<Types extends TSchema[]> = Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? Left extends TRef ? false : TCanInstantiate<Right> : true;
59
61
  export declare function CanInstantiate<Types extends TSchema[]>(types: [...Types]): TCanInstantiate<Types>;
60
62
  type ModifierAction = 'add' | 'remove' | 'none';
@@ -158,9 +160,7 @@ type TInstantiateDeferred<Context extends TProperties, State extends TState, Act
158
160
  export type TInstantiateType<Context extends TProperties, State extends TState, Input extends TSchema, Immutable extends boolean = Input extends TImmutable ? true : false, Modifiers extends [TSchema, ModifierAction, ModifierAction] = TModifierActions<Input, Input extends TReadonly<Input> ? 'add' : 'none', Input extends TOptional<Input> ? 'add' : 'none'>, Type extends TSchema = Modifiers[0], Instantiated extends TSchema = (Type extends TRef<infer Ref extends string> ? TRefInstantiate<Context, State, Type, Ref> : Type extends TArray<infer Type extends TSchema> ? TArray<TInstantiateType<Context, State, Type>> : Type extends TAsyncIterator<infer Type extends TSchema> ? TAsyncIterator<TInstantiateType<Context, State, Type>> : Type extends TCall<infer Target extends TSchema, infer Parameters extends TSchema[]> ? TCallInstantiate<Context, State, Target, Parameters> : Type extends TConstructor<infer Parameters extends TSchema[], infer InstanceType extends TSchema> ? TConstructor<TInstantiateTypes<Context, State, Parameters>, TInstantiateType<Context, State, InstanceType>> : Type extends TDeferred<infer Action extends string, infer Types extends TSchema[]> ? TInstantiateDeferred<Context, State, Action, Types> : Type extends TFunction<infer Parameters extends TSchema[], infer ReturnType extends TSchema> ? TFunction<TInstantiateTypes<Context, State, Parameters>, TInstantiateType<Context, State, ReturnType>> : Type extends TDependent<infer If extends TSchema, infer Then extends TSchema, infer Else extends TSchema> ? TDependent<TInstantiateType<Context, State, If>, TInstantiateType<Context, State, Then>, TInstantiateType<Context, State, Else>> : Type extends TIntersect<infer Types extends TSchema[]> ? TIntersect<TInstantiateTypes<Context, State, Types>> : Type extends TIterator<infer Type extends TSchema> ? TIterator<TInstantiateType<Context, State, Type>> : Type extends TObject<infer Properties extends TProperties> ? TObject<TInstantiateProperties<Context, State, Properties>> : Type extends TPromise<infer Type extends TSchema> ? TPromise<TInstantiateType<Context, State, Type>> : Type extends TRecord<infer Key extends string, infer Type extends TSchema> ? TRecord<Key, TInstantiateType<Context, State, Type>> : Type extends TRest<infer Type extends TSchema> ? TRest<TInstantiateType<Context, State, Type>> : Type extends TTuple<infer Types extends TSchema[]> ? TTuple<TInstantiateElements<Context, State, Types>> : Type extends TUnion<infer Types extends TSchema[]> ? TUnion<TInstantiateTypes<Context, State, Types>> : Type), WithImmutable extends TSchema = Immutable extends true ? TImmutable<Instantiated> : Instantiated, WithModifiers extends TSchema = TApplyReadonly<Modifiers[1], TApplyOptional<Modifiers[2], WithImmutable>>> = WithModifiers;
159
161
  export declare function InstantiateType<Context extends TProperties, State extends TState, Type extends TSchema>(context: Context, state: State, input: Type): TInstantiateType<Context, State, Type>;
160
162
  /** Instantiates computed schematics using the given context and type. */
161
- export type TInstantiate<Context extends TProperties, Type extends TSchema> = (TInstantiateType<Context, {
162
- callstack: [];
163
- }, Type>);
163
+ export type TInstantiate<Context extends TProperties, Type extends TSchema> = (TInstantiateType<Context, TState<[], []>, Type>);
164
164
  /** Instantiates computed schematics using the given context and type. */
165
165
  export declare function Instantiate<Context extends TProperties, Type extends TSchema>(context: Context, type: Type): TInstantiate<Context, Type>;
166
166
  export {};
@@ -65,6 +65,9 @@ import { UncapitalizeInstantiate } from './intrinsics/instantiate.mjs';
65
65
  import { UppercaseInstantiate } from './intrinsics/instantiate.mjs';
66
66
  import { WithInstantiate } from './with/instantiate.mjs';
67
67
  import { RestSpread } from './rest/index.mjs';
68
+ export function State(callstack, visited) {
69
+ return { callstack, visited };
70
+ }
68
71
  export function CanInstantiate(types) {
69
72
  return Guard.TakeLeft(types, (left, right) => IsRef(left)
70
73
  ? false
@@ -157,5 +160,5 @@ export function InstantiateType(context, state, input) {
157
160
  }
158
161
  /** Instantiates computed schematics using the given context and type. */
159
162
  export function Instantiate(context, type) {
160
- return InstantiateType(context, { callstack: [] }, type);
163
+ return InstantiateType(context, State([], []), type);
161
164
  }
@@ -3,16 +3,13 @@ import { type TProperties } from '../../types/properties.mjs';
3
3
  import { type TObject } from '../../types/object.mjs';
4
4
  import { type TEvaluateIntersect } from '../evaluate/evaluate.mjs';
5
5
  import { type TInterfaceDeferred } from '../../action/index.mjs';
6
- import { type TState, type TCanInstantiate } from '../instantiate.mjs';
6
+ import { type TCanInstantiate } from '../instantiate.mjs';
7
7
  import { type TInstantiateProperties } from '../instantiate.mjs';
8
8
  import { type TInstantiateTypes } from '../instantiate.mjs';
9
+ import { type TState } from '../instantiate.mjs';
9
10
  type TInterfaceOperation<Heritage extends TSchema[], Properties extends TProperties, Result extends TSchema = TEvaluateIntersect<[...Heritage, TObject<Properties>]>> = Result;
10
11
  export type TInterfaceAction<Heritage extends TSchema[], Properties extends TProperties, Result extends TSchema = TCanInstantiate<Heritage> extends true ? TInterfaceOperation<Heritage, Properties> : TInterfaceDeferred<Heritage, Properties>> = Result;
11
12
  export declare function InterfaceAction<Heritage extends TSchema[], Properties extends TProperties>(heritage: [...Heritage], properties: Properties, options: TSchemaOptions): TInterfaceAction<Heritage, Properties>;
12
- export type TInterfaceInstantiate<Context extends TProperties, State extends TState, Heritage extends TSchema[], Properties extends TProperties, InstantiatedHeritage extends TSchema[] = TInstantiateTypes<Context, {
13
- callstack: [];
14
- }, Heritage>, InstantiatedProperties extends TProperties = TInstantiateProperties<Context, {
15
- callstack: [];
16
- }, Properties>> = TInterfaceAction<InstantiatedHeritage, InstantiatedProperties>;
13
+ export type TInterfaceInstantiate<Context extends TProperties, State extends TState, Heritage extends TSchema[], Properties extends TProperties, InstantiatedHeritage extends TSchema[] = TInstantiateTypes<Context, State, Heritage>, InstantiatedProperties extends TProperties = TInstantiateProperties<Context, State, Properties>> = TInterfaceAction<InstantiatedHeritage, InstantiatedProperties>;
17
14
  export declare function InterfaceInstantiate<Context extends TProperties, State extends TState, Heritage extends TSchema[], Properties extends TProperties>(context: Context, state: State, heritage: [...Heritage], properties: Properties, options: TSchemaOptions): TInterfaceInstantiate<Context, State, Heritage, Properties>;
18
15
  export {};
@@ -9,9 +9,7 @@ type TInstantiateCyclics<Context extends TProperties, CyclicKeys extends string[
9
9
  [Key in Extract<keyof Context, CyclicKeys[number]>]: TInstantiateCyclic<Context, Key, Context[Key]>;
10
10
  }> = Result;
11
11
  type TInstantiateNonCyclics<Context extends TProperties, CyclicKeys extends string[], Result extends TProperties = {
12
- [Key in Exclude<keyof Context, CyclicKeys[number]>]: TInstantiateType<Context, {
13
- callstack: [];
14
- }, Context[Key]>;
12
+ [Key in Exclude<keyof Context, CyclicKeys[number]>]: TInstantiateType<Context, TState<[], []>, Context[Key]>;
15
13
  }> = Result;
16
14
  type TInstantiateModule<Context extends TProperties, CyclicCandidates extends string[] = TCyclicCandidates<Context>, InstantiatedCyclics extends TProperties = TInstantiateCyclics<Context, CyclicCandidates>, InstantiatedNonCyclics extends TProperties = TInstantiateNonCyclics<Context, CyclicCandidates>, InstantiatedModule extends TProperties = InstantiatedCyclics & InstantiatedNonCyclics> = {
17
15
  [Key in keyof InstantiatedModule]: InstantiatedModule[Key];
@@ -2,6 +2,7 @@
2
2
  // deno-fmt-ignore-file
3
3
  import { Guard } from '../../../guard/index.mjs';
4
4
  import { Memory } from '../../../system/memory/index.mjs';
5
+ import { State } from '../instantiate.mjs';
5
6
  // ------------------------------------------------------------------
6
7
  // Module: Instantiation Infrastructure
7
8
  // ------------------------------------------------------------------
@@ -17,7 +18,7 @@ function InstantiateCyclics(context, cyclicKeys) {
17
18
  function InstantiateNonCyclics(context, cyclicKeys) {
18
19
  const keys = Guard.Keys(context).filter(key => !cyclicKeys.includes(key));
19
20
  return keys.reduce((result, key) => {
20
- return { ...result, [key]: InstantiateType(context, { callstack: [] }, context[key]) };
21
+ return { ...result, [key]: InstantiateType(context, State([], []), context[key]) };
21
22
  }, {});
22
23
  }
23
24
  function InstantiateModule(context, options) {
@@ -3,11 +3,10 @@ import { type TProperties } from '../../types/properties.mjs';
3
3
  import { type TFunction } from '../../types/function.mjs';
4
4
  import { type TTuple } from '../../types/tuple.mjs';
5
5
  import { type TParametersDeferred } from '../../action/parameters.mjs';
6
- import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
6
+ import { type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs';
7
7
  import { type TInstantiateElements } from '../instantiate.mjs';
8
- type TParametersOperation<Type extends TSchema, Parameters extends TSchema[] = Type extends TFunction ? Type['parameters'] : [], InstantiatedParameters extends TSchema[] = TInstantiateElements<{}, {
9
- callstack: [];
10
- }, Parameters>, Result extends TSchema = TTuple<InstantiatedParameters>> = Result;
8
+ import { type TState } from '../instantiate.mjs';
9
+ type TParametersOperation<Type extends TSchema, Parameters extends TSchema[] = Type extends TFunction ? Type['parameters'] : [], InstantiatedParameters extends TSchema[] = TInstantiateElements<{}, TState<[], []>, Parameters>, Result extends TSchema = TTuple<InstantiatedParameters>> = Result;
11
10
  export type TParametersAction<Type extends TSchema, Result extends TSchema = TCanInstantiate<[Type]> extends true ? TParametersOperation<Type> : TParametersDeferred<Type>> = Result;
12
11
  export declare function ParametersAction<Type extends TSchema>(type: Type, options: TSchemaOptions): TParametersAction<Type>;
13
12
  export type TParametersInstantiate<Context extends TProperties, State extends TState, Type extends TSchema, InstantiatedType extends TSchema = TInstantiateType<Context, State, Type>> = TParametersAction<InstantiatedType>;
@@ -6,9 +6,10 @@ import { Tuple } from '../../types/tuple.mjs';
6
6
  import { ParametersDeferred } from '../../action/parameters.mjs';
7
7
  import { InstantiateType, CanInstantiate } from '../instantiate.mjs';
8
8
  import { InstantiateElements } from '../instantiate.mjs';
9
+ import { State } from '../instantiate.mjs';
9
10
  function ParametersOperation(type) {
10
11
  const parameters = IsFunction(type) ? type['parameters'] : [];
11
- const instantiatedParameters = InstantiateElements({}, { callstack: [] }, parameters);
12
+ const instantiatedParameters = InstantiateElements({}, State([], []), parameters);
12
13
  const result = Tuple(instantiatedParameters);
13
14
  return result;
14
15
  }
@@ -1,6 +1,6 @@
1
1
  import { type TProperties } from '../../types/properties.mjs';
2
- import { type TState, type TInstantiateType } from '../instantiate.mjs';
3
- import { type TCyclicCheck } from '../cyclic/check.mjs';
2
+ import { type TInstantiateType } from '../instantiate.mjs';
4
3
  import { type TRef } from '../../types/ref.mjs';
5
- export type TRefInstantiate<Context extends TProperties, State extends TState, Type extends TRef, Ref extends string> = (Ref extends keyof Context ? TCyclicCheck<[Ref], Context, Context[Ref]> extends true ? Type : TInstantiateType<Context, State, Context[Ref]> : Type);
4
+ import { type TState } from '../instantiate.mjs';
5
+ export type TRefInstantiate<Context extends TProperties, State extends TState, Type extends TRef, Ref extends string> = (Ref extends State['visited'][number] ? Type : Ref extends keyof Context ? TInstantiateType<Context, TState<State['callstack'], [...State['visited'], Ref]>, Context[Ref]> : Type);
6
6
  export declare function RefInstantiate<Context extends TProperties, State extends TState, Type extends TRef, Ref extends string>(context: Context, state: State, type: Type, ref: Ref): TRefInstantiate<Context, State, Type, Ref>;
@@ -1,10 +1,10 @@
1
1
  // deno-fmt-ignore-file
2
2
  import { InstantiateType } from '../instantiate.mjs';
3
- import { CyclicCheck } from '../cyclic/check.mjs';
3
+ import { State } from '../instantiate.mjs';
4
4
  export function RefInstantiate(context, state, type, ref) {
5
- return (ref in context
6
- ? CyclicCheck([ref], context, context[ref])
7
- ? type
8
- : InstantiateType(context, state, context[ref])
9
- : type);
5
+ return (state.visited.includes(ref)
6
+ ? type
7
+ : ref in context
8
+ ? InstantiateType(context, State(state['callstack'], [...state['visited'], ref]), context[ref])
9
+ : type);
10
10
  }
@@ -6,6 +6,7 @@ import { type TExtendsLeft } from './extends_left.mjs';
6
6
  import { type TExtendsRight } from './extends_right.mjs';
7
7
  import * as Result from './result.mjs';
8
8
  import { type TInstantiateElements } from '../engine/instantiate.mjs';
9
+ import { type TState } from '../engine/instantiate.mjs';
9
10
  import { type TTryRestInferable, type TTryInferable, type TInferable, type TInferTupleResult, type TInferUnionResult } from './inference.mjs';
10
11
  type TReverse<Types extends TSchema[], Result extends TSchema[] = []> = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TReverse<Right, [Left, ...Result]> : Result);
11
12
  type TApplyReverse<Types extends TSchema[], Reversed extends boolean> = Reversed extends true ? TReverse<Types> : Types;
@@ -14,12 +15,8 @@ type TElementsCompare<Inferred extends TProperties, Reversed extends boolean, Le
14
15
  type TElementsLeft<Inferred extends TProperties, Reversed extends boolean, LeftRest extends TSchema[], Right extends TSchema, RightRest extends TSchema[], Inferable extends TInferable | undefined = TTryRestInferable<Right>> = (Inferable extends TInferable ? TInferTupleResult<Inferred, Inferable['name'], TApplyReverse<LeftRest, Reversed>, Inferable['type']> : LeftRest extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TElementsCompare<Inferred, Reversed, Head, Tail, Right, RightRest> : Result.TExtendsFalse);
15
16
  type TElementsRight<Inferred extends TProperties, Reversed extends boolean, LeftRest extends TSchema[], RightRest extends TSchema[]> = (RightRest extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TElementsLeft<Inferred, Reversed, LeftRest, Head, Tail> : LeftRest['length'] extends 0 ? Result.TExtendsTrue<Inferred> : Result.TExtendsFalse);
16
17
  type TElements<Inferred extends TProperties, Reversed extends boolean, LeftRest extends TSchema[], RightRest extends TSchema[]> = TElementsRight<Inferred, Reversed, LeftRest, RightRest>;
17
- type TExtendsTupleToTuple<Inferred extends TProperties, Left extends TSchema[], Right extends TSchema[], InstantiatedRight extends TSchema[] = TInstantiateElements<Inferred, {
18
- callstack: [];
19
- }, Right>, Reversed extends boolean = TReversed<InstantiatedRight>> = TElements<Inferred, Reversed, TApplyReverse<Left, Reversed>, TApplyReverse<InstantiatedRight, Reversed>>;
18
+ type TExtendsTupleToTuple<Inferred extends TProperties, Left extends TSchema[], Right extends TSchema[], InstantiatedRight extends TSchema[] = TInstantiateElements<Inferred, TState<[], []>, Right>, Reversed extends boolean = TReversed<InstantiatedRight>> = TElements<Inferred, Reversed, TApplyReverse<Left, Reversed>, TApplyReverse<InstantiatedRight, Reversed>>;
20
19
  type TExtendsTupleToArray<Inferred extends TProperties, Left extends TSchema[], Right extends TSchema, Inferrable extends TInferable | undefined = TTryInferable<Right>> = (Inferrable extends TInferable ? TInferUnionResult<Inferred, Inferrable['name'], Left, Inferrable['type']> : Left extends [infer Head extends TSchema, ...infer Tail extends TSchema[]] ? TExtendsLeft<Inferred, Head, Right> extends Result.TExtendsTrueLike<infer Inferred extends TProperties> ? TExtendsTupleToArray<Inferred, Tail, Right> : Result.TExtendsFalse : Result.TExtendsTrue<Inferred>);
21
- export type TExtendsTuple<Inferred extends TProperties, Left extends TSchema[], Right extends TSchema, InstantiatedLeft extends TSchema[] = TInstantiateElements<Inferred, {
22
- callstack: [];
23
- }, Left>> = (Right extends TTuple<infer Types extends TSchema[]> ? TExtendsTupleToTuple<Inferred, InstantiatedLeft, Types> : Right extends TArray<infer Type extends TSchema> ? TExtendsTupleToArray<Inferred, InstantiatedLeft, Type> : TExtendsRight<Inferred, TTuple<InstantiatedLeft>, Right>);
20
+ export type TExtendsTuple<Inferred extends TProperties, Left extends TSchema[], Right extends TSchema, InstantiatedLeft extends TSchema[] = TInstantiateElements<Inferred, TState<[], []>, Left>> = (Right extends TTuple<infer Types extends TSchema[]> ? TExtendsTupleToTuple<Inferred, InstantiatedLeft, Types> : Right extends TArray<infer Type extends TSchema> ? TExtendsTupleToArray<Inferred, InstantiatedLeft, Type> : TExtendsRight<Inferred, TTuple<InstantiatedLeft>, Right>);
24
21
  export declare function ExtendsTuple<Inferred extends TProperties, Left extends TSchema[], Right extends TSchema>(inferred: Inferred, left: Left, right: Right): TExtendsTuple<Inferred, Left, Right>;
25
22
  export {};
@@ -7,6 +7,7 @@ import { ExtendsLeft } from './extends_left.mjs';
7
7
  import { ExtendsRight } from './extends_right.mjs';
8
8
  import * as Result from './result.mjs';
9
9
  import { InstantiateElements } from '../engine/instantiate.mjs';
10
+ import { State } from '../engine/instantiate.mjs';
10
11
  // ----------------------------------------------------------------------------
11
12
  // Inference
12
13
  // ----------------------------------------------------------------------------
@@ -42,7 +43,7 @@ function Elements(inferred, reversed, leftRest, rightRest) {
42
43
  return ElementsRight(inferred, reversed, leftRest, rightRest);
43
44
  }
44
45
  function ExtendsTupleToTuple(inferred, left, right) {
45
- const instantiatedRight = InstantiateElements(inferred, { callstack: [] }, right);
46
+ const instantiatedRight = InstantiateElements(inferred, State([], []), right);
46
47
  const reversed = Reversed(instantiatedRight);
47
48
  return Elements(inferred, reversed, ApplyReverse(left, reversed), ApplyReverse(instantiatedRight, reversed));
48
49
  }
@@ -53,7 +54,7 @@ function ExtendsTupleToArray(inferred, left, right) {
53
54
  : Guard.TakeLeft(left, (head, tail) => Result.Match(ExtendsLeft(inferred, head, right), inferred => ExtendsTupleToArray(inferred, tail, right), () => Result.ExtendsFalse()), () => Result.ExtendsTrue(inferred)));
54
55
  }
55
56
  export function ExtendsTuple(inferred, left, right) {
56
- const instantiatedLeft = InstantiateElements(inferred, { callstack: [] }, left);
57
+ const instantiatedLeft = InstantiateElements(inferred, State([], []), left);
57
58
  return (IsTuple(right) ? ExtendsTupleToTuple(inferred, instantiatedLeft, right.items) :
58
59
  IsArray(right) ? ExtendsTupleToArray(inferred, instantiatedLeft, right.items) :
59
60
  ExtendsRight(inferred, Tuple(instantiatedLeft), right));
@@ -1,12 +1,11 @@
1
1
  import type { TArrayOptions, TIntersectOptions, TNumberOptions, TObjectOptions, TStringOptions, TTupleOptions } from '../../type/index.mjs';
2
- import { type TInstantiateType } from '../engine/instantiate.mjs';
3
2
  import { type TNever, type TSchema, type TProperties } from '../types/index.mjs';
3
+ import { type TInstantiateType } from '../engine/instantiate.mjs';
4
+ import { type TState } from '../engine/instantiate.mjs';
4
5
  import * as Parser from './parser.mjs';
5
6
  export type TScriptOptions = TArrayOptions | TIntersectOptions | TNumberOptions | TObjectOptions | TStringOptions | TTupleOptions;
6
7
  /** Parses a string-based TypeScript type expression into a TypeBox type. */
7
- export type TScript<Context extends TProperties, Input extends string> = (Parser.TScript<Input> extends [infer Type extends TSchema, string] ? TInstantiateType<Context, {
8
- callstack: [];
9
- }, Type> : TNever);
8
+ export type TScript<Context extends TProperties, Input extends string> = (Parser.TScript<Input> extends [infer Type extends TSchema, string] ? TInstantiateType<Context, TState<[], []>, Type> : TNever);
10
9
  /** Parses a type from a TypeScript type expression */
11
10
  export declare function Script<Script extends string>(input: Script): TScript<{}, Script>;
12
11
  /** Parses a type from a TypeScript type expression */
@@ -3,8 +3,9 @@
3
3
  import { Arguments } from '../../system/arguments/index.mjs';
4
4
  import { Memory } from '../../system/memory/index.mjs';
5
5
  import { Guard } from '../../guard/index.mjs';
6
- import { InstantiateType } from '../engine/instantiate.mjs';
7
6
  import { Never } from '../types/index.mjs';
7
+ import { InstantiateType } from '../engine/instantiate.mjs';
8
+ import { State } from '../engine/instantiate.mjs';
8
9
  import * as Parser from './parser.mjs';
9
10
  /** Parses a type from a TypeScript type expression */
10
11
  export function Script(...args) {
@@ -15,7 +16,7 @@ export function Script(...args) {
15
16
  });
16
17
  const result = Parser.Script(input);
17
18
  const parsed = Guard.IsArray(result) && Guard.IsEqual(result.length, 2)
18
- ? InstantiateType(context, { callstack: [] }, result[0])
19
+ ? InstantiateType(context, State([], []), result[0])
19
20
  : Never();
20
21
  return Memory.Update(parsed, {}, options);
21
22
  }
@@ -1,16 +1,16 @@
1
1
  import { type TSchema } from './schema.mjs';
2
2
  import { type TCallInstantiate } from '../engine/call/instantiate.mjs';
3
+ import { type TState } from '../engine/instantiate.mjs';
3
4
  /** Represents a deferred generic Call */
4
5
  export interface TCall<Target extends TSchema = TSchema, Arguments extends TSchema[] = TSchema[]> extends TSchema {
5
6
  '~kind': 'Call';
7
+ type: 'call';
6
8
  target: Target;
7
9
  arguments: Arguments;
8
10
  }
9
11
  export type TCallConstruct<Target extends TSchema, Arguments extends TSchema[], Result extends TSchema = TCall<Target, Arguments>> = Result;
10
12
  export declare function CallConstruct<Target extends TSchema, Arguments extends TSchema[]>(target: Target, arguments_: [...Arguments]): TCallConstruct<Target, Arguments>;
11
13
  /** Creates a Call type. */
12
- export declare function Call<Target extends TSchema, Arguments extends TSchema[]>(target: Target, arguments_: [...Arguments]): TCallInstantiate<{}, {
13
- callstack: [];
14
- }, Target, Arguments>;
14
+ export declare function Call<Target extends TSchema, Arguments extends TSchema[]>(target: Target, arguments_: [...Arguments]): TCallInstantiate<{}, TState<[], []>, Target, Arguments>;
15
15
  /** Returns true if the given type is a TCall. */
16
16
  export declare function IsCall(value: unknown): value is TCall;
@@ -3,15 +3,16 @@
3
3
  import { Memory } from '../../system/memory/index.mjs';
4
4
  import { IsKind } from './schema.mjs';
5
5
  import { CallInstantiate } from '../engine/call/instantiate.mjs';
6
+ import { State } from '../engine/instantiate.mjs';
6
7
  export function CallConstruct(target, arguments_) {
7
- return Memory.Create({ ['~kind']: 'Call' }, { target, arguments: arguments_ }, {});
8
+ return Memory.Create({ ['~kind']: 'Call' }, { type: 'call', target, arguments: arguments_ }, {});
8
9
  }
9
10
  // ------------------------------------------------------------------
10
11
  // Factory
11
12
  // ------------------------------------------------------------------
12
13
  /** Creates a Call type. */
13
14
  export function Call(target, arguments_) {
14
- return CallInstantiate({}, { callstack: [] }, target, arguments_);
15
+ return CallInstantiate({}, State([], []), target, arguments_);
15
16
  }
16
17
  // ------------------------------------------------------------------
17
18
  // Guard
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "typebox",
3
3
  "description": "Json Schema Type Builder with Static Type Resolution for TypeScript",
4
- "version": "1.2.2",
4
+ "version": "1.2.3",
5
5
  "keywords": [
6
6
  "typescript",
7
7
  "jsonschema"
@@ -1256,9 +1256,9 @@
1256
1256
  "optional": true
1257
1257
  },
1258
1258
  "node_modules/typebox": {
1259
- "version": "1.2.2",
1260
- "resolved": "https://registry.npmjs.org/typebox/-/typebox-1.2.2.tgz",
1261
- "integrity": "sha512-0nqIJFL+baWoAEtwa0l/vfbfXg0+3gEhiWGnHuoIiivXjlk/TpxDddG0WER34CojKNpHi4ZXku8XGEz9H55b5Q==",
1259
+ "version": "1.2.3",
1260
+ "resolved": "https://registry.npmjs.org/typebox/-/typebox-1.2.3.tgz",
1261
+ "integrity": "sha512-EdFz/9FGvhQK2NmjZjSLri+nd5oMH+t/46/6lueEPbeHmS9WbWOz5IayPyLw0HHIyOWfo+wPrQGcAEQ+GsXc/w==",
1262
1262
  "license": "MIT"
1263
1263
  },
1264
1264
  "node_modules/typescript": {
@@ -16,7 +16,7 @@
16
16
 
17
17
  import { randomUUID } from "node:crypto";
18
18
  import { join, resolve } from "node:path";
19
- import type { ExtensionAPI, ExtensionCommandContext, ExtensionContext } from "@mariozechner/pi-coding-agent";
19
+ import type { ExtensionAPI, ExtensionCommandContext, ExtensionContext } from "@earendil-works/pi-coding-agent";
20
20
  import { Type } from "typebox";
21
21
  import { AutoClearManager } from "./auto-clear.js";
22
22
  import { ProcessTracker } from "./process-tracker.js";
@@ -6,8 +6,8 @@
6
6
  * own settings panel style.
7
7
  */
8
8
 
9
- import { getSettingsListTheme } from "@mariozechner/pi-coding-agent";
10
- import { Container, type SettingItem, SettingsList, Spacer, Text } from "@mariozechner/pi-tui";
9
+ import { getSettingsListTheme } from "@earendil-works/pi-coding-agent";
10
+ import { Container, type SettingItem, SettingsList, Spacer, Text } from "@earendil-works/pi-tui";
11
11
  import { saveTasksConfig, type TasksConfig } from "../tasks-config.js";
12
12
 
13
13
  // ── Types ───────────────────────────────────────────────────────────────────
@@ -8,7 +8,7 @@
8
8
  * ✳/✽ actively executing task (star spinner with activeForm text)
9
9
  */
10
10
 
11
- import { truncateToWidth } from "@mariozechner/pi-tui";
11
+ import { truncateToWidth } from "@earendil-works/pi-tui";
12
12
  import type { TaskStore } from "../task-store.js";
13
13
 
14
14
  // ---- Types ----
@@ -87,13 +87,13 @@ When continuing work, prioritize these items before expanding scope:
87
87
  ## Packaging rules
88
88
 
89
89
  - Core pi packages must stay aligned with DM package docs.
90
- - Keep `@mariozechner/pi-ai`, `@mariozechner/pi-coding-agent`, and `@mariozechner/pi-tui` in `peerDependencies` and `devDependencies` as needed for local development.
90
+ - Keep `@earendil-works/pi-ai`, `@earendil-works/pi-coding-agent`, and `@earendil-works/pi-tui` in `peerDependencies` and `devDependencies` as needed for local development.
91
91
  - Do not move pi core packages into normal runtime `dependencies` unless DM package docs require it.
92
92
  - Keep the published tarball limited to runtime files only.
93
93
 
94
94
  ## Type safety and architecture
95
95
 
96
- - Use public exports from `@mariozechner/pi-ai` and `@mariozechner/pi-coding-agent`.
96
+ - Use public exports from `@earendil-works/pi-ai` and `@earendil-works/pi-coding-agent`.
97
97
  - Prefer small focused modules with explicit exports over large shared files.
98
98
  - Keep durable config, runtime status, and UI wiring separate.
99
99
  - Normalize config on load and save.
@@ -28,7 +28,7 @@ vi.mock("./usage-client", () => ({
28
28
  fetchCodexUsage: mocks.fetchCodexUsage,
29
29
  }));
30
30
 
31
- vi.mock("@mariozechner/pi-ai/oauth", () => ({
31
+ vi.mock("@earendil-works/pi-ai/oauth", () => ({
32
32
  refreshOpenAICodexToken: mocks.refreshOpenAICodexToken,
33
33
  }));
34
34
 
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  type OAuthCredentials,
3
3
  refreshOpenAICodexToken,
4
- } from "@mariozechner/pi-ai/oauth";
4
+ } from "@earendil-works/pi-ai/oauth";
5
5
  import { loadImportedOpenAICodexAuth } from "./auth";
6
6
  import { isAccountAvailable, pickBestAccount } from "./selection";
7
7
  import {
@@ -1,5 +1,5 @@
1
1
  import { promises as fs } from "node:fs";
2
- import type { OAuthCredentials } from "@mariozechner/pi-ai/oauth";
2
+ import type { OAuthCredentials } from "@earendil-works/pi-ai/oauth";
3
3
  import { getAgentAuthPath } from "pi-provider-utils/agent-paths";
4
4
 
5
5
  const AUTH_FILE = getAgentAuthPath();
@@ -1,7 +1,7 @@
1
1
  import type {
2
2
  ExtensionAPI,
3
3
  ExtensionCommandContext,
4
- } from "@mariozechner/pi-coding-agent";
4
+ } from "@earendil-works/pi-coding-agent";
5
5
 
6
6
  export async function openLoginInBrowser(
7
7
  pi: ExtensionAPI,
@@ -1,11 +1,11 @@
1
1
  import { promises as fs, constants as fsConstants } from "node:fs";
2
2
  import path from "node:path";
3
- import { loginOpenAICodex } from "@mariozechner/pi-ai/oauth";
3
+ import { loginOpenAICodex } from "@earendil-works/pi-ai/oauth";
4
4
  import type {
5
5
  ExtensionAPI,
6
6
  ExtensionCommandContext,
7
- } from "@mariozechner/pi-coding-agent";
8
- import { DynamicBorder, rawKeyHint } from "@mariozechner/pi-coding-agent";
7
+ } from "@earendil-works/pi-coding-agent";
8
+ import { DynamicBorder, rawKeyHint } from "@earendil-works/pi-coding-agent";
9
9
  import {
10
10
  type AutocompleteItem,
11
11
  Container,
@@ -14,7 +14,7 @@ import {
14
14
  Spacer,
15
15
  truncateToWidth,
16
16
  visibleWidth,
17
- } from "@mariozechner/pi-tui";
17
+ } from "@earendil-works/pi-tui";
18
18
  import { getAgentSettingsPath } from "pi-provider-utils/agent-paths";
19
19
  import { normalizeUnknownError } from "pi-provider-utils/streams";
20
20
  import type { AccountManager } from "./account-manager";
@@ -1,8 +1,8 @@
1
- import type { Model } from "@mariozechner/pi-ai";
1
+ import type { Model } from "@earendil-works/pi-ai";
2
2
  import type {
3
3
  ExtensionAPI,
4
4
  ExtensionContext,
5
- } from "@mariozechner/pi-coding-agent";
5
+ } from "@earendil-works/pi-coding-agent";
6
6
  import { AccountManager } from "./account-manager";
7
7
  import { registerCommands } from "./commands";
8
8
  import { handleNewSessionSwitch, handleSessionStart } from "./hooks";
@@ -1,4 +1,4 @@
1
- import { getModels } from "@mariozechner/pi-ai";
1
+ import { mirrorProvider } from "pi-provider-utils/providers";
2
2
  import { beforeEach, describe, expect, it, vi } from "vitest";
3
3
 
4
4
  const syncMocks = vi.hoisted(() => ({
@@ -73,9 +73,11 @@ describe("isQuotaErrorMessage", () => {
73
73
 
74
74
  describe("getOpenAICodexMirror", () => {
75
75
  it("mirrors the openai-codex provider models exactly (metadata)", () => {
76
- const sourceModels = getModels("openai-codex");
76
+ const sourceMirror = mirrorProvider("openai-codex");
77
+ expect(sourceMirror).toBeTruthy();
78
+ const sourceModels = sourceMirror?.models ?? [];
77
79
  const expected = {
78
- baseUrl: sourceModels[0]?.baseUrl || "https://chatgpt.com/backend-api",
80
+ baseUrl: sourceMirror?.baseUrl || "https://chatgpt.com/backend-api",
79
81
  models: sourceModels.map((m) => ({
80
82
  id: m.id,
81
83
  name: m.name,
@@ -4,6 +4,15 @@
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
+ "../../pi-mono/packages/ai": {
8
+ "dev": true
9
+ },
10
+ "../../pi-mono/packages/coding-agent": {
11
+ "dev": true
12
+ },
13
+ "../../pi-mono/packages/tui": {
14
+ "dev": true
15
+ },
7
16
  "node_modules/pi-provider-utils": {
8
17
  "version": "0.0.0",
9
18
  "resolved": "https://registry.npmjs.org/pi-provider-utils/-/pi-provider-utils-0.0.0.tgz",